Jump to content
IGNORED

"Arcade Warlords" hack?


Feralstorm

Recommended Posts

After picking up a Jakks Atari paddle game on clearance (five bucks!) I've become quite a fan of the arcade version of Warlords, and noticed how different it was from the Atari 2600 version. I was curious (as a non-programmer) how problematic it would be to hack some of these elements into the 2600 version:

 

. Change the 'seated king' images to the crown for human players or the 'knight vader' head for computer players

 

. Add a little more variation to the ball motion. the 2600 version seems to let the ball only move in eight directions

 

. In the arcade version, when one of the other players is killed, another fireball is added to the mix. Extras are also added when the round lasts too long.

 

So, how tough would it be to add one or more of these featureds to 2600 Warlords? I figured it was programmed pretty tight since there can be up to four objects on a scanline (two kings, two sheilds, and the ball) and the playfield is assymetrical when battered down a bit.

Link to comment
Share on other sites

IIRC, the king shapes are done by using the missile sprites at various widths. Using player objects instead would either require that they be moved to different scanlines not used by the shields, or by alternating frames (i.e. added flicker).

 

The ball is done using the ball sprite. This is noticable just by how it changes colors to be the same as the playfield walls on the same scanlines. Multiplying it or changing it to be fireball(s) would add flicker, as you'd either be using multiple ball sprites or player objects which are already in use from the shields.

 

And of course, you'd need to allocate more ram to the sprite objects to be able to keep track of the above changes. Might not be worth it, since any of them would turn a non-flickering game into a flickering one.

 

 

Adding additional ball trajectories would be the easiest change, all that is required here is additional rom code (and possibly additional bits of ram if it's currently only using 2 bits to hold it's direction). "Easy" being a relative word...since it would still probably take quite a bit of editing to handle more than 8 ;) But upping the game to use bankswitching would yield plenty of space to do so.

Link to comment
Share on other sites

IIRC, the king shapes are done by using the missile sprites at various widths.  Using player objects instead would either require that they be moved to different scanlines not used by the shields, or by alternating frames (i.e. added flicker).

I was speculating the kings might've been made outta missiles. Certainly explains why there's no flicker in the game though.

 

The ball is done using the ball sprite.  This is noticable just by how it changes colors to be the same as the playfield walls on the same scanlines.  Multiplying it or changing it to be fireball(s) would add flicker, as you'd either be using multiple ball sprites or player objects which are already in use from the shields.

 

yeah, I knew the ball was... the ball. I wouldn't care about making it actually look like a fireball (would be cool, but doesn't affect the gameplay at all, so not necessary)

 

the thing that most interested me is adding the extra ball when one of the players died, as it really spices up the latter part of a round. there might be at most two extra balls if the 'waited too long' extra balls are ignored (more than two players dead and the round's won anyway) I was thinking it could be done with missiles (like the extra balls in Super Breakaout), since one 'frees up' when a king dies, but that only really works (flicker-free) if an extra ball does not go on a scanline with two living kings.

 

And of course, you'd need to allocate more ram to the sprite objects to be able to keep track of the above changes.  Might not be worth it, since any of them would turn a non-flickering game into a flickering one.

 

true. it's often tough enough to keep your eye on the fast moving ball. it would be even tougher if a ball was only drawn every other frame.

 

Adding additional ball trajectories would be the easiest change, all that is required here is additional rom code (and possibly additional bits of ram if it's currently only using 2 bits to hold it's direction).  "Easy" being a relative word...since it would still probably take quite a bit of editing to handle more than 8 ;)  But upping the game to use bankswitching would yield plenty of space to do so.

 

it's sounding more and more like making something more like the arcade version of Warlords might either not be worth the effort, or something that would be better done from the ground up, instead of hacking the 2600 version.

 

Still fun to be speculative on such things.

Link to comment
Share on other sites

Yeah, I think Castle Crisis pretty much took care of my Warlords needs. The VCS Warlords would just get too messy if you tried to pack anymore in. Its would be extremely cool, were it possible, but from what Nukey says, it sounds like a cure worse than the disease sitch.

 

Ah well, at least we do have Castle Crisis. Its the bomb.

Link to comment
Share on other sites

Hmm, any chance of a 7800 version of Castle Crisis? (using paddles of course) :)

 

On the idea of hacking the 2600 Warlords, my best concept is this (which may well be totally impractical, as it probably involves radical changes to the display kernel)

 

use the player sprites to do both the sheilds and the kings. It would flicker mildly, though it might be possible to limit that to flickering only when the sheilds are on the vertical sides of the castles, where the sheilds and kings would be on the same horizontal line.

 

use the two missiles as up to two extra balls, when players die. They shouldn't need to flicker, since they wouldn't be used elsewhere, though they might change color when they get in line with whichever player sprite that missile belongs to.

 

Just speculation, as I said. I do have one other question regarding 2600 Warlords. I always noticed there was a scanline on the screen where the sheild would transfer between the side-facing and diagonal-facing images as it passed through it. (also noticed the Jakks version didn't do that). So... what's up with that? Display kernel shift?

Link to comment
Share on other sites

Hmm, any chance of a 7800 version of Castle Crisis? (using paddles of course)   :)

 

Possibly. I haven't really looked into the 7800 much.

 

Just speculation, as I said. I do have one other question regarding 2600 Warlords. I always noticed there was a scanline on the screen where the sheild would transfer between the side-facing and diagonal-facing images as it passed through it. (also noticed the Jakks version didn't do that). So... what's up with that? Display kernel shift?

 

I don't think the Jakks units actually emulate the 2600. I think they're re-writes.

 

-Bry

Link to comment
Share on other sites

I think I'm probably alone in liking the VCS Warlords better than the arcade but only because it's easier to teach people and for novices to play. At one of my parties, I set up 4 of my friends wives/girlfriends on VCS Warlords and they played for HOURS. They never tried it when they were younger because they assumed it was a "boys" game when they were kids. Now they ask to play it whenever we have people over. Part of the reason I think is the small learning curve and simplified battle of the VCS version.

 

When I play solo, I prefer the arcade version though.

Link to comment
Share on other sites

  • 11 months later...
On the idea of hacking the 2600 Warlords, my best concept is this (which may well be totally impractical, as it probably involves radical changes to the display kernel)

 

use the player sprites to do both the sheilds and the kings. It would flicker mildly, though it might be possible to limit that to flickering only when the sheilds are on the vertical sides of the castles, where the sheilds and kings would be on the same horizontal line.

787577[/snapback]

 

It would be possible to use the same sprites for shields and kings, without flicker, if the spacing were correct. Unfortunately, the left edge of the shield sprite would have to be either 32 or 64 pixels from the left edge of the king sprite. I would think 32 pixels is probably not enough and 64 is probably too much. If it was acceptable to have the each shield be the color of the opposite king, the spacing would probably be about right (the sprite would wrap around the screen edge).

 

If the kings were handled this way, that would allow both missiles to be used in addition to the Ball. I would expect the projectiles would have to use a 2LK to allow adequate time to read paddles. Fortunately, I think I know a way to do that quickly (32 cycles to read all four, or in some cases 26).

Link to comment
Share on other sites

Sounds great. More than one fireball on the screen at a time is the major need for improving 2600 Warlords.

 

Another improvement needed is some sort of penalty for holding the fireball. I love the arcade way, since there is no penalty if your castle is destroyed. Allowing players to hold the fireball forever changed the game for the worse.

Link to comment
Share on other sites

Holy Crap! my old thread got zombiefied! (and in a good way) :)

1001757[/snapback]

 

Well, it's possible to show two 16-pixel-wide(!) kings, two movable shields with proper matching colors, two five-brick stretches of playfield, and the Ball, all in a single-line kernel. And going two a two-line kernel would let me do the missiles if it weren't for one teensy little detail: NUSIZx affects missiles as well as players. Grrrr... Still, if one wanted to simply improve the game visually the new kernel is sorta nice--makes the kings look really spiffy.

 

Otherwise, a few plans I can see would be:

 

-1- Use one player to show both shields (via NUSIZx), during the part of the scan which features the kings; use its missile to show the kings (also via NUSIZx). I think the two shields would probably be best rendered using two copies wide, but I think that would put the kings too far from the edge (28-36 pixels). It may be possible to jinx NUSIZx mid-beam to use closer spacing for the kings but I don't know if there'd be time for doing both that and color updates unless the colors WERE the NUSIZx values.

 

-2- Flicker the kings at 30Hz and use whichever missile isn't being used on a given frame as a fireball (limit 2 fireballs). Note that one of the fireballs would flicker colors, but would be visible every frame.

 

-3- Don't use missiles at all for the kings; draw them with playfield instead. This would free up both missiles.

 

-4- Use venetian blinds for everything.

 

What do people think of these different plans?

 

BTW, the enclosed demo uses the first three paddles to move the shields and the Ball. The top part of the screen is used for paddle reading; in the real game it would only be necessary to read the paddle during the part of the screen between the kings, and the kernel test is only for the king area, so I'm not worried about not overlapping as I would in a real game. Below the colored paddle-reading area is a binary readout of the four paddle values, and then below that is the Warlords "king" kernel. Only one fireball, but single-line resolution on all three movable objects.

wtest.bin

Edited by supercat
Link to comment
Share on other sites

I plan to investigate a few ideas once I finish documenting the source code. I've put in 8 hours so far.

 

Things I'm considering are

 

1) flicker the ball for 2 or 3 fireballs - probably the easiest to implement as I wouldn't have to change the display kernel, just "swap" the contents of the fireballs x-y positions.

 

2) flicker the sprites for King & Shield(maybe have a unique king for each player). Use ball and missiles for 3 non-flickering fireballs. An interesting side effect would be captured fireballs would always be visible. Also plan to try to "round robin" the fireballs to make them "flame flicker"(ie - 1st screen the 1st fireball is drawn using the ball, 2nd screen it's missile 0, 3rd screen it's missile 1). If this works it'd be worth trying one of the missles double-wide for different flicker effect - though I suspect it might look lame.

 

3) damage to your own wall(remove a random block) if you hold the fireball too long

 

4) repair your own wall if somebody else is holding the fireball - move paddle to extreme left/right/left to add back a random block.

Link to comment
Share on other sites

1) flicker the ball for 2 or 3 fireballs - probably the easiest to implement as I wouldn't have to change the display kernel, just "swap" the contents of the fireballs x-y positions.

 

Would probably make game harder to play, given the speed at which the ball moves.

 

2) flicker the sprites for King & Shield(maybe have a unique king for each player).  Use ball and missiles for 3 non-flickering fireballs.  An interesting side effect would be captured fireballs would always be visible.  Also plan to try to "round robin" the fireballs to make them "flame flicker"(ie - 1st screen the 1st fireball is drawn using the ball, 2nd screen it's missile 0, 3rd screen it's missile 1).  If this works it'd be worth trying one of the missles double-wide for different flicker effect - though I suspect it might look lame.

 

Using all three 'blob' sprites for balls would be nice, but would be a complete kernel rewrite.

 

3) damage to your own wall(remove a random block) if you hold the fireball too long

 

How about releasing the ball backward? BTW, I think that if you catch the ball with the back of your paddle it should also release backward (but give you a choice of where it goes).

 

4) repair your own wall if somebody else is holding the fireball - move paddle to extreme left/right/left to add back a random block.

1002025[/snapback]

 

Would probably make things take too long.

 

You forgot IMHO the most important improvement: ADD MORE ANGLES. If I understood the schematics correctly, the original PONG had 24 directions the ball could move (32 combinations of direction/speed). Warlords only has four directions.

 

Adding more directions would greatly improving gameplay. Another option to increase interest: ENGLISH. Make it so that the velocity vector of the ball is continuously slightly affected by the shield position of the last player to hit it. This would greatly increase the players' degree of control over the game.

Link to comment
Share on other sites

I'm more inclined to do #2, but will try #1 since it'd be so easy to test (make fireball 2 & 3 stationary for the test)

 

I'll keep #3 in mind

 

I think #4 would work ok as it would to induce players to not hold the ball for a long time(ie: the repair trick only would work if somebody else was holding the ball)

 

Will definitely check the angles - though I'm sure there's more than 4 as up/down/left/right would be extremly boring.

Edited by SpiceWare
Link to comment
Share on other sites

IMO use PF for kings; using the missiles is a waste of the missiles since it doesn't look any better than the PF would anyway. And you are writing to the PF every scanline anyway...would require some extra collision detection code.

 

Then you've got a max of 3 fireballs easy. :)

 

Do that and add more angles to the fireballs' movement and you'd have a very nice, and probably not too difficult, hack. Well, depending on how much free RAM there is.

 

I agree that flickering the fireballs is a bad idea; they move too fast.

Edited by vdub_bobby
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...