Jump to content
  • entries
    654
  • comments
    2,663
  • views
    891,959

50 sprite demo revisions


SpiceWare

936 views

 Share

  • fixed the left-moving asteroid bug
  • added Thomas' "vector graphics" from here. Use right difficulty to select style
  • added HMOVE data to left/right shift large asteroid graphics. The shift table needs more work, but it'll do for the demo.
  • added a "wrap zone" so that the large asteroid now smoothly goes all the way off the top/bottom of display before appearing on other side. Smaller asteroids will be offscreen for a little bit as they fly through the wrap zone.

My experiment's done for now, I'm back to work on Frantic. I'll turn this into a full fledge game at some point in the future.

 

 

blogentry-3056-0-79596200-1334717817_thumb.png

 

blogentry-3056-0-47055800-1334717812_thumb.png

 

ROM

spacerocks20120417b.bin

 

Source

spacerocks20120417b.zip

 Share

2 Comments


Recommended Comments

Wow, that's impressing! But I suppose it doesn't run with the built-in RAM only, does it? Otherwise, how do you keep track of the X/Y position and X/Y directions for each asteroid?

Link to comment

Nope, wouldn't fit in the built in RAM. It uses 200 bytes - The X values use a single byte per sprite, the Y uses 2 bytes and the direction/speed uses 1 byte (table lookup).

 

When this turns into a real game it'll take even more as I'll need to use fractional positioning to get the best looking movement out of the asteroids. (X will use 2 bytes, Y will use 4). For the demo I wasn't worried about movement quality as it's just a test to determine whether or not the flicker would be tolerable.

 

It's done using DPC+ with ARM code. The DPC+ makes the kernel super efficient, while the ARM code lets me run things the 6507 couldn't process in the limited time it has between frames. DPC+ has 5K of RAM. 4K is used for the "Display Data" bank. I don't need all 4K for TIA information, the other RAM is used to hold data(like the X/Y values) for the ARM code. There's also 512 bytes of "working storing" for the C code, it allocates/deallocates that automatically as needed. There's another 512 bytes of RAM that hold the frequency table for DPC+ music. If music isn't being used that space can also be used as RAM.

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