Progress This Week

I made some progress this week! There’s a new build available to download on Here are some of the highlights.


I have a new draft of the drawing of “The Professor”. I got the feedback at GE2 that he looked too much like a certain professor from another game, so I’m trying to make him a little more different. Might still be some work to do there.


The dungeon is now two levels deep! On the first floor, where the boss would have been, there’s a ladder that leads to the second level. On the second level there’s still a boss.


I added a new UI menu to show a detailed comparison between the weapon you’re currently holding and the weapon you’re thinking of picking up. It’s based on a clipboard in order to have some thematic consistency with the “delivery service” idea. I added flavor text for all the weapons and shields.


I also used the clipboard for the pause menu, which shows your current player stats. The HUD slides on and off the screen when these menus pop up instead of just disappearing.

One last thing, I added a HUD icon for “unarmed” to show that even if you don’t have a weapon you can still press X to attack:


Overall I’m pretty happy with the work I did this week. I’ve got plenty on my to-do list but there’s some stuff on there that I’m pretty excited about. Stay tuned!



New Dungeon Minimap


I’m working on a new minimap to replace the old radar-style minimap. It shows which rooms you’ve explored and where there are hallways that you haven’t explored yet. I don’t think the old minimap was actually that helpful for navigating around the dungeon. People would often get lost once they had cleared out most of the rooms. Hopefully something like this will help people keep track of where they want to go next.

I don’t have a replacement minimap for the overworld. For now I’ll just leave it without one and see if people can still figure out that they’re supposed to go to the dungeon even without the blinking navpoint on it. Eventually I could create a similar grid-based map for the overworld but it’s a lot more linear than the dungeons so maybe it won’t need it.

World Generation Progress Bar


I finally got around to putting world generation in a background thread so I can use the main thread to show a loading progress bar. This was a little tricky since you can only interact with Unity on the main thread, so for things like combining meshes or spawning objects I added a main thread task queue, which will execute tasks for up to about 30 milliseconds each tick. That queue is pumped during a regular Unity Update call, so in order to get those tasks to run as quickly as possible I disabled VSync while the level is loading.

I haven’t found a good way to profile the background threads—Unity’s profiler only looks at the main thread and VS can’t profile Unity’s instance of Mono. I already have to monitor world generation progress in order to report back to the main thread so it can increment the progress bar, and I get some timing reporting out of that, but nothing granular. So optimizing this has been guess and check, trial and error. Like, comment out a line and see how much faster that makes it, to measure that line’s impact.

I’m definitely getting some ideas here about how I would structure an engine if I wrote one from scratch, in order to make procedural world generation faster. The main thing I think would be to have object types that are specialized instead of general purpose, so that it’s not super expensive to create an object. Making engine types threadsafe, or at least lockable, would be a huge win too.

Showed the Game at GE2

This weekend I brought the game to GE2 in Seattle. I had a great time showing the game to people and hanging out with the other indie devs that were there, showing awesome games like Lords of New York, Museum of Simulation Technology, Delver, Inversus, and more. Thanks a ton to Seattle Indies for making it happen!

I published a new build of the game last week before the show which is available at Changes since the last build include:

  • Many small polish tweaks and bug fixes
  • Cutting down things like bushes and pots is now driven by physics collisions with the player’s weapon.
  • Added enemies: Wizards, juggernaut, plant.
  • Added weapons: dagger, cardboard tube.
  • Added lava bubble particle effects.
  • Made packages in the store destroyable.
  • Chests will no longer give you a weapon or shield that you’re already holding.
  • Cars and fire hydrants will react when hit by a weapon.
  • Added colored pots which drop items when you break them.
  • Better distribution of enemies and item drops so there’s more of a progression ramp up over the course of the level.
  • Updated music.
  • Switched attack and grenade buttons (attack is now X, grenade is RT).

Showing the Game

I’ve had a heck of a couple of weeks. I started a new job, which means that Adventure Delivery Service is going to start moving a little slower. But I’m really happy with the foundation I built over the last ~7 months and I’ll continue to work hard on it on nights and weekends.

To that end, last weekend I showed the game at the Portland Retro Gaming Expo at the PIGSquad booth, which was a ton of fun! Thanks a ton to PIGSquad for giving me the opportunity to do that. Then on Monday I brought the game to Game Dev Demo Night @ The Mercury in Seattle, thanks a bunch to Hashbang Games and Puget Systems for making that happen! I learned a lot about what work the game needs from watching a bunch of people play through it and talking to people about what they thought. Overall I’m encouraged that people treated it like a real game, which I think means I’ve crossed a threshold where it’s got just enough polish so that once I add some more content at least people will give it a good shot before deciding if they like it or not.

There’s plenty of work left to do. At this point I’m aiming for some kind of release in 2017.

Public Alpha!

I released a public alpha! Check it out and let me know what you think so I can keep making it better!

What’s new since the last video:

Added pine trees.
Added animated image of Doctor Orange.
New punching animation.
New sword attack animation.
New injury animation.
New death animation.
New coin model.
New wand model.
New treasure chest model.
Using new fonts.
HUD messages can stack on top of each other and fade out after a couple seconds.
Replaced almost all UI bitmaps with 3D models.
Added support for multiple screen resolutions.
Added curve to attack lunge speed.
Added soundtrack.
Increase enemy count in dungeons.
The game ends after finishing the first level.
Weapon elemental particle effects use custom meshes instead of quads.
Performance improvements.
Added UI in the HUD to show certain controls.
Skeleton boss will block your attacks even when it’s attacking.
Removed free-aiming turrets while I work on their behavior.


I finally added some music to the game! Only two tracks and a couple of fanfares but I think it really helps make the game feel more like a real game.

Like everything in the game, this is a work in progress, subject to change, etc.

New Attack Animation

This has two animations that it toggles between, one for swinging from the right and one from the left.

Hit detection on enemies is physics-based, so since this new animation has a wider stroke you should have an easier time hitting enemies.

I added a little bit of easing to the lunge so you move faster at the beginning of the attack and slower toward the end of it.


Gameplay Video #4

It’s been a month since my last video. This time instead of just uploading a big unedited playthrough I recorded a bunch of footage and then cut together some of the highlights.

Changes since the last video:

  • Internal changes that let me iterate on content faster.
  • Doors look nicer.
  • Pausing gives you the player’s upgrades and the controls, instead of showing you the world map.
  • Weapon effects are bound to weapon items instead of being their own item category.
  • Added invincible mode (Right Shift + I).
  • Adjust distributions of enemies and loot drops.
  • Removed the part at the end of the level where you have to deliver the package to the building. Now collecting the package triggers the end of the level.
  • Added dialogue from Doctor Orange to the beginning of each level.
  • Added victory screen after beating four levels.
  • Levels get progressively larger.
  • Added magic effect that slows down enemies.
  • Added reticle icon for the mouse.
  • Improved automatic switching between controller mode and mouse / keyboard mode.
  • Performance improvements.
  • Added auto-targeting when attacking.
  • Bosses drop an extra heart on death.
  • Removed NPCs from stores.
  • Added text comparing the weapon you’re about to pick up to the weapon you’re currently holding.
  • Added destruction effect to cannonball projectile.
  • New, bigger dungeon rooms.
  • Added watermelon.
  • Better display names for items.
  • Bug fixes.
  • Added pine trees.
  • Added new title screen logo.
  • Added punching animation instead of reusing the weapon-attack animation.

Gameplay Video #3

Here’s some gameplay I recorded last weekend. This represents almost two months of work since the last video. Some of the highlights:

  • Lots of new art. Room interiors, cars, fire hydrants, road blockers, item pickups, bombs, and more!
  • New weapons: bow and arrow, baseball bat, frying pan, stick, hockey stick, etc.
  • New enemies: Turrets, robots, drones.
  • Simplified inventory system.
  • Simplified controls.
  • The city is much more maze-like, with a golden path to follow right to the end and side paths that have treasures hidden in them.
  • You can buy stuff from stores.
  • Added bosses (just bigger versions of other enemies for now).
  • Rolling into pots makes them break.
  • Added batteries to power secondary weapons (wand and bow and arrow).
  • Added labels on the ground to help you figure out where to go.