So yesterday I submitted the final assignment for game engine class. I made a arknoid-like game which has a ball bouncing between paddles, walls and bricks.
From the start of the semester, I gradually increase the modules in the engine. My engine currently have 4 sub-systems. World system keeps track of the objects in the game, it act as the interface to the game that game can get certain objects by using FindByName helpers. It also has some initialization and end up cleaning functions. Collision system comes next. It deal with any possible collision between two objects using collision type and collision mask. It will find all collisions in frame time and process them, then update game depending on the result returned. Here the third system called physical system comes. It has physical update functions which is called by collision system to update the game for a certain amount of time. If there’s no collision in a certain frame, update function will direction advance the game into next frame. Renderer system stores textures for objects as well as keeping a list of renderable objects. It’s responsible for putting objects on the screen. There’s a final fifth major system in behind. That’s messaging system. It utilize function callbacks to call certain responders who have registered for a certain message when the message has been sent.
My engine works pretty well, and I hope it could get better after taking the AI class next semester.