Interactive Gadgets in Patterns

All right, two great accomplishments today on the room layout engine.

Complex Patterns

A gadget in Soulcaster is any customizable element in the room: floor switch, gate, moving platform, monster spawner, item pickup. Until today, patterns ignored any gadgets in their area, and just copied the floor and wall tiles. Now I can finally add those epic shortcuts: the ones where you have to go the long way first to press the switch, but then you have a direct connection between the rooms.

sc3 shortcut
If I handle this right, I can make it just as satisfying as kicking down the ladder in Undead Burg

Room State Storage & Restoration

It’s been possible to move among rooms in the map for a few weeks now, but each time a room loaded, it rebuilt itself from its original state. Any switches you pressed before would be reset, which kinda defeats the utility of the shortcuts. To solve this, I created a RoomHistory class that keeps track of every change, to recreate the room just as you left it. Right now it only affects the trigger/gate system, but it will be extended to keep track of destroyed spawners, picked up items, etc.

I think I have all the basic ingredients in place to make a proper (but boring) dungeon layout. Next up: populating the rooms with monsters.

Improved Room Decoration with Pattern Collections

The procedural room layout engine continues to improve. Today I added two main features:

1. The entire dungeon generation is deterministic for a given random number seed. Thanks to Chris Pavia for recommending I do this early on–it’s already helped out in testing a lot. If I find a flaw in the layout, I can keep working on the same room until it’s fixed.

2. The pattern merger takes the doorway positions into account, so it won’t block off an exit to the room. It also has a list of available decorations (currently just to serve as room corners and island splits), and picks one at random that is small enough to fit without blocking any doors.

Here’s how I design the corner decoration patterns:

sc3 corner designer

It Has Begun

Test 5x5 Map

It’s time I talk a bit about my next project.

Soulcaster 3

Brace yourself.  It’s very placeholdery. Graphics were ripped sloppily from Soulcaster II, and the full screen layout is too ugly to show in its entirety. But let me win you over by explaining bit about the new direction Soulcaster 3 is taking. (For starters, it’s probably not going to be called Soulcaster 3. A better title will reveal itself in the next few months.)

This blog post is part of a new effort to not develop this game completely in the dark. Remember… it’s never too early to show your game!

Delayed… And some Notes on Feature Cost

Escape Goat 2 is going to be delayed.

I’ve deliberated this decision for the past week or so, and ultimately it’s the right move to make. I’m hoping this post will shed some light on things for those of you who’ve been waiting for the game and were hoping to get it just a week after PAX.

There was a point, a month ago, when it seemed feasible. Just about everything was in place, bugs were at a minimum, and it seemed like only level design and music composition were left on my plate. I’m pretty fast at making levels, so even with the inevitable redesigns (and 50% discard rate), it was totally doable.

There was just one thing that hadn’t quite been fully nailed down, and it lurked in the shadows undetected for months: the map system. (Read the next section if you want the grisly details.)

Preparing for PAX, and the day to day business stuff of running an indie game studio, also devoured whole days at a time this month. While I think it’s possible for me to sprint to the September 10 date, it’ll come at the cost of:

  1. Less playtesting, and thus less polish on the levels
  2. Less time spent on marketing and publicity, and thus lower sales overall

We’ve put 10 months into this project. As much as I want to release it to the world soon, I believe that delaying is the right move to make.

My apologies to everyone who preordered hoping to unwrap a shiny new Escape Goat 2 download on September 10. Please contact me if you want a refund. I’m hoping you stick around though, because this game is going to be a lot of fun.

As of now I’m hesitant to give another launch date. I’m going to save that until after PAX. It would be great to keep it within September, but that’s just an aspiration at this point, not a guarantee.  If you’re at PAX this weekend, be sure to drop by and play the build. And if you are a preorderer, I can apologize to you in person, or try to bribe you with one of our shiny new 1.25″ buttons.