DOC PREVIEW
Berkeley COMPSCI 150 - CS150 Final Project Specifications

This preview shows page 1 out of 4 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Final Project SpecificationsBlock Game!Overall GameplayScoreMana PointsMagicFreezeNew BlockMove UpCut LineCut Upper HalfShorten BlockLengthen BlockVertical CompressHorizontal CompressSound EffectsCustomizationsSoundGraphicsExtra CreditUniversity of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 R. H. Katz Spring 2001 P. Yan Final Project Specifications Block Game! Overall Gameplay The DreamKatz block game is very similar to Tetris. The main idea is the same – to clear lines by completely filling them with blocks. Upon startup of the DreamKatz console, the Game Start screen should be displayed. The Game Start screen should continue to be displayed until the START button is pressed. Once the START button is pressed, the game should begin and the Game Play screen should be displayed. At the start of each game, the game play area should be empty and the score and mana points should have a value of 0. Immediately after the game has started, a block of random length should appear at the top of the game play area and begin to drop. Block lengths should range from of two to five. The block should drop at a constant rate. Pressing LEFT or RIGHT moves the block left or right one unit. The block may not move past the left and right boundaries of the game play area, i.e. there is no wrap-around. A block stops falling once there is an object directly underneath it, either the “pile” of blocks or the bottom of the game play area. It then becomes part of the pile – the pile is just the accumulated blocks at the bottom of the game play area that cannot be moved. If the block that just became part of the pile completes a line full of blocks (8 blocks), then that line disappears, and the portion of the pile that was above that newly removed line falls down one line. Once a block stops falling and becomes part of the pile, a new block of a random length appears at the top of the game play area and begins to fall. The game ends when the pile reaches the top-most line. Once the game ends, the Game Over screen should be displayed, along with the final score. When the START button is pressed, the game will return to the Game Start screen. Score The score should be incremented by a set amount when a line is cleared. Mana Points Mana points are used for casting magic. They should be incremented by a set amount when a line is cleared. When magic is used, they should be decremented by a certain amount depending on the magic used. possible blocksMagic During the course of the game, the player will be able to cast magic spells at the expense of mana points. You are free to set the cost of executing each magic spell. If the player does not have enough mana points to cast a particular spell, then trying to cast the spell by pressing the button should have no effect. There are two spells that you are required to implement: Freeze Executed by pressing the START button. All the blocks freeze in place and cannot move until the START button is pressed again. New Block Executed by pressing the A button. Destroys the current block and a new block begins falling. There are several other spells that may be implemented for extra credit. You may assign a button for each of these spells. Move Up Executed by pressing UP. Moves the currently falling block up one row. This spell is invalid if the currently falling block is at the top row. Cut Line The bottom line of the pile is cleared, and the rest of pile drops down one line. Also, the currently falling block should be destroyed and a new block should begin falling. This spell is invalid if there is no pile. Cut Upper Half The pile that resides on the upper half of the game play area is destroyed. Also, the currently falling block should be destroyed and a new block should begin falling. This spell is invalid if there is no part of the pile on the upper half of the game play area. Shorten Block The length of the block that is currently falling is reduced by one unit length. This spell is invalid if the currently falling block has a length of 1. Lengthen Block The length of the block that is currently falling is increased by one unit length. This spell is invalid if the currently falling block has a length of 7. Vertical Compress The blocks of the pile should be compressed downwards, effectively removing all holes in the pile. This spell is invalid if there is no pile. Horizontal Compress The blocks of the pile should be compressed to one side, effectively removing all holes in the pile. This spell is invalid if there is no pile.Sound Effects Your game will need to play sound effects on certain events. Here is the EPROM sound layout. Customizations Sound There are several sound effects files available, located in the C:\cs150\sfx directory (on the EPROM programming computer). However, you are free to create your own custom sounds. First, you must make sure you have sound files that are of the correct format: 16-bit, 16khz, little endian byte aligned. We only need the raw sound data, so you need to truncate all headers at the beginning of your sound files. For WAV files, the header is the first 44 bytes. Also, WAV files are by default little endian. Once you have six sound files, you need to extend each sound so that it completely fills each EPROM slot (64K for short sounds, 128K for the two long sounds). The last sample should be repeated to fill in the remaining data. Also, you may completely change the format of the EPROM to add longer sound effects or music, etc. This would require that you change your Audio Module from checkpoint 2. Graphics We have provided several default block images for you to use, but you may use your own custom tiles. The normal game tiles must be 40x40 in XPM format. The file name for each tile should be the tile number (decimal number corresponding to the 7-bit data used to specify a tile) represented in three characters. For example, “004.xpm” would represent the tile selected by a value of 0000100 in the 7-bit data segment for a block. Also, the Game Start screen and Game Over images can be customized. They both should be 320x640 in XPM format, and named “start.xpm” and “end.xpm.” All graphics files should be placed in the “sprites” directory where the video display program is located.


View Full Document

Berkeley COMPSCI 150 - CS150 Final Project Specifications

Documents in this Course
Lab 2

Lab 2

9 pages

Debugging

Debugging

28 pages

Lab 1

Lab 1

15 pages

Memory

Memory

13 pages

Lecture 7

Lecture 7

11 pages

SPDIF

SPDIF

18 pages

Memory

Memory

27 pages

Exam III

Exam III

15 pages

Quiz

Quiz

6 pages

Problem

Problem

3 pages

Memory

Memory

26 pages

Lab 1

Lab 1

9 pages

Memory

Memory

5 pages

Load more
Download CS150 Final Project Specifications
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CS150 Final Project Specifications and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view CS150 Final Project Specifications 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?