The Tinker Engine
A simple tank game I created to test the engine.
Environment Tools
Terrain generation and navigation.
Terrain, directional light, fog, and a sky-box combined!
User Friendly Lighting/Shaders
Point-lights, spotlights, and directional lights in action.
Bullets have a light that follows their position.
The player has a customized spotlight.
Friendly setup for the scene's skylight, fog, and environmental elements.
Collision Testing
The engine manages the collision test between various user-selected volumes including b spheres, axis-aligned bounding boxes, and oriented bounding boxes.
Tiered test with an outer and inner volume.
Tiered test of two different object types.
1
3
5
2
4
Each object type has its own group volume. Each object has an outer volume and an inner volume. The tiered test is able to use these volumes to prevent unnecessary testing.
Objects can also collide with the terrain!
The engine can have multiple user defined scenes and can swap between them cleanly.
Scenes/Levels
Main Menu Scene
Level 2 Scene
Level 1 Scene
Level 3 Scene
Game Objects
Tinker Game Objects are the actors in the scene. They have various callbacks as seen in this header file. The processes to trigger these callbacks are automated by the engine.
Collision callbacks when this object collides with a specific type of object.
The basic update and draw callbacks.
Game Objects can request timed callback, or an alarm, which will trigger after a specified time.
Input is processed efficiently and only checks registered keys. The user can register for key pressed and released events on any key.
Objects have a lifetime in the scene. They can enter and exit the scene with these methods.