top of page

The Tinker Engine

A simple tank game I created to test the engine.

Environment Tools

Terrain generation and navigation.

terrainbe.PNG
moon.PNG
fog3.PNG
fog2.PNG

Terrain, directional light, fog, and a sky-box combined!

User Friendly Lighting/Shaders

Point-lights, spotlights, and directional lights in action.

lightbullet.PNG

Bullets have a light that follows their position.

flashlight.PNG

The player has a customized spotlight.

fog1.PNG
setup2.PNG

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.

not collide.PNG
colide.PNG

Tiered test with an outer and inner volume.

Tiered test of two different object types.

step1.PNG
1
step3.PNG
3
step5.PNG
5
step2.PNG
2
step4.PNG
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

menu.PNG

Level 2 Scene

moon.PNG
flash.PNG

Level 1 Scene

Level 3 Scene

fog2.PNG
Game Objects
gameobject.PNG

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.

bottom of page