Posted November 23, 2018 by NovaSquirrel
As a large and rather experimental (for me) game, there were a lot of game mechanics and ideas that I thought up that didn't end up in the game, or did but didn't get used very much. Things changed throughout development too, and things went in different directions. Here I suppose I'm going to make an attempt to go into some of those things,
Very early on there was a bit of a Cave Story influence and I felt like there would be a reason to go back and forth within a single level instead of only straight through to the end, maybe revisiting levels later on with items or abilities from later. There were potentially going to be NPCs within the level itself, reacting to things and activating changes within the level.
To facilitate this, the scripting system was much more expansive, keeping track of flags and being able to make decisions based on the flags and what items you're carrying. There was also a scripting command named "Poke", which would write an arbitrary value to an arbitrary address, and could be used or making level changes or anything really.
Because of the NPCs-in-levels thing, I was originally planning on being able to show text during gameplay, and I reserved some VRAM for text when partitioning things out. As a result, most levels don't use the last 16 or 32 tiles at all, but the minecart tracks did end up being put there. There would have had to be some VRAM reserved for the actual NPC graphics too, and I would have had to do something about showing the right colors for them, and it just seemed like more trouble than it was worth.
I think I made the right decision to make it more linear, at least for a first big game. Going back and forth makes more sense if you have much bigger levels, and probably requires a different game design than I went with.
A very obvious inspiration for many of the puzzle elements came right from Chip's Challenge, and the game makes no attempt to hide any of that. This was a big source of mechanics that were dropped or just didn't end up used very much, since many things that work on a top-down tile-based game just don't translate to a platformer very well, and many things (like the chip collecting as well as the sun/key thing) are fun once or twice but would overstay their welcome if used too much.
I think in the final game I only ever used one boot type, the suction boots, and even then only barely, with a trivial use in the puzzle tower (2-6) and then to get a collectible in 4-2? However, all four types of boots exist in the game both as block types and inventory items, and the fire boots even work! Every time you touch fire it checks whether or not you have the unused fire boots before applying damage.
I originally wanted to have ice continue to push you in a direction until you hit the edge of the ice unless you were wearing iceskates, but I couldn't figure out how to use that in a fun way in a platformer. It also makes no sense to require flippers for water when levels that aren't puzzley wouldn't, and inconsistency sounds like a potential source of frustration.
Actually, in my notes there was a concept of having some of the ability types map onto specific boots types, where the Fireball ability would allow you to walk through fire, the Ice Blocks would let you walk on ice without slipping, Water Bottle would allow you to swim (instead of only floating), and Tornadoes would allow you to walk through the green force tiles.
The arrow blocks come from here. In addition to the four different arrow types, the boulders that drop down, and the crate that turns into a spring briefly (which just bounced you in the original) I also have a bomb block, intended to take the same role as the dynamite block from Hannah, but there they seemed to be useful for making a "fork" in the path of arrows, having the explosion set off multiple arrow blocks with the input of one arrow. This wasn't necessary, so they're just used in 5-5's optional part, with the "wood" variant dropping a bomb and the "metal" variant not being used at all.
Originally the plot was going to be entirely different, and it was going to revolve around Nova being put through a test/challenge. There was going to be something about the "Hot Limit" song from the 5th mix of Dance Dance Revolution, of which some things still persist (Fa-a-ancy Cola and the bouncing fire guy are both references to the animutation) as well as references to some demoscene stuff. Maybe even something Earthbound-like involving collecting different parts of the melody throughout the game.
While I pruned some unused blocks to make room and try to better avoid hitting the 256 block limit my game engine has, there are still a few. Like I said before, there are blocks for all four colors of Chip's Challenge boots, and they all work in that they will give you the corresponding item. There's also a gray colored switch in addition to the used red and green ones, which were supposed to be a "generic" switch which would activate/change something in the level. There's a variant of the item/"paw" block, labeled INFINITE_PRIZE in the code and was supposed to never run out of items.
Originally there were going to be different types of levels with different focuses, with levels being categorized into "action", "puzzle" and possibly even levels based on running through them fast. Puzzle levels would be indicated with a puzzle piece on the level select, with the following unused graphic:
Puzzle levels would have a fixed inventory and ability set by the level, and you couldn't take things in from outside. They would also have different physics, like being able to wrap around from the bottom of the screen to the top instead of dying, and I decided that consistency was better.
Today they've been reduced down to some levels just providing a second inventory page that you could access in addition to the main, persistent one. The second page also provided a benefit of providing a place to put keys and other things you collect, instead of requiring you to have space in your main inventory.
There's a whole compression scheme for making terrain compress better, that's coded into the level decompression but not used by the compression code at all, because it would have been complicated to detect that it should be used.
222
111222 4 6666
11122233333334 6666
\_5_/
1: $22 - width 3, height 2
2: $23 - width 3, height 3
3: $61 - width 7, height 1
4: $02 - width 1, height 2
5: $40 - width 5, height 0
6: $32 - width 4, height 2
$FF - ending mark
I actually kind of feel like Nova the Squirrel tried to have *too* many mechanics. I'm not sure whether it's an entirely bad thing or not since people have praised the variety and complexity, but at the same time there are a lot of one-offs that would probably have been better replaced with a more general mechanic that could have been more versatile and used different ways.
The game could have definitely benefited from more planning, instead of just diving in with ideas. At the same time, I feel like diving in is important sometimes so you can decide if an idea is fun or not by having it right in front of you. That's probably something you work out intuition for by continuing to develop and design games. I did actually keep a document where I would jot down ideas, but I didn't really try to develop the game out as a whole before implementing individual things in it.
One disadvantage to having lots of distinct mechanics is that all of those need graphics, and the more graphics you need for purely gameplay related things, the less space you have for decoration. The game kind of suffered from not enough decoration in a lot of the game, though many levels had a chunk of VRAM open to play with that I could have put decorational tiles and background into.
The game was made in chronological order for the most part, with world 1 made first and world 5 (and 6) made last. Because of this, and the lack of a solid plan for the whole thing, the whole set of levels doesn't seem as cohesive as it could have been, with the focus on different aspects sort of waning in and out through the game. I guess that's not necessarily a bad thing since it gives worlds more flavor. Also, the Mario-style levels fade out early on, instead of being throughout the whole game, which I feel is a good thing.
The plot itself felt pretty weak, but generally it's weak in platformers anyway. I still wonder whether it would have been better without a story, or with a throwaway one, but I like the more complex attempt at one at the very least. It gave me an opportunity to draw nice dialog sprites and put in lots of cameos. The desire to have a story was probably driven by Cave Story, but if you want to do something like that you probably have to commit to it a lot more than I did.
I feel like the engine is very technically sound and I don't really remember running into very many issues where it didn't end up working out the way I wanted, There are some kludges and hacks but I think my first attempt at a side scrolling engine for NES worked out pretty well. The level compression worked especially well, with over 75% space reduced on most levels. That was going to be a given though, because it's heavily based on Super Mario World's own format, where it was proven. Just over 32KB was used total on all the levels in the game.