TimTam Logo

TimTam Engine

GitHub Repository

Tim Tam Engine

Welcome back, today we become insane.

Interesting Reference on the subject

This is going to be in the style of a research paper instead of your traditional blog, since I need to write down quite a lot of information, so buckle up and enjoy the ride.

Ok, so the format will be as follows: Rather than showing you the full implementation, I will explain the thought processes & show you how I go about resolving this madness.

I will try to explain as best I can and put as many resources as possible

It's just a Theory

First, what are we trying to do ?

"A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term "software engine" used more widely in the software industry."

source.

"core" requirements for a basic 2D engine :

- Common elements (vector/point, matrix, quat, color, etc...)

- Collision system

- Input handling

- Window management framework

- Graphics system (see below)

- File system

- Audio system

For the graphics part :

- Textured/untextured quads (with/without lighting)

- Polylines(curves)/beams (and a corresponding editor)

- Debug lines/boxes/circles/grids/logger

- Text rendering

- Particle systems

- Streaks

That would be the absolute minimum a game would need. but we also need :

- World/scene management (level editor)

- UI (imgui)

- Models/Entities/Agents

- Pathfinding

- Animation

- Event systems

Bye, Bye ... I'm gonna go sleep now.

Previous Entries Next