Excessive Overkill
I made this around 2011 I think, as a way to teach myself C and OpenGL.
It's a hacked-together "game engine", well, something like it, anyway.. Unfinished, lacking in features, but usable enough for playing around with...
No serious development has taken place here. The video is from back when the engine would load gamecode dynamically (like quake), I've abandoned this idea, so it can't do that anymore.
Download
Source for Linux+Windows (engine): https://github.com/DusteDdk/excessiveOverkill
Source for Linux+Windows (editor): https://github.com/DusteDdk/eoEdit
Documentation
Not that much, have a look at the source for the games, i've made with it.
Features
- Load and play audio files in stereo.
- Load 3D models from obj files, use properties from mtl files, with texture and uvmap.
- Per-object selection of rendermode: Clay, Wireframe or Material.
- Scene-graph with top-level "world", game-objects can be children of the world or other game-objects.
- Particle systems
- (Very bad, but fairly fast) 3D box collision detection.
- Input handlers are registered by client-code and become available for keybinding via console. (keydown/keyup/keyhold/mousemove)
- Functions and variables can be registered as console-variables so they can be read/set via console (int, float, float[3], string).
- Camera concept, which support simple recording/playback of movements (for "handheld camera" kind of cutscenes), also supports mouselook.
- 2D GUI overlay with mouse-cursor and widgets: buttons, labels, icons/images, windows, multiple root-windows supported (one displayed at a time), windows can be inside windows.
- Support for picking 3D objects with the 2D mouse cursor (color-picking) with adjustable resolution.
- Pause
- Sprites
- Game-Objects have "think" and "touch" callbacks (called per-frame and when colliding respectively)