Jump to content
  • entries
    656
  • comments
    2,683
  • views
    897,121

build for PRGE


SpiceWare

1,187 views

  • updates to sound effects
  • new menu sound effect
  • updated Magna Mine graphics
  • Magna Mine breakup changed to match new graphics
  • Magna Mine "leave screen" logic revised (should fix the glitch Omegamatrix encountered)
  • additional space savings (most of which was used by the changes listed above)
    • 54 bytes by replacing SLEEP # with JSR WasteTime#
    • 19 bytes by replacing SLEEP 5 with DEC SLEEP5
    • 183 bytes by making easter egg uppercase only, 3x5 font instead of 3x6, and only having graphics for letters that are utilized1
    • 98 bytes by packing easter egg text (packing text saved 158, 60 of which was used for the unpack routine)

 

I'd appreciate any feedback on this build as it's what I'm planning to forward to Al (tomorrow night, the 23rd) for the PRGE demo.

 

1 The 3x6 font had 96 shapes for characters 32-127. The 3x5 font only has 42 shapes. I wrote a short BASIC program (packed.bas in directory ee) that outputs a couple of text files that are included into the 6507 source code. The font data for unused characters is eliminated, for instance only digits 0-4 are used:

 .byte zz______X_ ; ! 0 1
.byte zz______X_
.byte zz______X_
.byte zz________
.byte zz______X_

.byte zz__X___X_ ; ( ) 2 3
.byte zz_X_____X
.byte zz_X_____X
.byte zz_X_____X
.byte zz__X___X_

.byte zz________ ; + , 4 5
.byte zz__X_____
.byte zz_XXX____
.byte zz__X___X_
.byte zz_____X__

.byte zz________ ; - . 6 7
.byte zz________
.byte zz_XXX____
.byte zz________
.byte zz______X_

.byte zz___X_XXX ; / 0 8 9
.byte zz___X_X_X
.byte zz__X__X_X
.byte zz_X___X_X
.byte zz_X___XXX

.byte zz__X__XX_ ; 1 2 10 11
.byte zz_XX____X
.byte zz__X___X_
.byte zz__X__X__
.byte zz_XXX_XXX

.byte zz_XX__X_X ; 3 4 12 13
.byte zz___X_X_X
.byte zz__X__XXX
.byte zz___X___X
.byte zz_XX____X

.byte zz________ ; : @ 14 15
.byte zz______X_
.byte zz__X__X_X
.byte zz_____XX_
.byte zz__X___XX
...

 

ROMs

spacerocks20120922_NTSC.bin

spacerocks20120922_PAL.bin

 

Source

spacerocks20120922.zip

  • Like 1

7 Comments


Recommended Comments

I would like the firing sound to be quieter.

The heartbeat sound to be faster at the end of a round.

The large rock hit sound to be deeper

The small rock hit sound to be higher

 

Play a game of astroids or astroids deluxe in MAME or maybe watch them on YouTube and you'll see why people say the sounds are "off", (and I'm not talking about that emulation sound versus real hardware sound thing)

 

These requests aren't sounds changes, but tweaks to volume, heartbeat tempo (speed), and note (low, med & high notes). (I know you took the time to explain the sound routines and I didn't understand but most of it, thanks for explaining.)

Link to comment

The game looks and sounds great. I think the heartbeat sound could be more noticeably faster towards the end of each wave, but otherwise I think the sounds are perfect.

 

There is a possible bug with killer satellite. In one game the left half was missing entirely as it moved around the screen (before it had been shot). In another game there seemed to be a column of pixels missing from the right half of the satellite, so that there was a noticeable gap between the halves. In both cases the satellite appeared on the left of the screen moving right. Unfortunately I couldn't find the pause button quickly enough to take a screenshot.

 

Chris

Link to comment

@iesposta - I'm happy with the sound effects, though Bob is free to make any revisions to them that he feels are appropriate. If you want "arcade perfect" your best bet is to fire up MAME. I am still tweaking the heartbeat rate though, at one point the heartbeat on later waves was so fast that it was a continuous drone w/out any gaps. However, fixing it wasn't one of my checkboxes for the PRGE build.

 

@cd-w - I saw both of those while playtest last night. I think the missing left half of the Magna Mine occurs if you die when the mine is spawning, and is a side effect of the change I made to fix Omegamatrix' problem with the small mines circling the screen thus preventing him from respawning. I have an idea on what caused that, but had already shut down the computer for the night so haven't looked at it yet. I only saw the gap issue once and at the moment I don't know what could have caused it. Nathan's also reported seeing the gap.

Link to comment

I think I figured out the "half Magna mine" bug. I couldn't recreate it, but it looking at the code it could occur if the Magna Mine was spawned by the UFO destroying an asteroid(leaving 3 on screen) while you were dead.

 

If you're dead the Magna Mine routine triggers a "Leave Screen" flag. The Magna Mine can be spawned while your dead, it just shows up and then leaves.

 

The "Leave Screen" logic tests for an X value of <= 1. If the Magna Mine was launched from the left side of the screen it started with X=0, if it started on the right side it started with X=152 (and thus the right side of the Magna Mine would be 160/0) The "Leave Screen" logic checks each Magna Mine sprite individually, which is why only one side was removed.

 

To fix it, I changed it to start with X equal to 2 or 151. I plan to revisit the Magna Mine logic to make it not spawn if your dead, but I don't know if that'll be done in time for the PRGE demo.

 

 

Haven't been able to figure out the split Magna Mine though. From the screenshot cd-w sent I can see that it's not missing pixels. The right half should be positioned 8 pixels over from the left half, but for some reason it's positioned 9 over.

Link to comment

Yeah, that's what mine does too. The speed is set to the initial slow rate at the start of each wave. Every asteroid hit speeds it up.

 

The problem comes in that each round has 1 extra large asteroid(up to 12 max) so the rate of a wave is 7 faster than the prior wave. Wave 1 starts with 4 asteroids, so the speed increases by 28. Wave 3 starts with 6, so 42 and so on. I don't know what wave I was at for 40K, but it was enough to make it too fast.

 

Basically I need to rethink the logic, maybe use a fractional value so the rate starts and ends with the same speed regardless of how many asteroids the it began with. I'll just need a table with 9 fractional decrement values as waves start with 4, 5, 6, ... 12 asteroids.

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