Author Topic: 2017/02: Solar Jetman (NES) - mechaskrom  (Read 21737 times)

0 Members and 1 Guest are viewing this topic.

Offline JonLeung

  • Administrator
  • *****
  • Posts: 3695
2017/02: Solar Jetman (NES) - mechaskrom
« on: January 31, 2017, 09:43:55 pm »

For this month's "Maps Of The Month" featurette, I wish to draw your attention to mechaskrom's Solar Jetman (NES) maps.

As Jetman (hero of Jet Pac and Lunar Jetman), you are hunting for pieces of the Golden Warpship (though the European box art says "Warship"). To do so, you will have to traverse a dozen planets, using a small pod to maneuver through caverns, and utilizing a tow cable to collect valuables, fuel, and the pieces of the Golden Warpship and bringing them back to the mothership. The caverns, which can become increasingly maze-like and narrow as you get to farther planets, make this quite the challenging experience. As if it wasn't hard enough just knowing your way, you'll have to contend with gravity and inertia, and of course dragging heavy items around affects your flying ability. Will Jetman be able to collect and reassemble the Golden Warpship?

Luckily, mechaskrom's got this covered. Not only has he fully mapped out all of the planets, he's also provided mini-maps with the items being more clearly indicated, as well as a few tips concerning the warps and wormholes. Thanks to these efforts, Jetman has a greater chance of success. Though we are talking about one of the most difficult games on the NES, so it's still going to be tough, but at the very least, you won't get lost in this galaxy.

So the recognize the effort in paving the planetary path to the pieces of the Golden Warship, mechaskrom's Solar Jetman (NES) maps will be known as VGMaps.com's Maps Of The Month for February 2017.

Offline mechaskrom

  • Newbie
  • *
  • Posts: 43
Re: 2017/02: Solar Jetman (NES) - mechaskrom
« Reply #1 on: February 10, 2017, 08:34:09 pm »
Thank you!

Solar Jetman is an old favorite. It's a hard game, especially the final planet and its auto-scroller section, and the controls takes a while to get used to. It's also a bit repetitive with almost the same objective on 13 similar looking planets. But the graphic is good, the music is very atmospheric, dealing with gravity and inertia is an interesting concept and overall it's quite entertaining to explore the mysterious large planets. Luckily warps exist so you don't have to clear all planets (I wonder how the skipped ship parts were collected though?) and choosing a route is also an interesting part of the game. My favorite is taking the warp on planet 3 to planet 6 and there take the warp to planet 10. Not the shortest way, but one of the easiest. You also got to love Rare's humor. A planet named Shishkebab and some of the treasure chest contents and analyses are also funny: http://www.mediafire.com/file/7c21posdu1o4g31/solar_jetman_humor.png
Can anybody explain why a robot kit apparently consists of marine species? Some joke I'm missing? :)

Solar Jetman mysterious feel is also helped/caused by its succinct manual and leaves it up to the player to discover most things. Even today I learn new things about it. In FatRatKnight's TAS I learned that you can spin orange crystal for bonus money and that there is a short-lived warp on planet 1. While mapping I also discovered a similar warp on planet 4. Rare really like these kind of warps in their games e.g. Snake Rattle 'n' Roll and Battletoads. The orange crystal spin is a game-changer and the extra money makes things a lot easier. You can even do this infinite times if you release the crystal before the final spin for ridiculous amounts of money. I used to wonder why the little green enemy ships went berserk whenever you towed an orange crystal. Now I know why. :)

Mapping this game was quite hard, but thankfully I found some useful codes from TASVideos. Together with some I found myself I could put together a lua-script that screenshot whole levels. I also looked at the ROM-file and realized that Solar Jetman uses 128x128 pixel metatiles. That is big. Most games use something like 16x16 or 32x32. Here is an image with a grid and index (white number) overlay to make it more obvious: http://www.mediafire.com/file/574t79drdem7y5n/solar_jetman_metatiles.png
Index is an 8bit value so max number of metatiles is only 256, but they can have different pattern sets and palettes so it's not that bad. Thanks to the big metatiles all level-layout in the game only takes a few kilobytes in total and explains how Solar Jetman could have such huge levels. Detail and variation of level's structure suffer with such big metatiles, but I think the game-designers managed to hide that well and make interesting layouts with them anyway.

The metatiles are also used to directly render the pretty good in-game maps instead of storing them. Each metatile is converted to an 8x8 pixel map tile. It's probably because of this that the map screen takes longer to bring up on the bigger planets. This also means that all levels can be viewed in the in-game map viewer with some trickery. Here is planet 13's ship part level for example: http://www.mediafire.com/file/uacvrn8z9op25wl/solar_jetman_planet_13_part_map.png
The in-game map renderer uses a fixed width and will use whatever data comes next to fill the whole width and not stop drawing rows until the height of the level is reached. So on narrow levels that means the renderer will continue with the next row (levels are stored linearly, 1D) and whatever comes after the level. The infamous Preludon map is also a great example of this behaviour. You can see the start of planet 4 on the last row which happens to be stored after planet 1.

There are many interesting things in Solar Jetman to talk about, but this post is already to long. I'm very happy with the resulting maps. It's pretty awesome to look at the huge planets (both zoomed in/out) and the mini-maps are very helpful when playing the game. I'll finish with this funny spot on comic.
Some tools and other stuff I've made:
https://github.com/mechaskrom

Offline mechaskrom

  • Newbie
  • *
  • Posts: 43
Re: 2017/02: Solar Jetman (NES) - mechaskrom
« Reply #2 on: February 13, 2017, 11:27:21 am »
By the way. Is planet 12 Miplezur supposed to be pronounced "My Pleasure"? Rare being ironic? My suffering (Mizuferin?) would be a more appropriate name.  :)
Some tools and other stuff I've made:
https://github.com/mechaskrom