Jump to content
IGNORED

CTetris4a - A New Color Tetris in GTIA 10


atx4us

Recommended Posts

* 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! :)

Ctetrs4a.zip

Link to comment
Share on other sites

Good work!

 

I really think it would play much better using Fire to rotate rather than a directional. Or maybe have the option to select a control scheme.

I have to second this! Level 6 was nearly unplayable on Atari800Win Plus emulator. :x

 

I'd like to finish my own version of Tetris, called Quatrix. I used both P/M and ANTIC 4 text mode together to obtain enought colors and a nice 3D effect (shines and shadows). Sounds should be added later using VBI routines. :ponder:

 

++Vitoco

Link to comment
Share on other sites

I'd like to finish my own version of Tetris, called Quatrix. I used both P/M and ANTIC 4 text mode together to obtain enought colors and a nice 3D effect (shines and shadows).

 

Funny you say this. I was just thinking about how I would do it if I were to make my own version of Tetris and it would be just that. Two rows of two layers of quad size players on top of Antic mode 4. This also allows more detailed graphics at the left and right sides of the 'bin'.

 

--Ivo

Link to comment
Share on other sites

I've had a go on a couple of these...

 

I really think it would play much better using Fire to rotate rather than a directional. Or maybe have the option to select a control scheme.

I second this as under pressure I press fire to rotate and uh-oh :x

 

However as I said before GREAT WORK atx4us :thumbsup: , great colours even on my 130XE which is no mean trick :) Really nice to see a quality new game for a 30 year old computer :) Nice sound effects and like the high-score table too, remebering your initials is a nice touch.

 

Another couple of things... saveable high-score would be a great incentive to play, also if you could tweak that delay before being able to rotate as soon as you see the piece. And how about a da-da-da-daaaa-da-daaa fanfare (you know the one) for getting the 4 rows?!!

 

Have suggested to play this in the HSC :cool:

Link to comment
Share on other sites

I'd like to finish my own version of Tetris, called Quatrix. I used both P/M and ANTIC 4 text mode together to obtain enought colors and a nice 3D effect (shines and shadows). Sounds should be added later using VBI routines. :ponder:

 

++Vitoco

 

but Vitoco.. that version of yours have more than 20 years!! :D

 

and from what I remember it was all grey :P

 

Regards

 

NRV

Link to comment
Share on other sites

I've had a go on a couple of these...

 

I really think it would play much better using Fire to rotate rather than a directional. Or maybe have the option to select a control scheme.

I second this as under pressure I press fire to rotate and uh-oh :x

 

However as I said before GREAT WORK atx4us :thumbsup: , great colours even on my 130XE which is no mean trick :) Really nice to see a quality new game for a 30 year old computer :) Nice sound effects and like the high-score table too, remebering your initials is a nice touch.

 

Another couple of things... saveable high-score would be a great incentive to play, also if you could tweak that delay before being able to rotate as soon as you see the piece. And how about a da-da-da-daaaa-da-daaa fanfare (you know the one) for getting the 4 rows?!!

 

Have suggested to play this in the HSC :cool:

 

Thanks for your feedback and support! Can you please explain further about the "tweak that delay before being able to rotate" comment? I'm not sure that I understand what you mean.

 

I actually had a previous version that saved the High Scores before but that requires DOS and a longer boot time as well as having to leave a disk in the drive. I can release this as an alternate version.

Link to comment
Share on other sites

but Vitoco.. that version of yours have more than 20 years!! :D

 

and from what I remember it was all grey :P

Grey, but with the nice 3D effect. I then added P/M over that to get the colors, and that was about 19 years ago. :P

 

BTW, I still have your original "Line-Up!" diskette. Do you want it back?

 

++V

Link to comment
Share on other sites

Just had another go got through to level 6 before I blew it! re the tweak: It would be nice to rotate the piece as soon as you see it... the brain gets going and it breaks the flow a bit... you have to wait for it to start/drop before rotating it. :)

 

Yes good point.

 

This is a FABULOUS beginning of a tetris game, that might be one of the better ones on atari 8bit. Thank you VERY MUCH for creating, and sharing this with us. Please take a look at points below; you might want to use them (or not; it's YOUR game!)

 

1) This games need a nice background music. I want and am able to compose a new tune for this game if you like. Or I could arrange the tetris songs from the gameboy for you on the Chaos Music Composer. I'm rather sure your program can replay this musics without the lost of resources (the player routine operates fine in just the VBI)

 

2) I really think that sound during the block moves down is not a good idea.

 

3) could you design something better for the "NEXT" word?

 

Good job so far, and keep going!

 

Greetz

Marius

Link to comment
Share on other sites

Just had another go got through to level 6 before I blew it! re the tweak: It would be nice to rotate the piece as soon as you see it... the brain gets going and it breaks the flow a bit... you have to wait for it to start/drop before rotating it. :)

 

Yes good point.

 

This is a FABULOUS beginning of a tetris game, that might be one of the better ones on atari 8bit. Thank you VERY MUCH for creating, and sharing this with us. Please take a look at points below; you might want to use them (or not; it's YOUR game!)

 

1) This games need a nice background music. I want and am able to compose a new tune for this game if you like. Or I could arrange the tetris songs from the gameboy for you on the Chaos Music Composer. I'm rather sure your program can replay this musics without the lost of resources (the player routine operates fine in just the VBI)

 

2) I really think that sound during the block moves down is not a good idea.

 

3) could you design something better for the "NEXT" word?

 

Good job so far, and keep going!

 

Greetz

Marius

 

 

Marius,

 

I'm taking notes of all the comments and suggestions. I'm really glad to share this program with the AA group because of the level of support and appreciation for the time I put into this project.

 

1) I would love to hear and accept your musical talent and contribution. Do you already have a VBI routine that would play your music? If yes, then it will just be plug-n-play for me.

 

2) No problem - The block drop sound can be made to toggle on/off. I personally like it on.

 

3) I was expecting a comment about the "NEXT" label. I'm hoping that someone can paint a good Tetris theme picture in GTIA mode 10 and I'll just use that picture as the background and get rid of the "NEXT".

 

Finally, you're right. This can only get better!

 

I have a question - Does anyone know if I can use the P/M tricks with GTIA mode 10?

 

Thanks,

Hayden

Link to comment
Share on other sites

I have a question - Does anyone know if I can use the P/M tricks with GTIA mode 10?

 

Ofcourse.

The are some limitations you have to count with.

 

The PMg could be used for resolution enhancements, not for colour enhancement.

You have to watch the overlapping of the colours.

 

If I remind correctly, the PM graphics is above the playfield colours.

-Player 0 gets overlapped by colour "705"

-Player 1 gets overlapped by colour "706"

-Player 2 gets overlapped by colour "707"

 

At least you could add some nice pillars and/or some information text at a higher resolution over the gr. 10 screen.

Ah, ofcourse you can add some more colours, if you use the GPRIOR Overlay by ORing or using PM overlay colour.

Edited by emkay
Link to comment
Share on other sites

@atx4us

 

OK. In a few days (after sunday) I think I can send you some music. With all the routines and documentation how to implent this in your game.

 

Perhaps you could make it like the tetris on the gameboy. As soon as the lines are getting above a certain line (The building of tetris blocks is high then) the music goes faster! hehe. That is easy with the player-routine.

Link to comment
Share on other sites

I have a question - Does anyone know if I can use the P/M tricks with GTIA mode 10?

 

Ofcourse.

The are some limitations you have to count with.

 

The PMg could be used for resolution enhancements, not for colour enhancement.

You have to watch the overlapping of the colours.

 

If I remind correctly, the PM graphics is above the playfield colours.

-Player 0 gets overlapped by colour "705"

-Player 1 gets overlapped by colour "706"

-Player 2 gets overlapped by colour "707"

 

At least you could add some nice pillars and/or some information text at a higher resolution over the gr. 10 screen.

Ah, ofcourse you can add some more colours, if you use the GPRIOR Overlay by ORing or using PM overlay colour.

 

Maximum Graphics 10 colors without DLI (w/o reusing colors):

 

P0|P1 = 3 colors (in p/m multicolor mode and/or P0,P1 by themselves)

P0|P1|PF0 = 3 colors (GPRIOR mode 0)

P0|P1|PF1 = 3 colors (GPRIOR mode 0)

P2|P3 = 3 colors (in p/m multicolor mode and/or P2,P3 by themselves)

P2|P3|PF2 = 3 colors (GPRIOR mode 0)

P2|P3|PF3 = 3 colors (GPRIOR mode 0 w/Player 5 used as PF3)

PF0, PF1, PF2, PF3 by themselves (no overlap) = 4 colors

BAK = 1 color (background)

 

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

Total: 23 colors/scanline.

 

 

10 PRINT "Atari BASIC program to show 23 colors/scanline in Graphics 10"

20 PRINT " By Krishna Software Inc."

30 GRAPHICS 10

40 POKE 704,16:POKE 705,32:POKE 706,64:POKE 707,128:POKE 623,16+32+128

50 POKE 708,4:POKE 709,8:POKE 710,2:POKE 711,13:POKE 712,255

60 POKE 53248,64:POKE 53249,80:POKE 53250,160:POKE 53251,176

70 POKE 53252,120:POKE 53253,124:POKE 53254,128:POKE 53255,132

80 FOR T=53256 TO 53265:POKE T,255:NEXT T

90 FOR T=0 TO 95:COLOR T/12:PLOT 0,T:DR. 79,T:NEXT T

100 FOR T=0 TO 79:COLOR T:PLOT T,96:DR. T,191:NEXT T

110 GOTO 100

Link to comment
Share on other sites

  • 1 month later...
Thanks to everyone's comments and suggestions. I will work on the suggested improvements soon.

Hi, any news on the version with alternative controls :?: :)

 

You have great timing. I will be releasing the next version on July 4th with a few new features (and controls). I wasn't aware that this is Tetris's 25th Anniversary year. So, I'm glad that I have been working on this program. The reason I chose July 4th is to celebrate our Independence Day Holiday in the USA.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...