Jump to content
IGNORED

SpiceWare's Blog - The Story of Stay Frosty 2, Part 7


RSS Bot

Recommended Posts

Now that the ARM/6507 interchange of information was worked out, it was time to start in on the building blocks for the game itself. First up was support for actual levels, as opposed to the hardcoded test screen.

 

In Stay Frosty while PF0, PF1 and PF2 were used to draw the horizon, PF0 was not used anywhere else. It looks like it's used for the lowest level; but in fact, that was drawn by coloring the background! You can see that by using Stella's Fixed Debug Color mode:

 

 

Since PF0 wasn't used Stay Frosty, the playfield had to be set for mirrored mode. Due to the funky way TIA uses the playfield bits, the level data was stored like this:

 

 

When using mirrored mode, the 2nd update for PF2 must occur exactly at cycle 48, which can make timing in the kernel difficult. Since the use of DPC+ was going to allow the updating of PF0, the playfield was set for repeated mode in Stay Frosty 2 to eliminate that difficulty. As such, you'd expect the data to be like this:

 

 

But instead, I stored the data like this:

 

 

Why would I do that? Well for one it made it significantly easier to determine "is snowman on a platform" and "has snowman collected an ice block". It's also more efficient (less ROM and RAM) to store the level data that way. Additional, the ARM is fast enough to break apart and reverse(when needed) the bits when preparing the data for display. But ultimately, it was so I could do this:

 

 

Yep, it was to support large levels that shift as the snowman approaches the edge of the screen (similar to Thrust+ Platinum).

 

In this build of Stay Frosty 2 there are a number of control differences from the final version:

  • Jump and Throw are reversed from the final game: Joystick Up=Jump, Fire=Throw or Gamepad B=Throw, C=Jump.
  • There's a "power up" element to throwing - the longer you hold down the button, the higher/farther the snowball will fly.
  • The jump logic has a bug which allows for double/triple/quad/etc jump (double and triple are easier to trigger than quad+). It wasn't planned for, but I liked it enough that double jump became an integral part of the game.
If the Left Difficult is set to A, the score will be used to display Diagnostic Information.
  • First 2 digits denote which elevator the snowman is standing on, FF = not on an elevator.
  • Middle 2 digits denote if snowman is standing on a platform. 01 = on platform, 00 = not on platform.
  • Last 2 digits denote the zone the bottom of the snowman is in
There are a number of test levels in the build, but only 1/33/etc are wider than the screen.

 

 

 

The level select is still in Stay Frosty 2 as an Easter Egg. And yes, this is a clue on how to access it.

 

ROM

 

 

Source

 

 

NOTE: While the ROM works on the Harmony, it does not work in Stella.

 

Blog entry covers October 17 - 24, 2010

Attached thumbnail(s)
  • blogentry-3056-0-03048200-1421522298_thu
  • blogentry-3056-0-06369200-1421522301_thu
  • blogentry-3056-0-82057600-1421522305_thu
  • blogentry-3056-0-96481300-1421522309_thu
  • blogentry-3056-0-73554000-1421522313_thu
  • blogentry-3056-0-03422200-1421522322_thu
  • blogentry-3056-0-41060600-1421522328_thu
  • blogentry-3056-0-50268900-1421522332_thu
  • blogentry-3056-0-40502200-1421522336_thu
Attached File(s)

 

http://atariage.com/forums/blog/148/entry-11654-the-story-of-stay-frosty-2-part-7/

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...