Steel Ranger logo

Steel Ranger - work in progress

24th February 2017:

All game world charsets (14 total) have been drawn in their initial versions! Changes may be required later as the final game world layout is being composed, but for now it's looking good and it's time to get back to coding.

The charsets are naturally informed by the story planned for the game, but it was interesting to take note how some of them mutated to something else while being drawn. Mostly, these were ideas that felt like they could create good-looking art, or pay homage to other games, but did not actually work well or make sense within the story's internal logic, so they became something more utilitarian. Not to worry, there will still be some more esoteric locations especially on the latter half of the game!

At this point it's good to get in the habit of watching the remaining diskspace. With all charsets, and about 90 screens worth of test layouts, there's now 423 blocks free on the diskside. That's still a lot, but it could be estimated that expanding the game world to 500 screens would take about 160 blocks more away, which doesn't leave *that* much to all the enemies, music, story and intro / outro sequences. In case of emergency the game could do the same as MW4: put the main part (with code) to the 1st diskside and all data to the 2nd, but it's preferable to keep it on one diskside if possible, for smoother experience and to also simplify the loader code a bit.

The world editor has been a pleasure to work in, when not having to worry about individual chars any more. The typical example of a larger shape, a diagonal stairway or slope, becomes almost trivially easy to draw compared to the old level editors. Whenever needed, new convenience editing features were easy to add (it's in C++ this time, not C like the old editors.) For example, sometimes you want to make a change in every shape using a certain C64 charset char, without having to go through the individual shapes, sort of reverse to the principle of always composing the charset from the shapes. This is possible using an edit mode the editor calls "locked edit", which stops the charset dynamic regeneration and allows to paint on the last generated charset, while reflecting the changes back to the affected shapes.

The editor is still missing functionality related to placing the game world interactable objects and items / enemies, so that will need to be added later.

Here's the last batch of ingame shots from this phase, as well as an editor screenshot showing a charset transition:

Recharger units in the machine city mining facilities

Somewhere deeper below the city

World editor




7th February 2017:

Game world charsets are progressing well. The initial pass for 7 full charsets is complete, which should be about halfway done. While working on the charsets, some bugs were found (and fixed) from the game code, mostly related to movement & collision. There was also a rather serious memory overwrite bug in the loader, when not using fastloading, which was very good to find at this point and not later!

Creating the charsets also involves writing animation code, for example waterfalls and flashing cursors on computer terminals. The animation code shouldn't take more than a few rasterlines each frame, since it's run in the vertical blank, and if it takes too long, it could affect scrolling negatively (color-RAM scrolling is time critical on NTSC.) When there are many separate char animations, and they don't need to run on every frame, they can be interleaved on successive frames. For example, if there are two animations that should run every fourth frame, the first could run on frames 1, 5, 9... and the second on frames 3, 7, 11.

The per-block way of handling background collision has been an unexpected bonus for creativity: it allows to reuse any char for other background elements without having to think of the collision flags for that char. In Hessian and the MW games this was not possible, as a unique copy of the char would have been needed.

Now to continue to the rest of the charsets, then it's on to coding the remaining functionality to get the interaction with the game world (collecting items, activating objects in the world, shooting enemies) fully operational.

Some more shots, including the human military spaceship (lower) which brought you to the machine planet, at the cost of some damage:

Machine city tunnels

Player's crashlanded ship from inside




26th January 2017:

New year, and a new work-in-progress page!

Steel Ranger will be a Turrican / Metroid inspired action game, with adventure elements. It is a loose sequel to Hessian, with familiar gameplay but hopefully easier controls this time.

The scenario is set a few hundred years from now. As humanity began to expand its reach through the space to seek a future beyond the dying Earth, it found itself at war with the Throne Group's legacy: rebellious machines who also set their sights on conquering the galaxy, seeing themselves as the next version of mankind, superior in every way to the fragile organic lifeforms. Using a Ranger armor suit, you must confront extreme combat on the machines' home planet in hope of turning the tide of war.

After finishing Hessian, some time was needed to explore new tech options for a potential new C64 game. Now the exploration is over, and the choices for this game are clear. In contrast to Hessian & Metal Warrior games, this game will utilize 2x2 char blocks to allow more precision and freedom in building the game world, as well as speeding up background collision checks, since they are done on a per-block basis, without needing to drill down to the char level. Potential downside will be increased memory / disk use. Like Hessian, Steel Ranger will run at 50Hz with color-per-char backgrounds, but the scrolling is freedirectional for a smoother feel, and faster scrolling when needed. The aim is to be compatible with both PAL & NTSC, though on NTSC slowdown could occur more easily in heavy action sequences.

The game scenario needed some thinking as well. The original plan was a direct sequel to Hessian, picking up from where the story of the game left off, but that got abandoned as stronger inspiration came from an unexpected direction: the idea to write Turrican fanfiction for NaNoWriMo 2017. This idea mutated quickly into original fiction and something that felt very inspiring and suitable also for a game. Of course, considering how Turrican is one of the most "holy" games on the C64, getting inspiration from it sets the bar for quality rather high!

Unlike Turrican, this game too will use sprite bullets instead of char bullets, to preserve the fidelity of the background at all times and allow for more colorful bullets. This means that the firepower will not be as extreme in quantity, but using large and fast moving bullet sprites the weapons should yet feel fairly powerful. Firing happens to 8 directions just like in Hessian.

Current status: player movement and weapons are done. Game world charsets and layout are in progress, using a new world editor tool which allows larger shapes (consisting of several blocks if necessary) to be edited and inserted into the world. The C64 charset is dynamically constructed as editing proceeds, discarding duplicate chars and blocks. Due to not needing to pixel human-occupied or otherwise realistic locations, the work feels more inspiring and less painful this time!

Some early shots:

Planet surface

Inside a cave