A work in progress!
game engine for 2d top down games written in c++
- uses openGL for rendering, GLFW for windowing and input
- other libraries used: rapidjson, stb_image and freetype
- loads json maps generated by tiled level editor
- embeds lua using the standard lua C API
- all gameplay code written in lua - see scripts folder for examples and GameObject.cpp / GameObject.h for lua wrapped functions
- unity style scripting of game objects (see ScriptableGameObject class)
- main loop, level loading, rendering, collision detection, creating and destroying game objects happens in C++
- features different rendering for UI overlay, including text rendering using freetype
- classic JRPG message box system, choose box position, size, text size, font and background box sprite
- automatically split arbitrary lengths of string into a series of message boxes
To Do:
- make an in-engine level editor using imgui
- add sound - IN PROGRESS
- add particle effects system
- add screen shake effect
- add shader based visual effects
- add lua scripting to the ui overlay - IN PROGRESS
- add cutscene mode - lua coroutine scriptable cutscenes