Jump to content
Andromeda Stardust

Medieval Mayhem is kicking my butt...

Recommended Posts

A box recently arrived at my house. In it was a handful of 2600 homebrews, including Medieval Mayhem, Gunfight, and Warring Worms. Now beforehand I considered myself a "pro" at games like PONG and Warlords. I was good enough at PONG aka "Video Olympics" that I was about an even match for my buddy using the difficulty switches to handicap myself, with me using the small paddle and him using the larger one. And I could whup him in Warlords, too. I remembered the AI being really easy to beat on the original Warlords, but when I popped in the Medieval Mayhem cart, I got my @ss handed to me on a silver platter. At first, I played a round with the default "fast" setting on 3 balls, then "slow", then "Medieval," getting beat every time, and after reading the manual, I set it to "Kids" with 1 ball, disabled holding on all but my own paddle, and set myself up as the Blue Castle, which seemed to be the strongest CPU player. I still kept getting whupped, and I couldn't win a single round, ever...

 

My score (Medieval Mayhem, "kids", 1 ball):

0-1-4-5.

 

It seemed like the "speed" setting only slows down the rate of the balls, but not the reaction of the AI players. Instead, the CPU players hit the ball every time with ninja reflexes, and the rounds drag on forever, sometimes with me (blue) eliminated before the red and green even had a single hit on their castles. I thought to myself, "I know I don't suck this bad," and their doesn't seem to be any option to actually "dumb down" the CPU opponents. It's like I'm playing the same "expert" opponents regardless of what speed I set the balls at. "kids" mode with 1 ball just made the gameplay painfully slow. I didn't recall sucking that bad, so I popped in the original Warlords and started a 1 player game. Like I expected, it was a total shutout within a few very short minutes.

 

My score (Warlords, single player, variation #4):

5-0-0-0

 

While I must admit, the graphics and audio are absolutely superb, it's just not any fun unless I can get some kind of balanced difficulty. Next time my buddy comes over to my house, I'll give it a whirl, but it seems like there's no real way to dumb down the AI, short of playing a 2 player game in 4 player mode against "dead" opponents, which is boring and lame. I don't even own a second set of paddles. My friend is slightly less skilled than I am at Warlords (although he could whup my butt in Combat), and I imaging when we finally play each other on Medieval Mayhem, the CPU will probably annihilate us, unless we play doubles mode. Honestly, the dumb AI in the original Warlords made for a great multiplayer experience. In opposite corners, we would often play co-op until the enemies were annihilated, then it would be all out war between the two of us, winner take all. I don't know when I'll be able to invite him over again with his work schedule, and my mom and fiance are complete non-gamers.

 

Anyone else run into problems trying to play Medieval Mayhem, or do I just really suck that bad? If I could somehow get the CPU opponents to be somewhere harder than Warlords, but easier than it is now, then maybe it would be a more well-rounded experience. I really want to be able to set the CPU so that I win some and lose some, but as it stands, Warlords is a pushover and Medieval Mayhem just seems unfair. Don't get me wrong, I want to enjoy this game, but it's hard to play against a CPU that constantly wins or constantly loses. I read the reviews and they said the AI was a lot smarter in Medieval Mayhem, but this is insane. I know Atari fixed the CPU difficulty in single player variations of PONG by setting a maximum velocity for the paddle to travel, ensuring that the human opponent would have a fair chance to win.

 

I really want to love this game. :dunce:

 

Hopefully, the AI in "Gunfight" and "Warring Worms" will be a little more balanced...

Edited by stardust4ever

Share this post


Link to post
Share on other sites

The AI can be beaten pretty consistently, once you get the hang of it. I'm in the upper left corner (purple). Don't watch the video (or read the spoilers) if you want to figure it out on your own.

 

http://www.youtube.com/watch?v=h10rVQHkfZ8

 

Tricks:

 

  • To take the opponents out, the fireball has to be traveling fast. Bounce it back and forth with the blue opponent a few times to build its speed up.
  • Take out the green opponent first, by shooting the ball towards his upper-right corner. You can usually get the fireball past him, and into his castle.
  • Take out the red opponent next. He's toughest. The key is to wait until he's distracted by a second fireball. He'll move away from defending against you, and go after the other ball instead. Then nail him.
  • The blue opponent is by far the easiest. Just move to the right, and quickly flip back to the left and fire. He can't keep up with you.

 

 

Share this post


Link to post
Share on other sites

I tried replying earlier today but triggered the new, overly aggressive firewall somehow and was blocked from the site. I'd saved my reply text, but Al fears it'll block me again as the firewall was triggered based on the content of the reply. So here's a newly typed in, though abbreviated, reply:

 

The AI players do have different speeds. If you care to check the source code, you can search for AIPS. It's a table that defines the speeds of the AI players. Each row is the speed for a single AI player. The row that's used is based on Speed (menu option)+ ActiveFireballCount + Corner, so each AI player has a different speed and that speed increases as more fireballs become active.

 

Because the speed is based in part on Corner you can choose a different corner to make the game easier.

Share this post


Link to post
Share on other sites

Note: testing original reply for Al

 

If you choose a different corner the game will be easier.

 

If you check out the source code you'll find the following table that defines the AI player speeds:

; AI Player Speeds
; where GameSpeed = 1(slowest) thru 4(fasest)
; Speed = GameSpeed - 1 + FireballCount - 1
; effect Speeds 0 thru 5
; X = Y * 1.2
; PAL = NTSC * 1.2
;                          N T S C                      --------SPEED---------
;             -------X-------  -------Y-------    X  Y   0   1   2   3   4   5
AIPS    .byte 0,1,1,1,1,1,1,1, 0,1,1,1,0,1,1,1 ;  7  6   P1
       .byte 2,1,1,1,2,1,1,1, 1,1,1,1,1,1,1,1 ; 10  8   P2  P1
       .byte 1,2,1,2,1,2,1,2, 2,1,1,1,2,1,1,1 ; 12 10   P3  P2  P1
       .byte 1,2,2,2,1,2,2,2, 2,1,2,1,2,1,2,1 ; 14 12   P4  P3  P2  P1
       .byte 3,2,2,2,2,2,2,2, 1,2,2,2,1,2,2,2 ; 17 14       P4  P3  P2  P1
       .byte 3,2,2,3,2,2,3,2, 2,2,2,2,2,2,2,2 ; 19 16           P4  P3  P2  P1
       .byte 2,3,3,3,2,3,3,3, 3,2,2,2,3,2,2,2 ; 22 18               P4  P3  P2
AIDEMO  .byte 3,3,3,3,3,3,3,3, 3,2,3,2,3,2,3,2 ; 24 20                   P4  P3
       .byte 4,3,3,3,4,3,3,3, 2,3,3,3,2,3,3,3 ; 26 22                       P4

 

The follow code snippet, found just after label VerticalBlankGameCode, calculates the speed for the players. The speed is defined by the GameSpeed (kids, slow, fast, medieval), the number of fireballs in play, and which corner.

 

        lda #<AIPS            ; 2 14
       sta MaxMoveAmount     ; 3 17
       lda #>AIPS            ; 2 19
       sta MaxMoveAmount+1   ; 3 22
       lda GameOptions       ; 3 25
       and #%00001100        ; 2 27 get speed, 0-3
       lsr                   ; 2 29
       lsr                   ; 2 31
       clc                   ; 2 33
       adc FireBallsInPlay   ; 3 36
       ldx FireBallsInPlay   ; 3 39
       beq Times16           ; 2 41 3 42   if no fireballs then don't subtract
       sec                   ; 2 43
       sbc #1                ; 2 45
Times16
       asl                   ; 2 47
       asl                   ; 2 49
       asl                   ; 2 51
       asl                   ; 2 53
       clc                   ; 2 55
       adc MaxMoveAmount     ; 3 58
       sta MaxMoveAmount     ; 4 62

Share this post


Link to post
Share on other sites

I tried replying earlier today but triggered the new, overly aggressive firewall somehow and was blocked from the site. I'd saved my reply text, but Al fears it'll block me again as the firewall was triggered based on the content of the reply. So here's a newly typed in, though abbreviated, reply:

 

The AI players do have different speeds. If you care to check the source code, you can search for AIPS. It's a table that defines the speeds of the AI players. Each row is the speed for a single AI player. The row that's used is based on Speed (menu option)+ ActiveFireballCount + Corner, so each AI player has a different speed and that speed increases as more fireballs become active.

 

Because the speed is based in part on Corner you can choose a different corner to make the game easier.

Thanks for the tips. I haven't done any ROM hacking in a while (however I do have sufficient knowledge to open a ROM image, find a particular value, and change it), but unless someone creates a Game Genie type device for the Atari, my only option would be running a modified ROM on the Harmony. While I do enjoy a fast paced game, the problem with the AI is that it almost flawlessly tracks the ball. On the original Warlords game, I discovered a move that can quickly annihilate the CPU kings directly adjacent to my castle. On Warlords, the AI tracks the ball but it lags considerably in it's tracking.

 

 

i figured out a super easy way to defeat the AI opponents in Warlords. I call it the "flick and throw" technique. I hold the ball in my paddle, while rotating the paddle in one direction, the opponent follows the ball away from the edge of the screen, then I rapidly rotate, or "flick" my paddle to the edge of the screen and immediately release the ball. At this point the AI paddle is too far from the edge and cannot move quickly enough to prevent the ball from striking the castle. This attack works horizontally and vertically, and Player 1 can quickly eliminate the two adjacent CPU opponents. A human player can also attack the opposite opponent by launching the ball diagonally to the middle right or bottom edge of the playfield. The bank shots are less accurate, but once again the Warlords AI is too slow to track the ball when you do bank shots, and it is possible to eliminate much of their defenses that way for an easy shot. Because the AI opponent is "dumb," once you learn a successful attack pattern, it works every single time.

 

 

Using the above techniques against a human opponent may only knock a couple of bricks out before he/she figures out your attack pattern and blocks it. Because when it comes to paddle type games, it would be exceedingly easy to program an AI opponent that tracks perfectly, but a PONG or Warlords opponent that never loses is lame and unfair. Humans have a less than instant reaction speed, human-like response can be emulated easily by either "lagging" the AI response (added lag would create a more human-like behavior, but would require a little too much RAM to emulate properly on the VCS console) or the software can set a maximum velocity aka "speed limit" which is what Atari used when creating the PONG series of games (I have read "Racing the Beam"). This is why edge shots are extremely effective at defeating a PONG/Warlords AI opponent. Having a fast response isn't the only limitation of human skill, but as the controls are analog, accuracy can take a hit as well. For instance, when I see the ball heading towards my castle and attempt to block the ball, the position of my paddle may be slightly right or left just enough to miss the ball.

 

Anyway, I feel like the AI in Medieval Mayhem is a little too tight and accurate. Honestly, the AI doesn't really seem to start missing a lot of balls until there are two or more in play. Maybe I'll get better at it as I keep playing. I sucked at Duck Hunt when I first got my NES in 2002, but I got really good at it pretty quickly. I'll probably try my hand next with 2 balls and slow/fast speed.

Edited by stardust4ever

Share this post


Link to post
Share on other sites

Thanks for the tips. I haven't done any ROM hacking in a while (however I do have sufficient knowledge to open a ROM image, find a particular value, and change it), but unless someone creates a Game Genie type device for the Atari, my only option would be running a modified ROM on the Harmony.

 

You don't need to hack the ROM to play in a different corner, just select a different 1 player game. You still use paddle 1 to play regardless of which corner you select:

post-3056-0-36269500-1361757191_thumb.png post-3056-0-89387900-1361757197_thumb.png

post-3056-0-48712300-1361757203_thumb.png post-3056-0-14828500-1361757211_thumb.png

 

Anyway, I feel like the AI in Medieval Mayhem is a little too tight and accurate.

No argument there. Getting AI to be "just right" can be quite complex and I don't recall getting that much feedback about it when I was developing the game.

Share this post


Link to post
Share on other sites

You don't need to hack the ROM to play in a different corner, just select a different 1 player game. You still use paddle 1 to play regardless of which corner you select:

I've tried that already. The manual recommended using the player 4 corner (blue) for an easier game. I played a few rounds on default settings and the blue player got the most points. Also, I have noticed when I selected the player four (blue) castle, player one (purple) castle seemed to be the easiest target, and the only opponent that I was able to defeat using the Warlords "flick and throw" technique I perfected (see my spoiler in the above entries). A couple of times, my king was defeated before either of the red/green castles had more than a couple bricks compromised.

No argument there. Getting AI to be "just right" can be quite complex and I don't recall getting that much feedback about it when I was developing the game.

Thanks anyway for creating this; it's still a great game. I wished I could have been on the Atari scene during development / beta phases. Since you designed 4 independent levels of AI difficulty, I just wished there was an option to set the AI difficulty per player, example "Easy," "Medium," "Hard," "Medieval." I believe three kings with a comparable difficulty to the player 1 (purple) level would have provided a more balanced challenge. The reviewers in the Atariage store mentioned a more balanced AI, and indeed I expected Medieval Mayhem to offer a little more challenge than Warlords, especially as a single player affair. I just wasn't expecting to get slaughtered so quickly. If I could just win a single round every now and then, I'd be happy. As a 32 year old male with no kids, with essentially non-gamers in my close family (mom and fiance), it's really tough sometimes to find human opponents to play with, especially with the VCS's limited resources for AI. That's one reason why I also enjoy modern games such as Mario Kart Wii / 7 where you can compete online with random opponents...

 

While I consider myself to be a very well rounded gamer, I don't consider myself an "expert" by any means. For instance, I can't beat any of the robot masters in the NES Megamans without a Game Genie, and even with cheats, those games can still be extremely frustrating due to "death spikes" everywhere. I believe one issue that arises whenever developers create a game, is that the developer eats, breaths, and sleeps his/her game, and will automatically know every tip, trick, shortcut, and Easter egg because he/she created it. Because of this, anyone who develops a game will gradually become an expert at it. This is why developers often do extensive play testing of their games during beta stage. Atari was known to set up arcade prototypes in public spaces to collect feedback from everyday players. Not really Warlords/Medieval Mayhem related, but while most VCS games have "1-hit deaths", there also often aren't nearly as many sprites to avoid as later more advanced tile based game systems, and enemies are in general much simpler, so the difficulty factor balances itself out when compared to later more advanced games with perhaps tons of enemies and a health meter.

Edited by stardust4ever

Share this post


Link to post
Share on other sites

I just wished there was an option to set the AI difficulty per player, example "Easy," "Medium," "Hard," "Medieval."

That would have been nice, but every byte of RAM in the 2600 was spoken for. One of the challenges of writing games on the the Atari is the limited resources. I was interviewed by Good Deal Games, where I talked about the RAM constraint in regards to MM:

The Atari has 128 bytes of RAM - not megabytes, not kilobytes, just bytes. During development I frequently ran out of RAM and had to revise how the game was utilizing memory. One way to save RAM is to combine multiple variables into a single byte by using specific bits within the byte. An example of this is a single byte stores the settings for Castle Hit Flash, King Hit Flash, Game Speed and Maximum Fireballs as well as keeping track of the game state(is the menu, demo game, or active game showing). Another way is to repurpose bytes so they mean different things in different parts of the program. An example of that is the RAM used to draw the Main Menu is the same RAM used to draw the castle bricks during the game.
Edited by SpiceWare

Share this post


Link to post
Share on other sites

That would have been nice, but every byte of RAM in the 2600 was spoken for. One of the challenges of writing games on the the Atari is the limited resources. I was interviewed by Good Deal Games, where I talked about the RAM constraint in regards to MM:

The Atari has 128 bytes of RAM - not megabytes, not kilobytes, just bytes. During development I frequently ran out of RAM and had to revise how the game was utilizing memory. One way to save RAM is to combine multiple variables into a single byte by using specific bits within the byte. An example of this is a single byte stores the settings for Castle Hit Flash, King Hit Flash, Game Speed and Maximum Fireballs as well as keeping track of the game state(is the menu, demo game, or active game showing). Another way is to repurpose bytes so they mean different things in different parts of the program. An example of that is the RAM used to draw the Main Menu is the same RAM used to draw the castle bricks during the game.
I still find it amazing that so much was/is possible with only 128 bytes of RAM. Sometimes I wonder how much more would have been possible had Atari not cheaped out quite as much on the parts in 1977. Maybe 256 or even 512 bytes RAM, and support for asymmetric playfield graphics would have made a world of difference... But then again, if people wanted a console with "unlimited" resources, they'd just program/game on PC. Great work either way. I can hack to some extent but I don't know a damn about programming and I tip my hats off to anyone who can create anything more than a dot moving across a screen. BTW, I love the way the dragon and the knights parade across the screen. Graphics are gorgeous! :cool:

Share this post


Link to post
Share on other sites

No argument there. Getting AI to be "just right" can be quite complex...

IMO you can't make it right for everyone.

 

Some people even praise an AI which does not exist. :D

  • Like 1

Share this post


Link to post
Share on other sites

I still find it amazing that so much was/is possible with only 128 bytes of RAM. Sometimes I wonder how much more would have been possible had Atari not cheaped out quite as much on the parts in 1977. Maybe 256 or even 512 bytes RAM, and support for asymmetric playfield graphics would have made a world of difference... But then again, if people wanted a console with "unlimited" resources, they'd just program/game on PC. Great work either way. I can hack to some extent but I don't know a damn about programming and I tip my hats off to anyone who can create anything more than a dot moving across a screen. BTW, I love the way the dragon and the knights parade across the screen. Graphics are gorgeous! :cool:

 

I doubt more RAM would have made it in as it was one of the most expensive components (see 10th slide) in the unit (it retailed for $199).

 

I do wish they had created 5 playfield registers to span the screen instead of 3, it would have made updating the screen easer - but then again, that would have greatly increased ROM requirements to hold the playfield data which would have been a big problem with the initial games that used 2K ROMs (like RAM, ROM was a lot more expensive when the Atari was first released).

 

I came up with the idea for how to draw the dragon after playing Dolphin in the HSC. espire8 did a great job with the graphics. He even came up with the idea for the knight, I originally used text and later changed that to trophies.

Edited by SpiceWare

Share this post


Link to post
Share on other sites

My experience with Medieval Mayhem has been very similar to the OP's. I've gotten good at taking out the guy in the lower left, but that's about it. Now that I know you can make the game easier by changing corners, I'll give that a try.

Share this post


Link to post
Share on other sites

The game is a lot easier when a second fireball arrives. Also the game is meant to be played with real human enemies (just kidding).

 

I really love it as a four player game.

Share this post


Link to post
Share on other sites

My experience with Medieval Mayhem has been very similar to the OP's. I've gotten good at taking out the guy in the lower left, but that's about it. Now that I know you can make the game easier by changing corners, I'll give that a try.

Glad someone agrees with me...

The game is a lot easier when a second fireball arrives. Also the game is meant to be played with real human enemies (just kidding).

 

I really love it as a four player game.

Yeah, the multiple fireballs really confuses the poor guys. FYI it's really hard finding just one buddy to retrogame with, let alone three! :lol: Edited by stardust4ever

Share this post


Link to post
Share on other sites

We meet once a year of our website and also play in some competitions. Normally the guys play games of the recent generation but the medieval mayhem competition is always full with 32 participants.

 

I'm dreaming of getting a tournament edition of medieval mayhem from spiceware but that's only a dream :D

Share this post


Link to post
Share on other sites

We meet once a year of our website and also play in some competitions. Normally the guys play games of the recent generation but the medieval mayhem competition is always full with 32 participants.

Is that the AC gatherings for Retro-Gaming Connexion? I like their trophy:

gaming2.jpg

 

Nice price package too:

gaming1.jpg

 

I'm dreaming of getting a tournament edition of medieval mayhem from spiceware but that's only a dream :D

What changes would be made for a tournament edition?

Share this post


Link to post
Share on other sites

Oh I didn't know that they also play the game at the Retro Gaming Connexion. We're celebrating a gaming festival which lasts five days here in Germany under the banner of the neXGam webzine for which I'm writing. (Planet-Atari.de was a part of it as some of you might remember). There are nearly hundred of gamers there and we are holding some gaming contests and like I said the Medieval Mayhem competition has the most participants :D

 

In our tournament we only play with four players, medieval difficulty and  five winning points. the best two players are getting a round further. Problem is, that when 2 or more players have the second most points, you have to restart a game for one winning point to figure out who's the second participant which also plays in the next round.

 

But I think there will be too much memory used in checking which players are the second rank and put up a scenery in which only those both players  battle against each other. But maybe if you cut out the different difficulty settings, you have some free memory. but I'm no Atari 2600 programmer so I really don't know if that is solvable or not.

Share this post


Link to post
Share on other sites

I do wish they had created 5 playfield registers to span the screen instead of 3

 

Yep, although it would be nice to be able to retain the current half playfield configurations as well. While working on Circus AtariAge I too had the same wish of wanting 5 playfield registers so updates to the playfield outside of the balloon loop, and not have to update it mid line. I also would have loved it if the 2600 had a tertiary GRPx register, i.e. GRP2. Finally it would have been nice if the 2600 allowed setting different prioritization over individual objects. Currently P0 always has priority over P1, and you can set the playfield to either have priority over both or neither. What I would like to be able to do is have P0 have priority over P1 and P2. Then I would set the playfield to have priority over P1 and P2, but no over P0. With the playfield being set outside the loop I would be free to bash away on RESP1 and RESP2 all through the scanline giving a full resolution non-flickering display. Anyhow this is all just a dreamlist. ;)

Share this post


Link to post
Share on other sites

I love the game.

 

It's also one of the few VCS games my wife will play with me.

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