https://github.com/jenjinengine/exgine
Experimental game engine using C++, Lua and OpenGL
https://github.com/jenjinengine/exgine
cpp custom-engine game-engine game-engine-2d hot-reload hot-reloading live live-reload lua
Last synced: 6 months ago
JSON representation
Experimental game engine using C++, Lua and OpenGL
- Host: GitHub
- URL: https://github.com/jenjinengine/exgine
- Owner: JenjinEngine
- Created: 2024-11-10T16:41:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-28T10:24:38.000Z (over 1 year ago)
- Last Synced: 2025-01-26T15:29:00.321Z (about 1 year ago)
- Topics: cpp, custom-engine, game-engine, game-engine-2d, hot-reload, hot-reloading, live, live-reload, lua
- Language: C++
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Exgine
This is an experimental game engine that is simply used to test out new workflows.
## API rules
- All API functions/methods are in PascalCase.
- The verb `Draw` should be used over `Render` for functions that draw to the screen.
- All APIs that take in strings should be sanitized if accessible from Lua.
- All APIs that take strings should be `const std::string&` to allow Lua usage and R-Value strings.
- Every part of the engine should allow adaptation at a later stage.
- Engine renderring APIs should *never* manage the window state, e.g. clearing the screen, swapping buffers, polling events, etc.
- References are to be used over pointers where possible.
- All pointers should be `std::shared_ptr` unless there is a good reason not to.
- Fields should be camelCase.
- GLAD and the Window must be setup externally to the engine.