We are very pleased with the way Cantneroid turned out. We met all of the design goals that were feasible and the game is very playable. We were unable to implement a few bells and whistles that we would have liked to enhance gameplay.
We have designed a 1-player game that allows the user to play on 3 different levels. The program itself is robust - we can add or change levels fairly easily (because of our brick erasing scheme as detailed in the Program Design section), change the number of lives that the user gets and modify the music. Since the levels define the game, we are happy with the ease with which we can alter them so as to create all new playabality if desired. At the end of the 3 levels, the user is sent back to the beginning of the game. Depending on how many lives we set, the game can be fairly easy (>7 lives) or extremely difficult (<3 lives).
The 5 inch portable black and white tv player we used turned out to be sufficient for our needs. We both would have liked the ability to have a stand-alone, portable game that could have transferred to a larger television, but the 5 inch tv was challenging in its own right.
The Sega Genesis controller was easy to implement and increased gameplay significantly.
There were several ways that the game could be improved. First and foremost, we would have liked to be able to have the ball come off of the paddle at angles other than 45 degrees. There are times that the current game gets frustrating because of the inability to hit certain bricks - a function of the limited ball angles. It is difficult to implement angles other than 45 degrees because of the way we check for a hit as outlined in the Program Design and because of insufficient pixel density on the television screen.
Secondly, gameplay could be enhanced by having the ball move faster after a certain number of brick hits. This could greatly increase the length of the code, and would require easier levels as the ball speed would double. We would have to check for a hit condition prior to where we currently do it. The reason that we didn't like this entirely was that the ball would either move at its current velocity, or double that velocity.
Lastly, gameplay could be enhanced, as in the real game Arkanoid, by adding special powers to bricks that are released when the bricks are hit. There are special powers such as lengthening the paddle, generating multiple balls, and catching the ball. It is difficult to implement these because of the way we erase bricks. With our scheme we keep track of how many bricks are hit, but not which ones. So, it would be difficult to have a power released from a specific brick.
In creating Cantneroid, we explicity followed the IEEE Code of Ethics.
1. "...to credit properly the contributions of others..." We realize that the original idea behind Cantneroid was implemented in games such as Bricks and Arkanoid. We give them full credit for coming up with this, and realize that we are creating the game to recreate something that we enjoy playing. Furthermore, we acknowledge in Program Design that the raster scheme for controlling the telelvision with the Mega32 was taken from the ECE 476 website.
2. "...to treat fairly all persons..." Cantneroid uses no sound, graphic or any other feature that is biased against a particular race, religion, gender, etc.
3. "...to assist colleagues and co-workers in their professional development..." Not only did we help each other in this project, we also frequently took time to help other groups deal with various issues including sound generation, gameplay(for games) and gamepad problems.
4. "...to maintain and improve our technical competence..." We both learned a huge amount doing this project, from controlling a television to the mechanics of a bouncing ball. Neither one of us had extensive programming experience, but now feel very competent in C having come up with a 2000 line piece of code. Also, we learned more about the how the microcontroller works as we experimented with sound and attaching an external gamepad.
5. "...to avoid real or perceived conflicts of interest..." In making Cantneroid, we strove to make a program that wouldn't interfere with anyone's agenda of any sort. It is a fun, interesting game that is intended solely for entertainment purposes.