Jump to content
IGNORED

Space Rocks (2600)


SpiceWare

Recommended Posts

EDIT: links to Release Version with updated DPC+ driver (June 24, 2017) and the Tournament Edition (blog entry on July 19, 2015).

 

While working on Frantic, I wondered if the sprite driver could handle even more sprites if it didn't have a playfield to update. That lead to an experiment with 50 sprites, which was successful.

50 sprite experiment (not all are visible due to flicker)
post-3056-0-40209000-1335840992_thumb.png

50 is a handy number for the game Asteroids. It's progression of 1 Large -> 2 Medium -> 4 Small asteroids means the I can handle the worst case arcade scenario, which is starting a level with 12 large asteroids and not shooting any small asteroids until all the large and medium asteroids have been hit. 12 large asteroids -> 48 small asteroids, thus 48 asteroids + 1 ship + 1 UFO is the most sprites needed for Asteroids.

Player and UFO shots are handled by the missiles and ball. Up to 6 can be going at once, with 4 allocated to the player.

The experiment has progressed far enough along to now be shared in the homebrew forum.

Menu Options:

  • Players (disabled): 1, 2, co-op and possibly tethered (like Space Duel)
  • Style: selects vector or solid sprite set
  • Level (disabled): kids, beginner, normal or advance
  • Down (joystick): nothing, shields, hyperspace or 180(flip)
  • Friction: yes, no (controls if ship slows to a stop by itself)
  • Bonus Life: no, 5K, 10K or 20K

post-3056-0-22676900-1335840782_thumb.png

Here's a screenshot of the vector style graphics. The digit to the right is the reserve ship count.
post-3056-0-72769000-1335841294_thumb.png

Screenshot of the solid style graphics, the saucer has just been taken out.
post-3056-0-18645800-1335841291_thumb.png

Nathan Strum's signed on to do the graphics, what's in place is the (extra chunky) graphics I borrowed from Asteroids. Sound effects are mostly borrowed from Frantic, and will be revised in the coming weeks. And speaking of Frantic, yes, it's on the back burner again.

If you're playing this in Stella, be sure to turn on phosphor mode or the flicker will probably annoy you!

  • open Space Rocks with Stella
  • hit TAB for the in-game-menu
  • select Game Properties
  • Select the Display tab
  • change Use Phosphor to Yes
  • click OK
  • select Exit Menu
  • Reload the ROM (Control-R)

NOTE: this is an early version of Space Rocks. Use the link at top of this post to get to the reply with the latest version.
ROM for Harmony or Stella (version 3.5 or later)
spacerocks20120430.bin

  • Like 14
Link to comment
Share on other sites

This is amazing! :-o

 

It would seem the kid's version progresses fairly quickly to what I would call an "adults version" (in my opinion). I would say it's about perfect for me, but for actual younger players you might want to slow it down a bit, or perhaps implement a "Teddy Bear" version which is slower than the kid's version.

Link to comment
Share on other sites

Thanks!

 

Different level selection isn't implemented yet. It currently starts out at using the slowest speeds and progresses to the fastest as you clear each board. My routine supports the asteroids going in 16 different directions at 16 different speeds. The levels currently progress:

  • level 1 = speeds 1-4
  • level 2 = speeds 1-5
  • ...
  • level 12 = speeds 1-15
  • level 13 = speeds 1-16
  • level 14+ = speeds 1-16

For the kids level I'm thinking

  • limit speed to what's currently seen on the first 2 waves.
  • still increase asteroids up to 12
  • limit asteroid breakage (either always break into just 1 piece, or 1 Large -> 2 Medium and 1 Medium -> 1 Small)
  • unlimited shields (and no other selection for down)

For the other 3 levels I think I'll change how quickly the speed ramps up

  • beginner, increase speed every 4th board
  • normal, increase speed every other board
  • advance, increase speed every board (like now)

I've got it set up for PAL60 but didn't think to build an executable for it last night. I'll do that with the next update.

  • Like 2
Link to comment
Share on other sites

Centipede plays extremely well, it just doesn't look that good. Swapping out the playfield mushrooms out for sprite mushrooms to improve the looks would result in way too much flicker.

 

I tried a couple experiments, posted at the bottom of this blog entry, after being asked about Robotron. Both tests had worse flicker than seen in Pac-Man's ghosts.

Link to comment
Share on other sites

Thanks!

 

Different level selection isn't implemented yet. It currently starts out at using the slowest speeds and progresses to the fastest as you clear each board. My routine supports the asteroids going in 16 different directions at 16 different speeds. The levels currently progress:

  • level 1 = speeds 1-4
  • level 2 = speeds 1-5
  • ...
  • level 12 = speeds 1-15
  • level 13 = speeds 1-16
  • level 14+ = speeds 1-16

For the kids level I'm thinking

  • limit speed to what's currently seen on the first 2 waves.
  • still increase asteroids up to 12
  • limit asteroid breakage (either always break into just 1 piece, or 1 Large -> 2 Medium and 1 Medium -> 1 Small)
  • unlimited shields (and no other selection for down)

For the other 3 levels I think I'll change how quickly the speed ramps up

  • beginner, increase speed every 4th board
  • normal, increase speed every other board
  • advance, increase speed every board (like now)

Sounds good to me. :thumbsup:

Link to comment
Share on other sites

It probably won't be a true combo, just aspects of each which can be selected from the menu - such as the DOWN menu's options of Shields (asteroids) and Hyperspace(deluxe).

 

I think the only graphics choice will be solid or vector images. That could change, but I'm not currently planning on it as I don't think Space Duel's 3D rotating multicolor geometric shapes can be effectively done using 8 pixel monochrome sprites. While it's not in place yet, the rocks will always rotate - in asteroids they don't.

 

Next update will most likely be next week as I'm currently working on the sprite converter tools. I'm writing them so that they'll automatically create a "vector" image from a solid image. The normal size converter is done:

post-3056-0-93387000-1336142797_thumb.png

 

I hope to finish the 2X sprite converter(used for the largest rocks) in the next day or two. It's a bit more complicated because each row of the sprite can be shifted left or right to make the 2X sprites look smoother (like the dolphin and squid in Dolphin, and the dragon in Medieval Mayhem).

s_Dolphin_1.png

 

s_MedievalMayhem_SP_3.png

 

Without the shifting, the 2X sprites are rather chunky looking, like Donkey Kong up there by Pauline, or the gun men in Outlaw

s_DonkeyKong_2.png

 

s_Outlaw_2.png

 

I post the more technical stuff in my blog, so you can read up about that there if you're interested.

Edited by SpiceWare
  • Like 1
Link to comment
Share on other sites

That could change, but I'm not currently planning on it as I don't think Space Duel's 3D rotating multicolor geometric shapes can be effectively done using 8 pixel monochrome sprites.

 

Hmm... sounds like a challenge. ;) (Although I agree the results would probably less-than-spectacular on the 2600.)

 

More of a problem might be tethering the ships in two-player mode. The 7800 version couldn't manage that one.

Link to comment
Share on other sites

 

I hope to finish the 2X sprite converter(used for the largest rocks) in the next day or two. It's a bit more complicated because each row of the sprite can be shifted left or right to make the 2X sprites look smoother (like the dolphin and squid in Dolphin, and the dragon in Medieval Mayhem).

 

I post the more technical stuff in my blog, so you can read up about that there if you're interested.

Didn't know anything about sprites row shift. Wonderful!

Link to comment
Share on other sites

That could change, but I'm not currently planning on it as I don't think Space Duel's 3D rotating multicolor geometric shapes can be effectively done using 8 pixel monochrome sprites.

 

Hmm... sounds like a challenge. ;) (Although I agree the results would probably less-than-spectacular on the 2600.)

 

More of a problem might be tethering the ships in two-player mode. The 7800 version couldn't manage that one.

 

Yeah :( - I was talking to Own Rubin at the time and he was going to try and find me the source code listing / table for the tethering. IIRC he couldn't find it.

If you are able to find a good way to do it and are willing to share, I will revisit the 7800 version at some point and try to put it in there.

 

Bob

Link to comment
Share on other sites

More of a problem might be tethering the ships in two-player mode. The 7800 version couldn't manage that one.

Yeah, I don't know how that'll be done yet.

 

If you are able to find a good way to do it and are willing to share, I will revisit the 7800 version at some point and try to put it in there.

Always! Of course I'm using the ARM for my game logic so it might not be too helpful.

 

Wouldn't Thrust have some tethering code?

Yes it does. It's a little more complex in Space Duel because both ships can provide thrust, but it would probably be a good starting point.

Link to comment
Share on other sites

Didn't know anything about sprites row shift. Wonderful!

 

It's a slick trick. I noticed it while playing Dolphin in the 2600 HSC. After that I tracked down Scott Stilphen's An interview with Matthew Hubbard, where he goes over it. This was around the time I started working on Medieval Mayhem and it became the basis for the dragon.

SS: How did the idea for Dolphin come about?

MH: I wanted to make a game where the main characters were a little bigger than normal on the 2600, using double-size mode and line-by-line single pixel shifting. I experimented with making a dolphin animation, and everyone who saw the early screens knew immediately that the pixels represented a dolphin, so I moved forward from there.

  • Like 1
Link to comment
Share on other sites

  • animation in place
  • support for multiple rock shapes for each size (testing with 2 for each)
  • UFO in place. Smaller target, shoots more frequently. The targeting AI has not yet been written, so it aims just as poorly as the saucer.
  • Fixed a bug where your ship could be invisible for 4.2 seconds after it respawns (and yes, it could still collide with things while invisible :-o )

Rocks in various states of rotation

post-3056-0-43261800-1336266376_thumb.png

 

ROMs - Harmony or Stella1

spacerocks20120505_NTSC.bin

spacerocks20120505_PAL.bin

 

1 Requires Stella ver 3.5 or later. See first post for instructions on how to reduce flicker.

Link to comment
Share on other sites

I do think some of the rocks rotate a little too fast.

That they do, and sometimes a little too slowly. But it doesn't make sense for me to fine-tune the speeds now, when there's only 2 and 4 frames of animation, as I'll have to do it again when Nathan's sends in the graphics.

 

Normally animation routines are set up to support a power of 2 for the frames of animation (2, 4, 8, 16, etc) as that's very quick to process and the Atari doesn't have any spare time. Since I'm running the game logic on Harmony/Melody's ARM chip, I have extra processing time and wrote these routines to support any number of frames. Currently most are power of 2 (asteroids, UFO) as it was easy for me to hack up some graphics, though the saucer has 5 frames of animation as that's what I needed for the rotation effect.

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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