This project is a custom 2D game engine built in the D programming language designed to support the development of simple platformer-style games. The engine includes a scene tree architecture for organizing game objects, a level system that allows designers to construct new playable environments, and an animation pipeline that reads sprite sheets and animation metadata from JSON files. Using these systems, developers can create levels where a player-controlled character navigates the environment, collects coins, avoids enemies, and reaches a final objective (a star) to complete the level. The engine also supports customizable enemy placement and movement patterns, enabling varied gameplay through scripted behaviors and flexible level design.
My contributions focused on gameplay systems and enemy interactions. I designed and implemented the enemy factory responsible for instantiating different enemy types within levels, wrote the enemy behavior scripts that control movement patterns and interactions with the player, and developed the collision handling features that enable enemies and the player to interact with the environment and each other. I also contributed to integrating the animation system by helping implement support for loading sprite animations from JSON-defined sprite sheets, allowing animated assets to be easily added and configured within the engine.
