Jump to content
  • entries
    657
  • comments
    2,698
  • views
    899,242

revised heartbeat


SpiceWare

811 views

I'm heading out for dinner with some friends, but got quite a bit done that I wanted to get online for feedback (plus to have my "offsite source code backup"!).

  • heartbeat timer - changed to use fractional decrement w/9 entry table so that each wave (4-12 asteroids) starts and ends at the same speed.
  • could start shields and hyperspace after getting killed, fixed
  • saucer targeted an empty spot at end of round, fixed
  • Magna-Mine speeds revised, level now taken into account
  • fixed bug with easter egg's easter egg
  • shifted shield sound effect to a higher in priority
  • fixed bug where player 2 couldn't fire when sharing 1 joystick (it was introduced with the gamepad support)
  • made Magna-Mines leave quicker after killing player.

 

The To-Do list is:

  • 2 players alternating with 1 gamepad doesn't work correctly
  • review easter egg
  • if there's room, show high score
  • if there's room, revise saucer/magna mine targeting logic to wrap around the screen when appropriate.

There's only 50 bytes free (and it's scattered), so the "if there's room" To-Do items aren't very likely at this point. If I can only squeeze in one of the two it'll be the targeting logic as it'll make the gameplay better.

 

 

After Sunday, Space Rocks will be in Release Candidate mode. That means I'll fix any reported bugs, but I won't try to squeeze in any new features.

 

 

ROMs

spacerocks20120929_NTSC.bin

spacerocks20120929_PAL.bin

 

Source

spacerocks20120929.zip

3 Comments


Recommended Comments

I timed the duration of 10 heartbeats in Asteroids Deluxe at the start and end of the round, it came out to 7.5 and 2.5 seconds respectively. Based on that I added a new sheet, heartbeat, in Speed_Directions.ods (an OpenOffice Spreadsheet that's in the source .zip file). That sheet has the calculations which created the fractional decrement table based on 4-12 starting asteroids. After dropping the table in and making the changes, I had the game show the heartbeat rate in hex using player 2's score, it would start at $2841 and end up near $d6b (with minor variances due to rounding) when there was just 1 asteroid left so I was able to confirm the calculations where doing what I expected.

 

Oops - fixed the Magna-Mine/hyperspace issue and a few other things, such as the "burnt out" bottom segment of player 2's lives remaining display. Of the optional To Do's I've done the saucer/magna-mine targeting - it's much better with it, but is currently commented out as it'll need 56 bytes in the ARM bank and there's only 13 free.

 

I'm currently reviewing the easter egg after which I'll do another round of optimizing to see if I can't come up with the space for the new targeting. After that I'm done unless somebody finds another bug.

Link to comment
Guest
Add a comment...

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