Final Report – Trult
Sasha Sterling
Nithin Reddy
15-493
- Overview:
- 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).
- 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.
- Movement:
Arrow keys move Trult’s hovercraft. Spacebar executes a hoverlaunch.
- Content:
- 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.
- 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.
- Key
Technical Challenges:
- Postmortem:
- 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.
- 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.
- Things
Learned: