The purpose of this thesis is to present what basic functionalities have to be implemented in a computer game. I present realizations for these functionalities through developing an application.
The first part of this document presents some information collected from different sources, about implementing these functionalities. Also I compare some maze generation algorithms that can help to implement automatic field generation.
The second parts discuss planning choices and the details of the implementation. Within the field generation I present how I changed Kruskal’s algorithm to create larger rooms into the maze. Furthermore, I demonstrate what method I used to connect a newly generated maze to an already existing one.
The next part explains the details of the drawing mechanism. It also presents how to differentiate entities and how to draw them. I expound the structure of the Shader program. Furthermore, I discuss how I implemented the shadow map based shadow drawing.
I present the steps of the animation, the implementation of the physical simulation of the objects and the collision detection. I also describe how I separated the control by user and the control by computer implementations.
I expound some part of the game logic, inside that how I generate lava spots, enemies and mazes next to each other.
At last I evaluate my work in a few paragraphs and I describe some development ideas at the end of the dissertation.