* CTetris4a by Hayden Doan - May 9, 2009 *

(Colorful Tetris Version 4a)



INTRODUCTION:



I became a fan of Tetris many years ago when the PC's were still too expensive for my budget and my favorite computer had always been the Atari 800.  Therefore, I thought that I would just write my own version of Tetris for the Atari.  I was not aware that there was still so much support for the Atari computers until my recent discovery of the fantastic AtariAge support group.



I received many replies on AtariAge when I asked a question about available Tetris programs for the Atari computer.  I downloaded and tried most of them.  I was definitely impressed by the professional graphics and sounds of some of the games and also by the impressive intro screens.  However, when it comes to the actual game playing quality, I thought most of them were too lacking.  I wanted to compare my CTetris program against the ones that are already out there to see if the Atari community needed another Tetris program and may be even find my own new favorite version.  Some major differences that I see between my CTetris program compared to the other versions are:



1)  High game play quality - This was given the highest priority in my design since I really wanted to play Tetris on my own Atari 800 computer.  To make sure that the game response is quick and smooth, I chose to use the powerful Action! language by OSS. This is my favorite language on the Atari. It compiles codes directly into machine language. And for the timing critical routines in my game such as DLIs, VBIs and Block moves, I used the Mac65 Assembler by OSS to create the efficient machine codes.



2)  Most colorful - I chose to use the GTIA mode 10 which has nine colors with independent hue and luminance settings.  I thought that Tetris for the Atari 8-bit computers needed to be a more colorful game.



3)  Scoring and Bonuses - Please see the details in "SCORING:"



4)  Unique sound effect assignments for each of the main game events.  I also noticed that other programs do not highlight/flash the completed lines before removing them from the screen.



5)  Absence of gimmicks and effects that burden down the computer resources which results in poor game play quality. 



CONTROLS:



Move Left  - Left Arrow,   Joystick: Left

Move Right - Right Arrow,  Joystick: Right

Rotate     - Up Arrow,     Joystick: Up

SoftDrop   - Down Arrow,   Joystick: Down 

HardDrop   - Spacebar,     Joystick: Fire Button



Pause      - P, Esc (Toggles Pause mode)

Next       - N (Toggles display of next block)

Quit       - Q



SCORING:



Maximum possible points for each block:

-------------------------------------------------

|Levels |  0   1   2   3   4   5   6   7   8   9|

|Points | 24  26  28  30  32  34  36  38  40  42|

-------------------------------------------------



One point is subtracted for each timed drop (Beep) and also for each SoftDrop.  Therefore, the sooner you HardDrop the blocks into place, the more points you'll get for that block.



Bonus Points:



When three or four lines are connected at one time, you will hear chime sounds counting the number of connected lines and receive the following Bonus Points:



	Three Lines - 50+50+50     = 150 Bonus Points

	Four Lines  - 50+50+50+100 = 250 Bonus Points 



Level Changes:

-------------------------------------------------

|Levels |  0   1   2   3   4   5   6   7   8   9|

|Lines  |  0  10  10  10  15  15  15  20  20  20|

-------------------------------------------------



The number of connected lines needed for the next game level is displayed within the "[ ]" brackets.



NOTES:



Atari800Win PLus 4.0 Emulator:



1) I highly recommend that you use the emulated joystick setting instead of the emulated keyboard for the best game response.

2) Try to experiment with the color palette settings.  Turning up the color saturation can give you very nice glowing neon effects.



Programming:



Several advanced Atari programming techniques were implemented to enhance the Ctetris program as described below:

1) VBI - to play the level change music notes without interupting game play.

2) DLI1 - to change the colors between the GTIA 10 screen and the Graphics 0 screen at the bottom which displays the scores.

3) DLI2 - to display the ten colors on the High Score screen.

4) Custom Display List - to combine the GTIA 10 & the Graphics 0 modes onto one screen.

5) Fine vertical text scrolling - to display the "Game Over" message.



The random object (blocks) generator of this program version also uses the history of the previous generated objects to affect the outcome of the next random object.  You will notice that certain next objects will more likely to follow certain previous objects which may help with your game playing strategy.



Overall, I felt that have accomplished my main objectives with CTetris which is to program the most colorful Tetris port for the Atari computers with high game play quality.  Now I can play one of my favorite games of all times on my favorite computer, the Atari 800.



Have Fun!