66 lines
1.5 KiB
Markdown
66 lines
1.5 KiB
Markdown
# Personal Game Engine
|
|
|
|
A modular, event driven 2D game engine, built from scratch to learn engine architecture and low-level graphics programming.
|
|
|
|
Supports sprite-based animation, Lua scripting, XML-driven definitions and Tiled map creation.
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
- Event-based animation and sound system
|
|
- Animation and tile-sets supported by texture atlases
|
|
- Map creation and collision map support in Tiled map editor
|
|
- Component-based entity structure
|
|
- Basic audio engine integration via OpenAL (XML definitions)
|
|
- Basic physics system
|
|
- Lua scripted enemy and weapon behavior
|
|
|
|
---
|
|
|
|
## Current Status
|
|
|
|
**Work in Progress** - This project is still under active development, I am currently cleaning up my resource management system for better ease of use for future users of this engine.
|
|
|
|
---
|
|
|
|
## Dependencies
|
|
|
|
- SDL2, SDL2_image
|
|
- OpenGL 3.3
|
|
- sol2 (Lua binding)
|
|
- TinyXML2
|
|
- OpenAL
|
|
- Freetype
|
|
- GLM
|
|
- pkg-config
|
|
- CMake
|
|
|
|
## Build Instructions
|
|
|
|
1. Clone the repo (git.wienermeister.net/snakert12345/yupplemayham.git)
|
|
2. Install list of dependencies. Ensure they're available via pkg-config
|
|
3. Build with CMake
|
|
|
|
```bash
|
|
git clone https://git.wienermeister.net/snakert12345/yupplemayham.git
|
|
cd yupplemayham
|
|
mkdir build && cd build
|
|
cmake ..
|
|
make
|
|
```
|
|
|
|
---
|
|
|
|
## Screenshot
|
|
|
|

|
|
|
|
---
|
|
|
|
## Roadmap
|
|
|
|
- Save/Load system
|
|
- Modular and scalable menu system
|
|
- In-game dialog and conversation systems
|
|
- Expanded combat system
|