7DRL 2016 - Spice Digger Complete

Download: Itch.IO
(Note: The game is currently only available as a Mac download and Android APK. It's pending review on the iOS AppStore, so a few weeks until it's available there.)

My game Spice Digger is complete! I think it took about 10 hours to build, from concept to completion with all of the art. Overall I feel like it was a really good experience for me. I kept things within scope based on the time I knew that I had and I was able to complete a project that captured what I wanted to do with it.

I was able to take these few pages of writing and turn them into the game I released. This makes me very happy.

I decided to boil down the Roguelike genre into the most basic pieces I could muster: turn-based movement, every step you take decreases your health, enemies will only move when you move, maps are procedurally generated somehow, and you are trying to complete your mission or get the highest score possible. The parts about generating a map and turn-based movement was easy enough. The difficult part was to do procedurally generated levels without simply relying on "random" to give you a map since you need something somewhat smart so you don't get stuck with an exit placed behind walls you can't reach.

How I decided to handle the procedurally generated level was that in the 5x5 grid I would have the computer figure out a path, moving only orthogonally, of 16 nodes. The game would place the player spawn at the start of the path and place an exit at the end of the path. The game would place a random number of treasures, relative to how many floors you've completed, on the path. Then the game would place a random number of walls in all the remaining spots.

What this would ensure would be a path where you would be able to reach all of the treasures as well as the exit. This meant any given level would have anywhere from 0 to 9 walls, forming a relatively interesting looking map to traverse.

I also decided to add "highlighting tiles for a bonus" mechanic because it would allow every single floor to be "solved". If you highlight at least 15 tiles, your health would be increased by 15 points. This mean if you played a perfect game, you would be able to traverse down 100 floors, collecting upwards of 10 treasures per floor. So instead of just running to the exit, a thinking player could extend their play.

The last piece was adding an enemy the player would try to avoid. Since the game was designed about collecting spice and avoiding conflict, having an enemy that could actually corner you to attack wasn't something I wanted to implement. Instead I thought the ghost would be a good one since at most it would be a hinderance, potentially forcing you to rethink your path.

The ghost has a very simple movement mechanic that's four moves long: stay on the space, disappear, appear at a new spot with half transparency, appear in full. If the player enters the same square as a ghost when it is staying on the space or when it transitions from half transparent to full opaque then they will suffer 5 damage. It's pretty easy to avoid the ghost.

The art direction changed quite a bit. I wanted to make sure that the characters would fit in my upcoming project Adventurer Needs Food Badly, and that would be characters I previously created in the last decade or so of comic drawing. Here we have Elite and her companion robot, Ritz, as traveling spice salespeople.

I also have this weird fasciation of creating new devices that buttons, knobs, switches, LEDs, whatever, and an appropriate screen. Since manufacturing new hardware is not something in the cards for me, drawing it to be used in mobile is the next best thing. I've been designing my most recent bunch of games in this fashion: geared for mobile, yet spending a lot of screen real estate to illustrate physical buttons that aren't actually there.

It was a fun time to work on this game and I look forward to other game jams I can participate in the future. My current design mentality is what I call "inside the box". I want to create a game that is simple to play, offline, simple in art direction, and something that can generate its own levels until a player is ultimately bored with the mechanic.