Skip to content

sgowen/GowEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GowEngine

An easy to use, easy to read, no nonsense LGPL 2.1 licensed portable C++ 2D game engine

Demo

Demo

Features

  • 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?

Supported Platforms

  • Android
  • iOS
  • Linux
  • macOS
  • Windows

Dependencies

  • 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)

Building

Roadmap

  • 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)

About

An easy to use, easy to read, no nonsense portable C++ 2D game engine, how bout that?

Resources

License

Stars

Watchers

Forks

Packages

No packages published