An amateur 2D platformer game engine using zig, raylib and an ECS.
Note
This is not a professional (not even a semi-professional) game engine. The main goal of this project is for me to learn game development and make a simple 2D platformer with it.
- AABB collision detection
- Jump movement
- Side scrolling
- Shooting/projectiles
- Sprites/textures/animations
- Enemies/AI
- Sound/music
- Implement sprite sheet data loader
- Collision detection/response:
- When the player moves upwards into an object, that is falling downwards (due to gravity), the collision is tunnelled and the player can move upwards through the object.
- Sliding against a wall of multiple collider objects will result in the player being stuck to the wall and not moving once the edge of a collider object is reached.
- Gravity is too strong on higher frame rates.
Assets used the test game.
| File | Description | Source | License |
|---|---|---|---|
./assets/background.png |
Industrial background sprite from Eragoth's tiny 2D platform shooter assets | Eragoth's tiny 2D platform shooter assets | unknown |
./assets/character.atlas.png |
A slightly modified version of the original sprite sheet from Dylan Falconer | Falconerd/games-from-scratch | unknown |
Resources, links and respositories I used and learned from during development.