|
Comp201: Principles of Object-Oriented Programming I
|
Below is a listing (in no particular order) of the final projects conceived by the named students for this semester.
Comments from the staff are in red. To update your description, please send a revised version to comp201, using the same format as below.
Click here to see last year's student projects.
Goal: Eliminate all the balls in the
playfield.
The game will start with one ball that bounces around the
playfield. A goal with fixed width will be located at one end of the playfield
and a moveable paddle on the other side of the playfield. Simply move the paddle
around to keep the ball in the playfield. If a ball goes through the goal then
it will simply disappear. If you clear the playfield when all the balls go
through the goal then you advance to the next level. The next level will begin
the game with one more ball in addition to the number of balls in the previous
level. There are “infinite” levels to this game.
If a ball gets past the paddle and off the playfield then it will be returned to the playfield and another ball will be created. It is important that the ball(s) are kept in the playfield past the paddle or the number of balls and difficulty will increase. This increasing cycle, however, is limited to the number of balls you began with, which is the number of lives you have.
For example, if the game begins at level 5 with five balls in the playfield then you have 5 lives. You move the paddle to keep the balls in the playfield until all the balls eventually pass through the goal to advance to level 6. If the playfield currently has 5 balls and one ball gets past the paddle, it will return to the playfield and a new one will be created to make 6 balls in the playfield. Your lives will drop to 4. Then if two balls get past the paddle, the playfield will now have 8 balls and your lives will drop to 2.
The game is over when you lose all of your lives. On the other hand, the game is not “won” because it has “infinite” number of levels. However, the best thing is to strive for is the highest score, which will depend on how fast the playfields are cleared over the levels.
What really distinguishes this from the regular Pong game?
Based on the BallWar codebase.
In this game, you play as a fish trying to make its way back to the stream
where it was born. Somehow, in its travels, it has
passed a deadly minefield, and has to traverse it in
order to get back. The mines will be flowing from left to
right across the window, and each time the fish hits a mine, it loses a
life (out of three total).
There will be three levels, each getting progressively
Features
You lose when you run out of lives, you win when you complete
all three levels.
Is there anything that can be done to make the mines more interesting/challenging/unique? Otherwise, you just have Frogger with different images.
Based on the BallWar codebase.
What are you doing to distinguish this from Galaga?
Based on the
BallWar codebase
The game we have created is a modified version of Brick Breaker that is much more difficult to play. Certain aspects of the game are as follows:
Winning/Losing
This game will hopefully be awesome.
Based on the BallWar codebase.
It will work in pretty much the same way as any standard pinball game.
Based on the BallSwarm
codebase.
(Inspired by the game "Portal")
DEFINITION: A portal is an object oriented at a certain angle in space, that,
when placed in the game's "Universe" allows another object to enter it
and exit from the portal that was placed next
(chronologically) in the Universe. When the
object enters the last portal, it exits the first, and so on.
STORYLINE: In the depths of space, with a broken navigation system, every star
looks the same. Capt. JR Cherwong has only his trusty Portal-Generator
Unit to keep track of where he is. Knowing that his
SOS has been received by a passing ship, and that help
will arrive in 2 minutes, he must keep shuttling between
portals he creates to ensure that he stays in roughly the same region of
space. The only problem is that occasional asteroids
disrupt the portals' electric fields, causing them to
behave erratically. Cherwong needs to be ever vigilant,
or risk being lost...in...SPACE.
GAMEPLAY: The player is given 1 min to select and
place up to 7 pre-oriented portals in the Universe, in
any arrangement he or she wishes. The player is then given a
space-ship object that enters the first portal and
then exits the second. However, if the third
portal is not oriented correctly, the space-ship just
misses the portal and eventually gets sucked into the void of space (crashes),
which ends the game.
The object of the game is to arrange the 7 portals in such a way that:
- The ship spends as much time as possible OUTSIDE of a portal, to
maximize Cherwong's chances of being seen by the
rescue ship. The more time in empty
space, the higher your score...so no just placing the portals in a line.
- The ship does not miss a portal (and get sucked into oblivion - i.e.
the edge of the screen)
Of course, conceptualizing a nice arrangement of portals that achieves these
objectives is not hard - that's why we have the challenge:
- A randomly appearing (with some warning) asteroid that collides
with the space-ship, throwing it off-course, or
with one of the portals, causing them to change size,
shape, completely disappear, begin wandering, or worse: change its
"creation order". It is up to the player to
move around his portals to keep his ship flying long
enough for help to arrive. Are you up to the task?
The game is never "won" per se. The player is expected to try and achieve the
highest score possible in the two minutes after arranging the portals.
Based on the BallWar codebase.
Description: A game based on Breakout, wherein the
player moves a paddle left and right across the bottom of the screen in to
bounce a ball into bricks positioned near the top of the screen.
How about balls that don't move in straight lines?
Based on the BallWar codebase.
In this game, our main character decides to take a relaxing ride
in a luxury train car. Little did he know, this trip would change
his life. While our character ponders the relative velocity of
light seen from moving objects, a bomb has been discovered on his
train! However, this bomb is no ordinary bomb, no! It utilizes
Brownian Motion to control how sensitive the bomb's motion sensor
is. While our hero is on the slightly bumpy train, he must prevent
the bomb's explosive core from touching the sides of the box,
which detonate the core. Fortunately, our heroic genius knows that
Brownian motion can be controlled through heat! Quickly striking a
match, he heats the sides of the bomb when the explosive inside
core approaches that side. The bomb squad has been called, so the
heat just has to prevent the core from touching for a certain
amount of time.(note Einstein allusions).
How do you decrease the temperature of the side of the box? Or does it naturally cool off at some rate? Another interesting twist (higher level?) would be to use charged particles in a magnetic field (i.e. CurveBalls). What happens when the train goes around a curve and the lighter particles are thrown one way in the box, opposite the direction of the heavy bomb core? Heh, heh... ;-)
Based on the BallWar codebase.
Goal - hit an object from across the universe
How?
What are you trying to hit? What determines winning and losing?
Based on the BallWar codebase.
LazerMaze is a time-constrained puzzle game , It's sort of a cross between pipe dream and bocce ball/shuffle board.
The goal of the game Is to reflect a laser beam emitted from the top of the 2D world into a goal position in the stage, around various obstacles.
Based on the BallSwarm codebase.
The idea of the game is that you are inside a building, and you're trying to get
from one side of the room to the other in order to steal the jewels/money
whatever that's on the other side. However, inside
the bank there are security guards, who
sometimes have dogs, cameras, etc. A security guard has a certain
field of vision, and if you cross their field of vision, they will shoot
at you, but the dogs will
just kill you if you run into them. If you cross a
camera's field of vision, then it will alert, or produce more guards that might
become trouble for you. After you reach the end, you get whatever
valuable you're trying to reach, and each level will
become progressively harder.
Is there a concept of a certain number of lives, or is one hit/bite/etc enough to end the game?
Based on the BallWar codebase.
Description of the game: This game will be a hybrid between two games: The classic “Tetris,” and the “BubbleBreaker” game that comes free on Windows Mobile-based PDAs. The basic idea is this: a ball “bubble,” if you will, of a random color appears at the top of the screen. The bubble descends to the bottom of the play area, and it falls into a column. The user navigates the ball to its destination with the arrow keys. As the user gets 4 balls of the same color in a direction, those bubbles burst and the user gets points for them.
How do you win/lose? What can
you do to make the game more unique and engaging?
I intend to design a program based off of the game "Jezzball". Players right-click in the container to draw a vertical line which becomes a new boundary, and left-click in the container to draw a horizontal line which becomes a new boundary in the container. The objective is to separate all the balls into separate containers bounded by four lines. What makes this game different from other games that have a similar premise is that this game will not be using standard "Straight Balls", but will require a new level of talent because it will use "Wander Balls", "Curve Balls", and other variants. The game will have a finite number of levels, though they will get continually harder. I am also thinking of variations where, for example, the green ball would have to be trapped in the green half of the screen while the blue ball needs to be trapped in the blue part of the screen, or something of that sort.
Based on the BallWar codebase.
Last Revised Thursday, 03-Jun-2010 09:50:22 CDT
©2008 Stephen Wong and Dung Nguyen