Jump to content
  • entries
    657
  • comments
    2,699
  • views
    899,826

About this blog

Atari projects, Mac mini DVR, and other things

Entries in this blog

Take 4

Just discovered an obscure bug today! David Mrozek was having a problem with the lower-right shield being flipped. In this section of the code: KernelGameBottomCode SUBROUTINE sta WSYNC cpy BLyOddRow; 3 4 php ; 3 7 cpy M1yOddRow; 3 10 php ; 3 13 cpy M0yOddRow; 3 16 php ; 3 19 ldx #ENABL ; 2 21 txs ; 2 22 READ_TWO_PADDLES;23 45 ldx #8 ; 2 47 sta REFP1 ; 3 50 <---- should have been stx REFP1 ldx #0 ; 2 52 stx REFP0 ; 3 55 dey ; 2 57 lda Player4

SpiceWare

SpiceWare in Medieval Mayhem

Slowly but surely

Been a busy couple weeks, sadly not much of it's been spent on Medieval Mayhem. A puppy, for my folks, was dropped off at my place on the 4th. Cute dog, but not-potty-trained teething puppies are a handful. My Grandma Lavota, who lives near San Antonio, got quite sick and was in the hospital for a week. She's been released and is currently in a nursing home for rehab. We're hoping she'll be able to return home in a few weeks. I headed out there to see her Thursday(which was also my 40th). My fol

SpiceWare

SpiceWare in Medieval Mayhem

Music

Title Screen/Attract Mode Music, Druid Chip by moderntimes99. Easter Egg(works, but is not finished) Minor fix to prevent captured fireballs from wrapping around the screen I'm using Paul Slocum's Music Kit 2.0 for the background music. To get it to work, I stripped out the visual display from songmain.asm(attached) to figure out the RAM requirements. Only 3 bytes are required to be preserved between calls to the music routines. Another 4 bytes are used as temp variables and c

SpiceWare

SpiceWare in Medieval Mayhem

Demo Message

Added a DEMO message that blinks during Attract mode. I had to also flicker the message due to fireballs disappearing when they travelled beneath the HMOVE lines.       I also reviewed the AI routines and don't see anything that would cause the game to be easier than before. Has anybody else noticed this, or is Jacob just getting really good at dishing out some Mayhem?   If nobody sees anything issues tonight then I'll give this version to Al as the version fo

SpiceWare

SpiceWare in Medieval Mayhem

Attractive

Attract Mode is now in place. I've set it to start after 20 seconds of idle time on the menu(button not pressed, mouse not moving). It currently returns to the menu after 75 seconds(utilitizing the 2nd fireball's launch timer). You can also return by hitting Game Select or by pressing and then releasing Paddle Button 1(the button release is required else options will inadvertently be modified). Hitting Game Reset during attract mode will start a new game. I'm debating making it play a full round

SpiceWare

SpiceWare in Medieval Mayhem

Castle Texture, take 2

I had two issues with the original brick pattern: the impact on game play - While I liked the "jagged edge" appearance, it was causing an increase in "double brick bounces"(taking out 2 bricks at the same time) it looked too busy I've done the upper castles using a different texture that addresses both of these issues.   Any feedback on the revision? Medieval_Mayhem.zip mm20061021NTSC.bin mm20061021PAL.bin

SpiceWare

SpiceWare in Medieval Mayhem

Castle Texture

I'm sure some of you were wondering about Chris' suggestion - I've added a brick texture, inspired by the arcade version, for the lower castles. I'd like some feedback on appearance and impact to game play before I spend the time to add it to the upper castles. Medieval_Mayhem.zip mm20061020NTSC.bin mm20061020PAL.bin

SpiceWare

SpiceWare in Medieval Mayhem

Descriptive Speed, To Do List

Just a few changes. Fixed the reset-game bug. The menu routines expanded into a 2nd bank of ROM so we now have descriptive labels of Kids, Slow, Fast and Medieval instead of 1 thru 4 for the values of Speed. AI players on the Kids level are slower than before. AI speeds swapped - player 1(grey) is now fastest AI and player 4(purple) is the slowest. This makes it so 1 player games can be made more difficult by picking a corner other than grey. The To Do List (in no

SpiceWare

SpiceWare in Medieval Mayhem

Uho - game's resetting

I was playing a round after splitting the menu into 2 ROM banks to make room for extra graphics and the game reset to the main menu with all the options initialized to the power-up values. It doesn't happen all the time. I just check the version from 10-14 and it did the same thing. Anybody notice this on a version prior to 10-14?   The IRQ vector points to the same place the RESET vector does, so I suspect a BRK is being hit. I haven't coded a BRK, so this would imply data is being tr

SpiceWare

SpiceWare in Medieval Mayhem

Some revisions and a text question

Made a few changes fixed problem where players 1 and 3 could move too far up the screen causing the graphics to be corrupted. Maxed out the fireball speeds when all human players have died so the current round will end quicker. fixed AI Catch to release the fireball if an AI player is killed while holding the fireball. Redid the AI Catch Button routine. Old routine used ROL to shift the Catch Bit State of AI player 1 to AI player 2(and so on). New routine uses AND and

SpiceWare

SpiceWare in Medieval Mayhem

Scrolling Menus

Just a quick post with the new scrolling menus. I ran out of ROM for text labels for the speeds, will try to make room for them in the next update.     mm20061011NTSC.bin mm20061011PAL.bin Medieval_Mayhem.zip

SpiceWare

SpiceWare in Medieval Mayhem

Limited enhanced, variable AI speeds

The biggest change is the AI players' speeds now vary depending on the game speed and the number of fireballs in play. When I redo the menu I'll relabel the Speed settings as follows: 1 = Childrens 2 = Slow 3 = Fast 4 = Wicked   The speeds are controlled by the following table which tell each player how far they can move each frame. The values are looked up using FRAMECOUNT AND 7. AIplayerSpeeds ; where GameSpeed = 1(slowest) thru 4(fasest) ; Speed = GameSpeed -

SpiceWare

SpiceWare in Medieval Mayhem

New Limited Catch feature

Per supercat's request - catch now has a new option. Besides Yes and No there's now Limited. Limited catch will only let you catch a fireball if it did not hit the back of your shield.   Also added back in the overshoot-compensation that removes the jitter from the faster AI players. Medieval_Mayhem.zip mm20061001NTSC.bin mm20061001PAL.bin

SpiceWare

SpiceWare in Medieval Mayhem

Back to 4 corners

I didn't like how the the 1 corner checking was working out, so I added back checking of all 4 corners. To make sure the screen doesn't roll/jitter, I added a "time remaining" check before processing collisions for the 2nd fireball.   I also did something that I hope addresses the problem where a fireball would get past your shield then bounce around inside the castle wall and take out a large number of bricks. I changed it so that after the fireball's new direction is calculated, it's

SpiceWare

SpiceWare in Medieval Mayhem

Lack of time, part 2

Turns out the lack of time was also occuring during the overscan when processing fireball collisions.   The fireballs are 2 pixels wide and 4 pixels tall; but, because I'm using a 2 line kernel, I can consider it 2 pixels tall.   in the original routines, the process for fireball collisions on the grey castle was: if BrickHit(x,y) then RemoveBrick(x,y) elseif BrickHit(x,y+1) then RemoveBrick(x,y+1) elseif Brick(x+1,y) then RemoveBrick(x+1,y) else BrickHit(x+1,y+1) then Rem

SpiceWare

SpiceWare in Medieval Mayhem

8 bit vs 16 bit

I believe I solved the time issue by revamping the routines that figure out which fireball to track. The routines use a^2 + b^2 = x^2 to determine how far each fireball is. I used tables with precalced ^2 values and 16 bit math to sum the results because the values went up to 25600(160^2). To save time I didn't worry about calculating the square root of the sum as it doesn't matter.   There's up to 9 additions(3 AI players * 3 fireballs) and 6 compares (3 AI players and 2 compares - M0

SpiceWare

SpiceWare in Medieval Mayhem

The computer caught something

I added the beginnings of the AI catch routines. The AI players can catch the fireball, but don't really know what to do with it yet. It works out OK when there's multiple fireballs, as they'll ignore the position of the held fireball and track the others, but not so good when there's just one fireball.   I also made a change in display priority so the ball is visible over the shields. This makes the fireball flareups visible over the shields, which I think looks much better than befor

SpiceWare

SpiceWare in Medieval Mayhem

Fireball Flareups

Fireball Flareups are now in place. You'll take out your own castle walls if you hold onto a fireball for too long.   I redid the fireball/shield collision routines again. Side bounces are now redirected forwards.   mm20060819NTSC.bin   mm20060819PAL.bin   Medieval_Mayhem.zip

SpiceWare

SpiceWare in Medieval Mayhem

Fixed the jitter

Before the fix, when three AI players were alive, INTIM would have 1 +/- remaining at the end of VB when one fireball was in the air. When the second fireball was released there would often be insufficient time and the screen would jitter.   After the fix, with three AI players alive, INTIM has 7 +/- remaining when one fireball is in the air, 5 +/- when two are in the air and 3 +/- when three are in the air.   What's amazing is this was accomplished by commenting out a single

SpiceWare

SpiceWare in Medieval Mayhem

Shield Collisions redone

I've redone the fireball collisions so the fireballs won't bounce-thru when the fireball hits the left/right* side of the shield. Font Consistancy from the To Do List has also been taken care of.   I've noticed a timing issue - the screen will start to jitter if the 2nd fireball comes out while 3 AI players are still alive. You can see this by catching the fireball and holding on to it until the 2nd fireball gets released(about 1 minute, 15 seconds into the round). I think this will be

SpiceWare

SpiceWare in Medieval Mayhem

Improved AI

The AI players can now handle multiple fireballs.   I've also added english to the shield bounce - this should prevent the infinite bounce cycles that occured in the past. Medieval_Mayhem.zip mm20060805NTSC.bin mm20060805PAL.bin

SpiceWare

SpiceWare in Medieval Mayhem

Out o' the Way

The move out of the way routines are now working for when the fireball gets past a computer player. The current AI players are pretty fast(at least for NTSC games). I'll tweek the performance over time. Each player can have their own performance, plus I plan to make it change depending on the max-speed of the fireball.   I plan to start the "which fireball to track" routines next so the AI players will stop freaking out when the 2nd fireball comes into play.   I've also fixed

SpiceWare

SpiceWare in Medieval Mayhem

×
×
  • Create New...