## Project Description
These projects involve designing procedurally generated levels, implementing various gameplay mechanics, and ensuring a compelling player experience. The games are characterized by permadeath, random level generation, and challenging gameplay, typical of the roguelike genre.
## Technologies Used
- **Unity**: The primary game engine used for development.
- **C#**: The programming language used for scripting in Unity.
- **Unity Tilemap**: For creating and managing 2D game environments.
- **Photoshop/GIMP**: For designing game textures and sprites.
## Challenges Faced
### 1. **Gameplay Balance**
- **Issue**: Ensuring the game is challenging yet fair, with a well-balanced difficulty curve.
- **Solution**: Iteratively testing and adjusting enemy AI, player abilities, and item distributions to maintain a balanced gameplay experience.
### 2. **Player Experience**
- **Issue**: Keeping the gameplay experience engaging and immersive.
- **Solution**: Implementing dynamic lighting, sound effects, and responsive controls to enhance the player’s immersion and enjoyment.
### 3. **Performance Optimization**
- **Issue**: Maintaining high performance and smooth gameplay, even with procedurally generated content.
- **Solution**: Optimizing scripts, managing memory efficiently, and using Unity’s profiling tools to identify and resolve performance bottlenecks.
- **Procedural Level Generation**: Creating varied and dynamic dungeons for each playthrough.
- **Permadeath Mechanics**: Introducing a high-stakes environment where players must restart upon death.
- **Complex Enemy AI**: Implementing sophisticated enemy behaviors to challenge players.
- **Item and Ability System**: Providing a wide range of items and abilities to enhance gameplay.
## Domain Knowledge Requirements
In addition to game development expertise, the project required specialized knowledge in the following areas:
- **Procedural Content Generation**: Understanding algorithms and techniques for creating dynamic and random game content.
- **Game Design Principles**: Knowledge of designing engaging and balanced game mechanics and systems.
- **AI Programming**: Skills in developing intelligent and challenging enemy behaviors.
- **2D Art and Animation**: Proficiency in creating and animating 2D sprites and game assets.
- **Performance Optimization**: Techniques for optimizing game performance and ensuring smooth gameplay.