Witch Rescue Service first release!

My Halloween 2020 project has turned into an unexpected success! Both in terms of how much was accomplished and in terms of encouragement I’ve received to continue working on this project.

Title Screen from the First Release of Witch Rescue Service

The game is available from https://spacemoguls.itch.io/witch-rescue-service-prototype and can be played in a browser from https://spacemoguls.itch.io/browser-preview-of-witch-rescue-service-smoothly-and-with-style.

Let’s go back to the start. The first idea of the project was to think of a game that would be possible to complete in a week, even if not necessarily likely. Activision’s H.E.R.O. seemed both fun and limited in all the right ways, but I’ve learned that in order to make changes to an idea the first step is to give up on something.

H.E.R.O. is a game where a guy in a heli-pack hovers down into caves to rescue trapped miners. To help him he brings dynamite and some kind of laser weapon coming out of his eyes. The dynamite is used to blow up obstacles and you only have a limited number. You get a score based on how fast you got to the miner and how much dynamite you have left. There are enemies and lights that can be toggled to make for some memorization based gameplay.

The things that were removed were the heli-pack, the laser and the dynamite loadout. Blowing up obstacles seems too fun to leave out so the obstacles are left in the plans. The obstacles remain as brittle walls and are noticeable from the purple hue and slightly off grid placement.

Now there is room to add features! In place of a guy with a heli-pack there is a witch that can do magic. The magic can be used in many ways including providing explosions to blow up the brittle walls.

So that’s my plan, most of it worked out as the development progressed but some of the concepts far enough along before starting that I could begin planning tools I would need. A map editor is an essential tool for platform games so searching for a fitting editor started a few weeks prior to the project starting.

Unfortunately I had problems finding one that allowed me to place tiles, properties (none, collision, spikes, etc. etc) but also place “overlay items” such as brittle walls and decorations, enemies and other things. So I spent a little time prior to starting the project to make a custom map editor. Maybe a bit over the original ambition but could always be used for other projects.

Editing the level used in Witch Rescue Service in WitchMap

The map editor was fairly straightforward to create and was complete enough that it didn’t need any updating during the development! The editor itself does not contain any conversion to a binary format for a game to avoid making it too game specific so the first thing in the 1 week development was to create a conversion tool.

WitchMap is open source and can be found here if anyone is interested: https://github.com/Sakrac/WitchMap, the converter is too project specific to share though.

To save time because I only have the weekends and evening to work I also created a few animation frames in advance, which all needed rework to work well in the game.

With all the tools prepared there were no distraction from assembler programming and pixelling everything, with nothing particularly noteworthy to report. Unless you’re into technical details.

I’m using Aseprite for animations and some background character work. Most of the art is done in Pixcen. I’m using my own assembler/linker (x65) to build code, debugging with IceBro. Testing and debugging is in VICE so I don’t need to run on real hardware until I have made some progress.

I have c64Debugger ready to go but with just 3 sprites to handle so far I haven’t had any need to debug VIC-II problems. It will be useful going forward.

I had a chat with Vincenzo earlier in the week, a SID composer I worked with on the Rebels 1989 demo. We had a good chat and he agreed to help me with music! It was really short time for both of us but when I asked how it was going be Friday night he was nearly done! So amazingly the project even had music when it was released πŸ™‚

I was also chatting with Logiker who has helped me with directory art for previous games and turned out he could help me again!

What now?

The plan was to just see how far I could go with this project, release it and just move on. This did not quite pan out as I got a lot of positive feedback so the plans have changed.

I will still focus on the Island game with adventure elements and get that done, but I can update Witch Rescue in the meantime. I want to add collision to the brittle walls and add some magic to the player. I am not sure if I will add a timer, but I do need an objective. I want to add multiple levels but might need to load them. I also need to make more animations to support the actions. I can draw in to the “overlay items” such as brittle walls so I need a way to clear them out so you can progress after blowing them up. I want to animate the candles on the walls.

Vincenzo is also thinking about music. We’ve been talking about what can be done to allow for sound effects.

What then?

So when the Island game with adventure elements is complete the cartridge version can become a priority! I have a cart rom -> sprite caching system I made for Shovel Knight so I should be able to add as many animation frames as I like on cartridge. It might be a bit of a challenge to fill up 512kb but it is always good to have room for future ambitions!

Thanks for all the encouragement, it helped me take this project this far in just a week! And enough to keep the project alive after the initial release πŸ™‚

Published by Space Moguls

I make Commodore 64 games and sometimes demos.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: