Shaq 3-Point Contest

DESCRIPTION:

* Shaq's 3-Point Contest is a "turret shooter" game in which players launch orange balls at a target.  Move the "turret" forwards and backwards, aim the shot angle higher or lower, and press the shoot key with power according to the ever-scrolling bar on the left side of the screen.  Sink the shots to get points.  Go for a high score!  This game was made entirely in the EASy68K Assembler.


DURATION:

* Two weeks.


TEAM SIZE:

* Just me working alone and asking my CS professor the occasional "how do I fix this" question.


PRELUDE:

* The project was a homework assignment due for a first-semester Programming class.  The goal was to create "any" sort of turret shooter using only bitmap files and assembly code.  Me, being the creative guy that I am, decided to make a basketball game.  The concepts are the same--throw the projectile in the air and hit the moving target.  And in Shaq's case, throwing a projectile should be no problem for him.  But unlike Shaq, can you sink the three pointers?  This time on a moving rim that looks like an arcade machine gone awry?  And in front of a bunch of kids on the playground who can sink free pointers better than you?  Good luck!


PERSONAL GOALS / ACHIEVEMENTS:

* Made a game loop in Assembly from scratch.  Read keyboard input from the user and act accordingly.

* In terms of graphics, .bmp files of Shaq and the playground were made and loaded into the executable.  Assembly has a strange way of rendering bitmaps--scroll through the entire .bmp file format, pick out the RGB values of each pixel, and blat them out onto the screen at a certain location.  Just being able to render a bitmap in Assembly is an achievement of its own.

* Ball physics are easy but calculating the trajectory isn't.  A list of sine and cosine values are provided and, depending on the angle that you have selected and the power bar, the pointer to the sin/cos chart is offset by the angle, giving you the X and Y velocities of the ball at takeoff as it sails through the air being pulled to earth by gravity.

* Scoring.  The ball can't just hit the target, it has to hit the top of the rim and drop down through it.  The ball then falls to the ground and you are awarded a point (Marv Albert: "YYYYEESSSSS!!!!!!").  You can only shoot one ball at a time and the game freezes until the ball leaves the field of play therefore the game has to be "playable" and not just a jumbled mess that is easy to break.

* I made my computer professor and peers laugh.


MEDIA:

Shaq takes the shot!  *suspense*

LINKS: