Jump to content
CPFace

Pong Kombat WIP

Recommended Posts

I got permission from Stephen Gagne to do an Atari 2600 adaptation of Pong Kombat, and I've got enough done that I'd like to show it off.

 

pk1.bin

pk1.bas

 

At the first screen, press up and down to select your character (one of five multi-colored paddles), then press Fire or Reset to begin. Up and down moves your paddle, fire button launches a projectile. Select returns you to the first screen.

 

Both paddles have an energy bar along the top of the screen. You take a hit every time you miss the ball or your opponent hits you with a projectile. If you lose all of your energy, the game's over and you return to the first screen. If you beat your opponent, you move on to the next round. There's five regular characters to beat, and then a boss encounter with the original White Paddle.

 

Still left to do, in order of importance:

-- Sound effects.

-- Text on the title screen and before and after rounds.

-- Two-player support (I know I'll have to dip into assembly to read joy1)

-- Button-combination special attacks. Stephen Gagne's version worked like most fighting games -- you had to enter a specific sequence on the controller to launch a projectile.

 

And if I still have some room left, I just might try and squeeze in a fatality animation and/or some secret bosses.

  • Like 1

Share this post


Link to post
Share on other sites

Very interesting, but way too hard. It's just me, but making sure you keep the ball in play, avoiding enemy fire and trying to fire someone else is just too much for me to do at one time. It's probably my inability to multitask.

Share this post


Link to post
Share on other sites

Good. I was worried it would be too easy. >:) I've already gotten to the point where it's easy for me to beat White Paddle.

 

In this version, the easiest strategy is to pick Green Paddle as your character and hold down fire to unleash a nearly-continuous string of attacks. You don't have to bother aiming, but your chances of hitting are slightly better near the middle of the screen. The CPU paddle only fires when it's directly across from you, so avoid lining yourself up with it if you can manage. When the ball is at its greatest angle, its vertical speed is greater than yours, so you'll have to learn to anticipate where it's going and get there in advance. You can put a spin on the ball by holding up or down on the joystick as you make contact. Get the ball bouncing at +/- 60 degrees for your best chance of getting it past the CPU. (This doesn't work with White Paddle -- he never misses.)

 

Right now I've got everything done on my must-do list except button-combination attacks, and all of 691 bytes to implement it. I suspect that I'm not going to get around to the extra features; I'd like to keep it under 4K for now.

Share this post


Link to post
Share on other sites

Well all right then! A far more complete build of Pong Kombat.

 

pk2.bin

pk2.bas

 

At the title screen, press select to alternate between one and two players. A two-player match is one round, then it returns to the title screen.

 

You now have to enter secret combinations to do the special attacks -- fire button doesn't do anything except in a combination. To make it easier to figure out, all combinations are a series of four inputs, and the only inputs used are UP, DOWN, and FIRE. There is no limit to how long you hold down an input, and no limit to how long you can go between inputs. To get you started, Red Paddle's special attack is DOWN, UP, FIRE, FIRE. You can figure the rest out yourself, or check a FAQ for the original game -- they're all the same. ;)

 

I have 519 bytes left, and I'm tempted to see how many of the following features I can still cram into this game:

- Difficulty switches for each player. In A position, the player has to enter the secret combination to attack. In B position, the player can press fire to attack.

- Fatality animation. Something simple.

- Hidden boss.

Share this post


Link to post
Share on other sites

In the end, I decided that the thing that makes Pong Kombat Pong Kombat is the fatalities. If you don't have those, then it's just "Pong where you can shoot at your opponent". So I used up the very last of my ROM space to add a fatality animation. The animation is basically the same for every character, but the keystroke pattern is different.

 

I have under 100 bytes of ROM space left, and I'm tempted to see if I can get one more character in there. The character Monolith was important to the original Pong Kombat story (he played Goro to White Paddle's Shang Tsung), and it just wouldn't be the same without him. I might yet see if I can put him into the regular character rotation, but I really doubt I'll have enough room to make him a hidden character, as he was in the original. Unless I really start crunching my code down. Hmmm.

 

Still, if I have to stop here, I'm pleased with what I was able to accomplish.

 

pk3.binpk3.bas

 

And a note about the source code -- it was written for bBasic .35, but it won't compile because of the way negative step values are handled in for-next loops. To compile it, you'll have to open the asm file, search for "ADC #-1" and change it to "ADC #255". I might write an assembly work-around for that bit, but I figure this is good enough for right now. :)

Share this post


Link to post
Share on other sites

In the end, I decided that the thing that makes Pong Kombat Pong Kombat is the fatalities. If you don't have those, then it's just "Pong where you can shoot at your opponent". So I used up the very last of my ROM space to add a fatality animation. The animation is basically the same for every character, but the keystroke pattern is different.

 

I have under 100 bytes of ROM space left, and I'm tempted to see if I can get one more character in there. The character Monolith was important to the original Pong Kombat story (he played Goro to White Paddle's Shang Tsung), and it just wouldn't be the same without him. I might yet see if I can put him into the regular character rotation, but I really doubt I'll have enough room to make him a hidden character, as he was in the original. Unless I really start crunching my code down. Hmmm.

 

Still, if I have to stop here, I'm pleased with what I was able to accomplish.

 

pk3.binpk3.bas

 

And a note about the source code -- it was written for bBasic .35, but it won't compile because of the way negative step values are handled in for-next loops. To compile it, you'll have to open the asm file, search for "ADC #-1" and change it to "ADC #255". I might write an assembly work-around for that bit, but I figure this is good enough for right now. :)

I never noticed this problem because DASM 2.20.7 (which I use) will properly interpret ADC #-1 exactly the same as ADC #255. However, my research indicates that a bug was introduced in DASM 2.20.10 which interprets #-1 as an enormous number, which it doesn't like.

 

If you want to avoid hacking the asm or using inline asm, download DASM 2.20.7 or change your source code to "step 255."

Share this post


Link to post
Share on other sites

Huh, sure enough. :) I thought about trying that, but I wasn't sure bBasic would set up the counter to decrement if I had a "positive" number listed for the step. Silly me, should've just tried it.

Share this post


Link to post
Share on other sites

With 3 bytes remaining on the ROM and barring any major bug-related disasters, here's the complete version of Pong Kombat for the 2600.

 

pk4.binpk4.txt

 

I managed to get Monolith in as a hidden boss, but the condition to find him is different from the original.

 

All in all, this is about as complete an adaptation of Pong Kombat as I'd hoped to make. I haven't the slightest hope of distributing this game in cartridge form, and considering the trademarks and copyrights held by Atari and Midway, I'm not sure how happy Atari Age would even be about hosting the ROM. But there it is. I think it was an excellent exercise and that I need to start dreaming up my own game ideas.

Share this post


Link to post
Share on other sites
Posted (edited)

We'll be checking out Pong Kombat on today's (Wed May 27) ZeroPage Homebrew stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT! Hope everyone can watch!


Games:

 

 (SET VIDEO TO 1080P60 FOR FULL QUALITY)

 

 

 

Edited by ZeroPage Homebrew
  • Like 2

Share this post


Link to post
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.

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...