Procrastination Adventure is a 2D side-scrolling platform game. The player moves left, right, and can jump and shoot. There are various platforms the player can walk on, so the game features various levels of elevation. The player progresses left-to-right through Mudd-themed levels, while looking for fun things to do and avoiding homework at all costs! The game will not allow the player to move the game screen left, so any items/enemies the player fails to deal with can't be gone back for.
This game is quite similar to the Ballworld game included with the Pop package. Specifically, Ballworld provides the side-scrolling framework with background art, a player character with the movement we want, and randomly generated enemies. Pop supports playing standard sound files and using bitmaps for it's graphics. Customizing the look and sound of our game will be as simple as creating our own art and sound to replace the default Pop content.
The player moves by pressing the left and right arrow. Jumping will be handled by another button, possibly the up arrow. Shooting will be done using the space bar. These are the only controls to the game.
Ballworld has these controls, so we can just adjust the key assignments to do what we want.
The player can stand on platforms (modified by Pop's built-in wall critters) and jump between then to make for an interesting vertical component to gameplay. Dorms will have multiple stories, Platt will feature chandeliers the player can jump between. Hard to reach platforms will house good fun items and fun areas.
The platforms we will be implementing are very close to what is seen in Dambuilder. The rectangular shapes in the game act the same way as our platforms will, only real difference will be the angle.
-- JannaDeVries - 03 Feb 2004
Enemy assignment types, in order of toughness, include homework, quizzes, projects, and exams. The easier the assignment type is, the more prevalent instances of it are in the game's levels. The tougher the assignment, the more dangerous it is. Tough assignments are quite boring and require a lot of attention! Accordingly, getting hit by an enemy will cause the player's fun meter to drop. At some point in the game the player can obtain a magic nerd pen which they can repeatedly throw at assignments to destroy them. Destroying an assignment (without it hurting you) is fun and yields fun points.
Ballworld already contains much of what we need. There are enemy balls which must be avoided. Running into balls lowers the players health, which is pretty much exactly equivalent to lowering the fun meter. There are a variety of enemy sizes and movement types as well, so we can accomplish good variety in the Ballworld framework.
The only way to destroy assignments is to shoot them with magic nerd pens. However, these pens are in short supply and have to be found by the player. Each pen acquired has certain number of uses before the ink runs out. Shooting pens is a fairly basic procedure: pressing a button causes a pen to shoot out in the direction the player is facing. Pens fly in a horizontal line until they hit an assignment or leave the screen.
Shooting is an integral part of the Pop framework and should be very easy to change to our needs. Pop provides lots of nifty effects for the bullets, such as an ability to seek elements. The current framework limits the total number of bullets on screen, but not their range, which is what we want.
The goal of Procrastination Adventure is to maximize your number of fun points. Scoring as many fun points as possible is indeed a goal of the game, but the game also features a "Fun Meter" which must be filled past a certain point before the player can exit a level. Gaining fun points increases the fun meter, however you can never lose points if an enemy hits you, only parts of your fun meter. To gain fun points, the player can either find fun item pickups (videogames, magazines, etc), or stay in the game's various "fun zones."
Points are already an existing feature of the Ballworld game and we shouldn't need to rework that at all. The fun meter should be simple enough to implement. It can be done just like the points, but with upper bounds and the ability to subtract from it.
Fun Zones are areas of the game's levels which give the player points simply for standing in them for as long as they can (i.e. in front of a West Dorm fire or in the North Dorm lounge during dorm meeting, depending on level). However, fun zones only contain a finite amount of points, and can be dried up if the player receives all of those points. It should also be noted that assignments have a good chance of catching up to you if you're standing around having too much fun!
Ballworld has an exit in a specific point in space, so we know there is support for delineating certain areas of the map as special. Each critter, including the player, has an update function where we can check if we are in a fun zone and add fun points appropriately.
Having fun is the real goal of the game and finding fun things is the best way to do this. Fun items will include video games, sporting equipment, frisbees, beers, magazines, etc. which all boost the fun meter and fun points to different degrees. Each level will probably include only an appropriate subset of the fun items.
Ballworld has enemies which you can run into, decreasing your health. We will simply alter the enemies code to create a new class of critter which increases fun when the player runs into it.
To finish a level, the player must reach the far right side of the level and walk through a marked goal. However, the goal can only be entered if the player's fun meter is filled over a certain level. If a player enters a goal without having met their fun quota, they must try the level over. As the game screen does not scroll left, the player has no choice but to enter the goal.
Ballworld has this exit already. We just need to implement the movement restrictions, which will require a quick check on backwards movement.
-- AdamKangas - 03 Feb 2004