- To introduce the concepts of the Computer Graphics.
- To develop a program by using OpenGL.
- To gain experience in writing computer graphics applications, with assignment focusing on a two dimensional platform game.
- To learn to prepare programs by using OpenGL.
- To learn the concepts of the 2D transformations, viewing and interactive control using OpenGL.
1) Game Design (Objective, User Interface, Start screen, End screen).
2) Motion and control of the user controlled character(s) and/or objects.
3) Collision detection and Response between the objects/characters in the environment.
4) Graphical Quality of environment (textures, sprites, background,).
5) Novel Concepts.
Description of assignment:
The game must enable the user to control (a) character(s) that move(s) on multiple platforms.
The following features are essential:
- The game starts at ground level;
- Have at least two levels above ground level;
- Each level has to be made up of at least two distinct (separated) platforms unless interlaced levels (zigzag from left to right) are used;
- The target position of the platform has to be at the highest level;
- The character(s) can jump from one level to the next both horizontally and vertically;
- The character can collide with the platforms from all possible directions, i.e. it stays on the platform (obviously) but can also hit its head when jumping upwards;
- A clear objective and scoring system needs to be provided;
- The world must be larger than the screen size which means the background (world) must scroll both horizontally and vertically if the character(s) threaten to go off the screen out of the user’s view.
The following features are optional but advantageous:
- The character is animated when walking or jumping (that is, use of different sprites/textures for different motions);
- NPC’s (non player characters) try to stop the player’s character(s) from reaching its/their target;
- The character (s) can eliminate NPC’s;
- Have character offspring which follows a main character (e.g. SPROGS ex);
- Have moving (transition) platforms to travel from one fixed platform to another at the same (or even adjacent) level(s).
- Use the IK code to create an enemy NPC such as a spider, octopus, etc.
- Any other clever ideas.