Real-time C++ engine architecture for games and interactivity
First scratches began with a Games in Windows course, but it all started in 2012 when me and a friend wanted to develop an RTS game. However, we didn't want to just make a game, but also an architecture around it: a game engine. After the summer of 2012 I continued using what we had started on in courses at school and developing it further in my spare time.
During the spring of 2014 I used it in my specialization project at school where the Network solution was re-worked a bit.
Later on during spring/summer of 2014 it was used again as the basis for my thesis work at Bosch Sensortec, and has been used since for various demonstrations of image-based interactivity.
- SpaceShooter2D, a project that has been active for 1~2 years now.
- MORPG, a Multi-player RPG project idea that has been itching in the back of my head for some time now.
To be updated.
Besides those mentioned above (SpaceRace for networking, IPM for interactive projection mapping), I played around with making a music-player, worked on a side-scroller-jumping game which never really took off, a Tetris game, and a re-work of an old school project called TIFS (The invader from space).
I just recently began branching of the old projects into own git repos and updating the CMake code so that it is easy to work on several projects simultaneously, so I might post more updates shortly.
Free for educational and private purposes. Usage for commercial purposes can be negotiated. If you have anything to contribute, send me a PM.
- Clone this git. Clone or create a project-specific directory of code.
- Run CMake with the /engine/ dir as source, /projectName-out/ as binary dir. E.g. D:/git/engine and D:/git/engine/morpg-out
- In LIBS_DIR, specify directory to headers and binaries for external depdendencies. E.g. D:/libs. If you need the dependencies installed, you can try marking the INSTALL_DEPENDENCIES and CMake may try to download and unpack some of them, but you may need to compile them yourself or download binaries as needed.
- Choose which dependencies you want. Many can be omitted as they were mostly experimental.
- in PROJ_SPEC_DIR enter the path to the source code for your project. E.g. D:/git/engine-games/MORPG
More info on dependencies later.