[ Project Completion Date : 2022 - 02 - 10 ]
Join the adventure in โSo Long,โ my own take on a 2D maze exploration game developed in C. In this project, the player take on the role of a character whose mission is to gather items throughout the maze and safely reach the exit, all while avoiding enemy patrols that add an extra layer of challenge.
- Player Control: Navigate your character with the W, A, S, and D keys, ensuring each move avoids the collision of walls.
- Interactive Gameplay: With every move, the total count is displayed in the shell, keeping track of the playerโs progress.
- Graphical View: Designed with a top-down perspective, the game conveys a comprehensive view of the environment. ๐
- Smooth Window Management: Built with the MiniLibX library, the game provides a seamless windowed experience that responds gracefully to typical desktop interactions. ๐ฅ๏ธ
- Graceful Termination: Exiting the game is as simple as pressing the ESC key or clicking the windowโs close button, thanks to thorough event handling. ๐ช
- Strategic Level Layouts: Gameplay unfolds on maps composed of walls (1), collectibles ยฉ, an exit (E), and empty spaces (0), necessitating strategic movement to complete the level.
- Robust Map Validation: Each map is thoroughly checked to ensure it is rectangular and enclosed by walls. Any map errors result in clean game termination with a detailed error message. ๐ง
- Dynamic Threats: The addition of enemy patrols requires players to think tactically as they move through the map, increasing the stakes and excitement. โ๏ธ
- Sprite Animation: Visual appeal is heightened with sprite animations, bringing the gameโs characters and enemies to life. ๐ญ
- On-Screen Movements Counter: The number of movements is displayed directly in the game window, making for an immersive interface. ๐
โSo Longโ is a showcase of my skills in creating engaging gameplay experiences, clever level design, and mastering the fundamental aspects of Cโs graphical programming capabilities. This game was developed with the dual goals of challenging the player and demonstrating the potent capability of simple, well-executed code. ๐๐น๏ธ