An easy to use, easy to read, no nonsense LGPL 2.1 licensed portable C++ 2D game engine
- Written in portable C++17
- Graphics rendered with OpenGL 2.0 and OpenGL ES 2.0
- Audio rendered with OpenAL
- Real-time multiplayer networking with UDP sockets
- Data Driven Architecture with JSON and Lua
- Homegrown physics and Box2D physics
- All LGPL licensed dependencies are compiled into shared libraries that can be swapped out by end users, cuz that's how that's supposed to work, right?
- Android
- iOS
- Linux
- macOS
- Windows
- bin_to_c: converts files to binary for embedding inside GowEngine
- box2d: handles physics (optional)
- file-compat: implements fopen for Android and Windows
- glfm: creates window and OpenGL context and handles input on Android and iOS
- glfw: creates window and OpenGL context and handles input on Linux, macOS, and Windows
- imgui: handles user interface
- ios-cmake: handles cmake stuff for iOS and macOS
- libsndfile: loads sounds
- Lua: convenient CMake project for buidling Lua 5.4.6
- openal-soft: renders audio
- rapidjson: loads json
- sol2: an incredible C++ Lua API wrapper
- stb: loads textures
- steamworks_sdk: integrates with Steam (optional)
- src/platform/android: Simply open this folder in Android Studio to compile/run on an Android device
- src/platform/apple: Open with Xcode to compile/run on a Mac or an iPhone
- src/platform/linux: Open with Code::Blocks to compile/run in a Linux environment
- src/platform/windows: Open with Visual Studio (currently Version 17.1.5) to compile/run on Windows
- Implement a memory tracker via logging calls to malloc with placement new operator (currently no memory leaks, but if ever I encounter them again, I need to be better equipped for that battle)
