Final Report – Trult

Sasha Sterling

Nithin Reddy

15-493

 

  1. Overview:
    1. A combination of Super Mario Brothers and PacMan gameplay, with a Diablo-type layout design. Players cannot lose or die, but rather have a timer of points which ticks down and reduces when hit by an enemy; it increases when the player successful hover-lands on an enemy. The ultimate purpose is of course, to get a level high score (Which is recorded and saved between game sessions along with an initial entry system for prestige and recognition).
    2. Features: Simple Level Scripting System; any end user can easily create levels for the game using any simple paint program. Powerups, such that your ship goes faster when you get them. Strategic point trade-off system where the player must decide between ignoring enemies and finishing the level and risky losing points to getting hit, or destroying enemies at expense of time (which are points). Maze-like layout also forces player to careful examine best route to finish.
    3. Movement: Arrow keys move Trult’s hovercraft. Spacebar executes a hoverlaunch.

 

  1. Content:
    1. Code: The code was originally based off the code from lab 2.  It followed that style, but other than main and the Makefile, everything was significantly changed.  Though we spent much time trying to get other people’s code to help us load 3ds files and play music, we eventually had to give up on both those projects and so all code is our own.  The code organized with the game on top.  From game sprouts the main character class and the course class.  Within the course class is an enemy class, which also ended up being used for powerups. 
    2. Content: All graphical elements save textures were unique (Sprites were created via rendering screenshots in 3d studio max). Levels consist of 256x256 tiff files with an associated textfile file (.kmp) which has links RGB values to different entities. For example, 0 255 0 might be drawn as the floor in the tiff level file, and in the kmp file this would be linked to a type “floor” with an appropriate texture file. This also allows multiple textures per single types of entities.
  2. Key Technical Challenges:
  3. Postmortem:
    1. Things done right: 1. Simple scripting cut down a lot of time, both in design of levels as well as using multiple levels to test bugs. 2. Modularization and incremental testing between various parts (level parsing, sprite drawing, textures) immensely cut down on bugs. 3. Implementing multiple strategies as opposed to one optimal strategy (such as in PacMan) makes the game much more interesting.
    2. Things done wrong: 1. Slightly too isometric view makes seeing enemies under certain conditions very hard. 2. Lack of implementation of true models due to speed concerns before drawing the models was a mistake since upon model completion estimated model complexity was far less than expected and manageable within an opengl card. 3. Lack of strict adherence to proper timetable caused more bugs than it saved.
    3. Things Learned: