Screenshots - MATF-RG19/RG33-bally-o GitHub Wiki
First screenshot:
- Added helper toggle that draws 3d coordinate system and a xz plane for orientation
- Used glutSolidSphere to create player (later switched to parametrization with vectors and normals)
- Added depth buffering for our program
- Registered reshape, display, keyboard and timer callbacks
Second screenshot:
- Drew ball with parametrization using vectors and normals
- Switched background color to teal
- Added basic physics with gravity on x and y axis
- Added light resources
- Repositioned camera
Third screenshot:
Since nothing has been changed visual-wise, its the same as second.
- Refactored all of the code to multiple source and header files (organized data into structures, added some game and player state structures, initialize functions, most of the basic shapes (cube and sphere) are placed in header.c).
- Added some init functions for our structure type variables.
- Added simple collision detection with floor that stops the animation (player death).
- Tuned some animations.
- Added settings header for displaying game info like which keys have been pushed, used glutKeyboardUp for registering when we let go of the keys; Player info was added so that we can see basic information about player (like position, velocity, animation parameter and state)
Fourth screenshot:
- Added optimized cube drawing (with glVertexPointer and glPolygon), instead of using glutSolidCube, that will be used as a tile for our map
- Placed player position on top of our tile
Fifth screenshot:
- Set seed for pseudo-random numbers, so that we can draw map differently each time we start the game
- Tile sizes are not smaller than 5 cubes, and can be only between y <- [-500, 500]
- Used quick sort to sort tile positions so that we can get the tile closest to (0,0,0)
- Added collision detection for player and tiles.
Sample video can be seen here.