Back to projects
RogueLike Turnbased Game

RogueLike Turnbased Game

M.M.Faraji / January 28, 2025

🗡️ Roguelike Adventure: Developing a 2D Roguelike Game with Unity

Embarking on the journey of game development, I undertook the challenge of creating a 2D roguelike game using Unity. This project was guided by Unity's [2D Roguelike Tutorial][1], which provided a comprehensive roadmap for building a tile-based, procedurally generated dungeon crawler.

🛠️ Project Overview

The objective was to develop a turn-based roguelike game featuring:

  • Procedurally Generated Levels: Each playthrough presents a unique dungeon layout, enhancing replayability.
  • Tile-Based Movement: Both the player and enemies navigate the dungeon on a grid, moving one tile per turn.
  • Resource Management: Players must collect food to maintain health, adding a strategic layer to exploration.
  • Enemy AI: Implemented simple artificial intelligence for enemies to chase the player, increasing game difficulty.

🧩 Key Features Implemented

1. Procedural Level Generation

Utilizing algorithms to randomly generate dungeon layouts, ensuring that each game session offers a distinct experience. This involved:

  • Random Placement of Walls and Obstacles: Creating varied pathways and challenges.
  • Strategic Item Placement: Distributing food and exit points to encourage exploration.

2. Turn-Based Mechanics

Designed a system where:

  • Player and Enemies Take Turns: Actions occur in a sequential order, allowing for thoughtful decision-making.
  • Movement and Actions Are Quantized: Each move or action corresponds to a single turn, maintaining a clear game rhythm.

3. Hunger System

Introduced a hunger mechanic where:

  • Food Items Restore Health: Players must find food to survive, adding urgency to exploration.
  • Depleting Hunger Leads to Game Over: Encourages efficient navigation and resource management.

4. Enemy Behavior

Developed enemy characters with basic AI to:

  • Chase the Player: Enemies move towards the player's position when within a certain range.
  • Add Challenge: Forces players to strategize movements to avoid or confront enemies.

5. Audio Integration

Enhanced the gaming experience by adding:

  • Background Music: Sets the tone and atmosphere of the dungeon.
  • Sound Effects: Provides feedback for player actions and events, such as collecting items or enemy encounters.

🎮 Personal Achievements

Through this project, I have:

  • Deepened Understanding of Procedural Generation: Learned techniques for creating dynamic and unpredictable game environments.
  • Enhanced C# Programming Skills: Applied complex programming concepts to manage game mechanics and AI behaviors.
  • Improved Problem-Solving Abilities: Tackled challenges related to game design and implementation, leading to more efficient coding practices.

🚀 Next Steps

Building upon this foundation, I aim to:

  • Expand Game Mechanics: Introduce new features such as diverse enemy types, traps, and power-ups.
  • Refine AI Systems: Develop more sophisticated enemy behaviors to increase game depth.
  • Enhance Visuals and Audio: Improve graphical assets and incorporate immersive soundscapes to enrich player experience.

You can check out this game's code on my GitHub