Jump to content

Photo

K.O. Cruiser - my first homebrew


391 replies to this topic

#1 Devin OFFLINE  

Devin

    Moonsweeper

  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Mon Feb 18, 2008 5:04 PM

This project is finished! You can get a copy Here

 original first post

Hello everyone,

I am announcing that I am in the process of writing my first homebrew Atari 2600 game - K.O. Cruiser.

This game has a bit of a history. Back in 1986, I started programming my first graphical game on the Commodore 64. I was inspired by the arcade version of the Punch-Out. While I was impressed by the graphics of that classic game, I didn't like the simple stick-and-move logic. The version I was working on would allow the players to move around the ring. At first I played around with the idea of a side-view of the boxers, but it didn't allow much flexibility on designing the faces. So, like Punch-Out, I went for a first-person view.

I went as far as to design a total of 15 characters. I also was able to get an early version of the game working. By this time, it was the start of 1987 - and events would discourage me from finishing the project. Later in 1987, Nintendo released "Mike Tyson's Punchout". I realized, sadly, that I couldn't make my Commodore BASIC version look better (and I didn't know how I could). As a result, I abandoned the project and concentrated on knocking out Tyson (which I never did).

Anyway, I was introduced to the idea of writing an Atari 2600 homebrew by Zach. So, why not finish the game I started 20+ years ago? Even though I have a third of the horizontal resolution than I did on Commodore 64 BASIC, I have far more control over the vertical resolution and colors. Not a bad tradeoff. In fact, my Atari 2600 version might have better graphics.

I'm attached a screenshot of the original Commodore 64 version. I've also attached a copy of the Atari 2600 version (still in progress obviously).

Please remember that my Commodore 64 version came before Mike Tyson's Punchout.

Notes:
  • To punch, hold down the button and push either left or right. The button + up/down will block.
  • The computer runs off a simple macro-language that I wrote for the game. It controls animation, basic timing, and conditional branching. This will allow each of the boxers to have different styles and behavior. For this early version, the computer simply walks up to the human. There is a 10% chance he will throw a punch for each cycle (flip torso, legs, bob). If he throws a punch, there is an equal chance of a left or right.
  • The computer currently doesn't block. I will add this functionality later.
  • The ring will not be green in the final version. I was testing the colors read from the background buffer and choose a rather visually-offensive pattern. This will change in the final version - as will the appearance of the ropes.
  • The computer moves back slowly when hit. The system will update the speed later.
  • I'm updating the color of the computer every two scanlines. I just haven't gotten around to creating some nice shading.
To Do:
  • Sound.
  • Knockdown logic. Right now both the computer and human are in "god mode with infinite ammo".
  • Health bars. I will probably use a combination of the playfield and missiles.
Future:
  • I don't plan to write a fancy intro screen. It will probably just be a player0+player1 bitmap.
  • I hope to fit 4 or 5 boxers on the final version. However, I might be forced to bank-switch. If so, I should be able to fit far more boxers. I'm not sure how hard it is to implement.
  • Since I have a basic "boxing platform", I can add characters by just updating graphics and the macro for each. As a result, I will create several sequels. One will be the "Homebrew Circuit" where everyone here can create their own boxers!

Attached Thumbnails

  • K.O._Cruiser___Fight_Screen.PNG
  • K.O._Cruiser___Title_screen.PNG
  • KO_Cruiser___b1.bin.png

Attached Files


Edited by Devin, Tue Dec 1, 2009 1:22 AM.


#2 SpiceWare OFFLINE  

SpiceWare

    Quadrunner

  • 8,247 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Mon Feb 18, 2008 5:14 PM

neat.

#3 Out_of_Gas OFFLINE  

Out_of_Gas

    Dragonstomper

  • 761 posts
  • Yep...
  • Location:West Virginia

Posted Mon Feb 18, 2008 5:15 PM

this is AWESOME!!
Cant wait to see more from this!

#4 Zach OFFLINE  

Zach

    Stargunner

  • 1,620 posts

Posted Mon Feb 18, 2008 5:39 PM

It's looking great, Devin. A first in this category for homebrews. And congrats on going public.

#5 Impaler_26 OFFLINE  

Impaler_26

    Cookie Meister

  • 2,580 posts
  • Braindead
  • Location:Hueco Mundo

Posted Mon Feb 18, 2008 6:19 PM

Nice game! :thumbsup:
The enemy boxer looks funny, looking forward to see more of this!!

Btw., there was a Punch-Out style game on the C64 before Myke Tyson's Punchout was released, Frank Bruno's Boxing.

#6 Nathan Strum OFFLINE  

Nathan Strum

    Quadrunner

  • 6,004 posts
  • Flickering
  • Location:Newhall, CA

Posted Mon Feb 18, 2008 6:25 PM

Excellent work! I wouldn't have guessed the 2600 could do a good version of Punch-Out, but you've really pulled it off. Looking forward to more!

As an aside - this would be a great candidate for AtariVox support. Announcing the boxers' names, maybe some crowd cheering/booing.

#7 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Mon Feb 18, 2008 11:53 PM

Nice game! :thumbsup:
The enemy boxer looks funny, looking forward to see more of this!!

Btw., there was a Punch-Out style game on the C64 before Myke Tyson's Punchout was released, Frank Bruno's Boxing.


Damn, I didn't know about that. If I had that when I was kid, I probably would have lost countless hours! :)

Most of the boxers I will add will be a tad silly. This boxer is the first opponent and is basically nothing more than a punching bag. I think he will make Glass Joe and Gabby Jay look like pros.

Edited by Devin, Mon Feb 18, 2008 11:58 PM.


#8 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Mon Feb 18, 2008 11:55 PM

Excellent work! I wouldn't have guessed the 2600 could do a good version of Punch-Out, but you've really pulled it off. Looking forward to more!

As an aside - this would be a great candidate for AtariVox support. Announcing the boxers' names, maybe some crowd cheering/booing.


Perhaps. That would really make the game shine. What is involved in getting AtariVox to work with the game? I would imagine that would push me into the 8k or even 16k realm.

#9 Cybergoth ONLINE  

Cybergoth

    Quadrunner

  • 8,627 posts
  • This is Sparta!
  • Location:Bavaria

Posted Tue Feb 19, 2008 1:20 AM

Love the rabbits teeth of the other fighter :lol:

#10 cd-w OFFLINE  

cd-w

    Stargunner

  • 1,249 posts
  • Juno First!
  • Location:Glasgow, UK

Posted Tue Feb 19, 2008 2:10 AM

Nice work, and clever use of the ball sprite to color the opponent! There should probably be a limit to the time you can throw a punch as you can simply hold down the buttons at the moment. I also think that AtariVox support would be nice. Bankswitching isn't too hard to implement - there is a Bankswitch HOWTO document, but is is probably easier just to look at the source code for a game that uses bankswitching, e.g. Spiceware's Medieval Mayhem (32K).

#11 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Tue Feb 19, 2008 10:37 AM

AtariVox code is pretty compact. I don't remember offhand...oh, I'll just look it up.

...

Ok, looks like it's about 64 bytes of code to make it speak plus whatever speech data you use plus some miscellaneous setup code - to point the speech pointer at the correct speech data at the right time, etc.

As far as the data, maybe...well, it depends. Maybe figure 4-6 bytes for each phoneme. Took 30 bytes to get "go fish" (g-oh-f-i-sh):
AVoxSpeech_GoFish
		.byte 31					   ;reset to default
		.byte 21,100				   ;speed(0-127)
		.byte 23,3					 ;bend (0-15)
		.byte 22,200				   ;pitch
		.byte 14					   ;loud
		.byte 179					  ;g(o)
		.byte 22,199				   ;pitch
		.byte 137					  ;-o-
		.byte 22,198				   ;pitch
		.byte 164					  ;-o
		.byte 22,196				   ;pitch
		.byte 4						;30 ms delay
		.byte 23,4					 ;bend
		.byte 8						;slow
		.byte 14					   ;loud
		.byte 186,186				  ;f-			 /this needs to be louder
		.byte 22,177				   ;pitch
		.byte 129					  ;-i-
		.byte 129					  ;-i-
		.byte 189					  ;-sh
NoAVoxSpeech
		.byte $FF					  ;done


#12 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Tue Feb 19, 2008 11:57 AM

Love the rabbits teeth of the other fighter :lol:


You should see the rest of them! :) I also drew some pictures for the characters of Homestar Runner. Finally, Strong Bad can use those gloves!

#13 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Tue Feb 19, 2008 11:58 AM

Nice work, and clever use of the ball sprite to color the opponent! There should probably be a limit to the time you can throw a punch as you can simply hold down the buttons at the moment. I also think that AtariVox support would be nice. Bankswitching isn't too hard to implement - there is a Bankswitch HOWTO document, but is is probably easier just to look at the source code for a game that uses bankswitching, e.g. Spiceware's Medieval Mayhem (32K).


I'll definitely look into it. I am still optimistic I can fit everything in 4k. My optimism is most likely unfounded. Thanks for the link.

Edited by Devin, Tue Feb 19, 2008 12:02 PM.


#14 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Tue Feb 19, 2008 12:39 PM

AtariVox code is pretty compact. I don't remember offhand...oh, I'll just look it up.

...

Ok, looks like it's about 64 bytes of code to make it speak plus whatever speech data you use plus some miscellaneous setup code - to point the speech pointer at the correct speech data at the right time, etc.

As far as the data, maybe...well, it depends. Maybe figure 4-6 bytes for each phoneme. Took 30 bytes to get "go fish" (g-oh-f-i-sh):


That is incredibly compact. I will definitely look into it. Did you write Go Fish? That is one of my favorite homebrews. Is there any emulator that supports the Vox?

#15 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Tue Feb 19, 2008 1:17 PM

AtariVox code is pretty compact. I don't remember offhand...oh, I'll just look it up.

...

Ok, looks like it's about 64 bytes of code to make it speak plus whatever speech data you use plus some miscellaneous setup code - to point the speech pointer at the correct speech data at the right time, etc.

As far as the data, maybe...well, it depends. Maybe figure 4-6 bytes for each phoneme. Took 30 bytes to get "go fish" (g-oh-f-i-sh):


That is incredibly compact. I will definitely look into it. Did you write Go Fish? That is one of my favorite homebrews. Is there any emulator that supports the Vox?

Some more info...
Richard Hutchinson's AtariVox page is here (he created the thing): http://www.vectrex.biz/
Download the driver pack for the AtariVox at the AA store page for the AVox: http://www.atariage....products_id=295
Yes, I wrote Go Fish! ;)
No, as far as I know no emulator supports the speech of the AVox. Some modified versions of an emulator may be floating around which support the EEPROM memory in the AVox, but I can't remember exactly.

And, actually, if you are going to try to use the AVox, get in touch with Richard H, he has tools and info that are a big help. ;)

Edited by vdub_bobby, Tue Feb 19, 2008 1:19 PM.


#16 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Tue Feb 19, 2008 1:33 PM

Yes, I wrote Go Fish! ;)


Excellent. I just have to say that those sharks are exceptionally aggravating! :)

#17 Zach OFFLINE  

Zach

    Stargunner

  • 1,620 posts

Posted Tue Feb 19, 2008 2:17 PM

Is there any emulator that supports the Vox?

I recently ordered a new AtariVox, so just LMK when you are ready for testing, Devin.

#18 Numan OFFLINE  

Numan

    Stargunner

  • 1,205 posts
  • Location:Jagged Halo

Posted Tue Feb 19, 2008 8:48 PM

Both the C64 and the 2600 look very good, hope you finish both.


Is there any emulator that supports the Vox?

I recently ordered a new AtariVox, so just LMK when you are ready for testing, Devin.



#19 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Tue Feb 19, 2008 9:13 PM

Both the C64 and the 2600 look very good, hope you finish both.


Thanks. I don't plan to finish the C64 version - it was written in BASIC. ... and "spaghetti BASIC" no less. :)

#20 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Thu Mar 6, 2008 6:31 AM

Here is a quick update on how the project is progressing. I've attached screenshot from a recent build.

Sorry, I can't attach a binary at the moment. I am currently doing brain-surgery on the application to prepare it for the eventual jump to 8k. The ring was set green for testing, but I am becoming convinced that this might be the final appearance. Let me know what you think.

Cheers.

Attached Thumbnails

  • KO_Cruiser___2008_03_04.PNG


#21 Big Player OFFLINE  

Big Player

    River Patroller

  • 3,661 posts
  • Overrated 70's dinosaur
  • Location:Cincinnati, Ohio

Posted Thu Mar 6, 2008 2:21 PM

The ring was set green for testing, but I am becoming convinced that this might be the final appearance. Let me know what you think.


I like the look of the green canvas but if you keep it, the player controller boxer should change to a color that provides more contrast.

This is an amazing looking WIP. I loved the arcade game.

#22 Zach OFFLINE  

Zach

    Stargunner

  • 1,620 posts

Posted Fri Mar 7, 2008 9:18 AM

The ring was set green for testing, but I am becoming convinced that this might be the final appearance. Let me know what you think.

Do you want to try to make posts for the ropes using the playfield?

#23 Devin OFFLINE  

Devin

    Moonsweeper

  • Topic Starter
  • 489 posts
  • Its all HCLR to me!
  • Location:Sacramento, California,

Posted Fri Mar 7, 2008 9:48 AM

Do you want to try to make posts for the ropes using the playfield?


The computer player's head and torso can cover the ropes - and both use the ball. That would make some pretty funky looking posts! :-D

I'm sure I can playing some timing games, but the code is already pretty tight on available time.

#24 Zach OFFLINE  

Zach

    Stargunner

  • 1,620 posts

Posted Fri Mar 7, 2008 1:04 PM

The computer player's head and torso can cover the ropes - and both use the ball. That would make some pretty funky looking posts! :-D
I'm sure I can playing some timing games, but the code is already pretty tight on available time.

Right. Forgot about that. Maybe someone around here will have a clever solution.

#25 Shawn Sr. OFFLINE  

Shawn Sr.

    Atardid

  • 13,128 posts

Posted Fri Mar 7, 2008 4:30 PM

Holy Cluckin' Hit! This is awesome!!




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users