A cross-platform 2D game engine used in Octopus City Blues. Octopus Engine is an OpenGL engine written in C++17 and originally based on the XD framework. It was developed to meet the needs of Octopus City Blues in particular, but it might be useful for other types of games.
- Partial support for TMX maps (Custom Properties).
- Lua scripting features (Reference - LuaLS Annotations).
- A flexible XML sprite format. See SpriteEditor.
- Tile-based collision detection.
- Customizable gamepad and keyboard input.
- Player movement and interaction with various object types.
- HarfBuzz complex font-shaping support.
- Support for custom GLSL shaders.
- A Qt-based editor.
See LICENSE.text file.
Dependencies:
- FreeType
- HarfBuzz
- Lua 5.2
- Boost - lexical cast, string algorithms and unit testing
- FMOD Studio Programmer's API
- GLFW 3.3
- GLEW
- PhysicsFS
- Qt 5.6 - Optional, only needed for the editor
- Steamworks SDK - Optional, only when building for Steam
There are project files for Visual Studio 2022. You'll need to download and build the dependencies and make sure they're visible for VS.
On macOS or Linux use CMake 3.10 or later. For Linux in particular, you need g++ 7 or later. See linux_build.md for more details.