Roguelike prototype in Python: AI and combat logic
Demonstration of a working prototype of a Roguelike game created in pure Python using the Pygame library. The focus of the project is on a clean modular architecture, collision handling, and programming various behavioral models of artificial intelligence (AI) for enemies.
In the top left corner, a turn-based health system is implemented:
• Red square — full slot (2 HP).
• White square — half health (1 HP after hit).
• Black square — empty slot.
Player mechanics:
• Smooth 8-directional movement (WASD + diagonals).
• Shooting in cardinal directions (arrow keys) with the ability to fire on the move (the architectural base is set up for a future modular system for modifying shots through items).
• Complete interaction matrix (player — obstacles — enemies).
Implemented classes and enemy AI (each has unique state logic):
• Green Slime: complex splitting mechanic upon death (Large -> 2 Medium -> 2 Small) with changes in speed and health characteristics.
• Charger: AI with a charging phase, a ram attack, and a mechanic for increased damage when knocked back from a wall.
• Cat: passive AI with a trigger for aggression zone and returning to a calm state.
• Dog: permanent pursuer with no visibility radius limit.
• Shooter: Shoots at the player; if it hits its (enemy), it reduces their HP by 1 if they do not have full HP.
• Jumper: AI with a chaotic movement pattern and a mechanic for firing projectiles in 4 directions upon landing.
• Ghost: collision ignoring algorithm (passing through walls).
The project demonstrates skills in creating a complex game backend, designing state machines for AI, and optimizing the game loop.
In the top left corner, a turn-based health system is implemented:
• Red square — full slot (2 HP).
• White square — half health (1 HP after hit).
• Black square — empty slot.
Player mechanics:
• Smooth 8-directional movement (WASD + diagonals).
• Shooting in cardinal directions (arrow keys) with the ability to fire on the move (the architectural base is set up for a future modular system for modifying shots through items).
• Complete interaction matrix (player — obstacles — enemies).
Implemented classes and enemy AI (each has unique state logic):
• Green Slime: complex splitting mechanic upon death (Large -> 2 Medium -> 2 Small) with changes in speed and health characteristics.
• Charger: AI with a charging phase, a ram attack, and a mechanic for increased damage when knocked back from a wall.
• Cat: passive AI with a trigger for aggression zone and returning to a calm state.
• Dog: permanent pursuer with no visibility radius limit.
• Shooter: Shoots at the player; if it hits its (enemy), it reduces their HP by 1 if they do not have full HP.
• Jumper: AI with a chaotic movement pattern and a mechanic for firing projectiles in 4 directions upon landing.
• Ghost: collision ignoring algorithm (passing through walls).
The project demonstrates skills in creating a complex game backend, designing state machines for AI, and optimizing the game loop.