Prototyping the sonar excavator

Today I plunged in to the arcane and confusing world of Direct3d pixel shaders, which I will have to put to good use if I want this game to look even a little impressive. Here’s a prototype of a shader that renders a wave of energy advancing outward from the character’s position:

This is to enable a tool I’m excited to implement, something I’ve been calling the sonic excavator, which will help players find hidden passages.

In many exploration games, there’s some tool that allows you to inspect the game world to see if any solid-looking terrain is vulnerable to one of your weapons, thereby opening up a secret passage. Super Metroid has the X-ray scope, Shadow Complex has the flashlight, and Insanely Twisted Shadow Planet has a sort of scanning beam. Of these three, I consider the latter two failures, since they take any mystery out of exploring. In Shadow Complex, there’s literally no reason not to keep your flashlight on all the time, and since it makes any vulnerable terrain you walk past light up like a neon sign, there’s almost never any doubt about where secret passages are. In ITSP, your scanning beam just tells you what tool can affect a given object. This isn’t as bad as Shadow Complex, since you have to switch to your scan beam and then wave it toward the thing you want to scan, rather than it just happening all the time in the background. The x-ray scope in Super Metroid is the best of these, since 1) it’s an optional pickup that you find relatively late in the game, and 2) it’s a bit cumbersome to use all the time, since it stops the action and it takes a while to scan the whole screen.

Exploration games have quite a lot in common with mystery novels — the author gives the player hints and clues and then lets them figure things out by themselves. It’s a kind of pact between the creator and the consumer, a promise that “I’m telling you everything you need to know, but you’ll still have to think.” Many modern games break this pact by holding the player’s hand every step of the way, turning the game into a kind of moderately interactive guided sightseeing tour. Just to make sure this metaphor is squeezed good and dry, the flashlight in Shadow Complex is the equivalent of the following passage in a mystery novel:

As the butler entered the foyer, Detective Sanchez noticed he had spatters of blood on his pristine white gloves and a sooty hand print on his starched collar. Sanchez looked at the dead chimney sweep crumpled on the ground, his throat opened and a trail of bloody footprints leading to the door through which the butler had just entered. Just then he got a text message from headquarters, and pulled his phone from his pocket to see that the butler was wanted for murder in six other states and had spells of psychotic rage.

Except in an actual mystery novel, the above passage would be a guarantee that the butler was innocent. If modern video game designers were in charge of writing this hypothetical novel, it would wrap up six pages later with the butler’s successful conviction.

Anyway, I want to restore some sense of mystery to the player, and the way you do that is by letting go of their hand and letting them figure things out on their own. The sonar excavator is an exploration tool that aims to keep the player guessing. It will fire a pulse of sound at a wall, and if there are any points of interest hit, such as a destructible tile, it will respond with a ping sound, which varies based on what was hit. You’ll start with a very narrow beam, and throughout the course of the game your successful exploration will be rewarded with upgrades to the excavator that make the beam wider, or makes the target that you hit glow, or also kills weak enemies, that sort of thing.

Speaking of sounds, I played around with a lo-fi sound creation tool created for Ludum Dare called sfxer. It’s pretty keen, and quickly gave me some basic chip-tuney sounds for lasers and landing after a jump. I’m almost to the point where I want to start plugging in sounds for a lot of the game content, and this will let me prototype placeholders really rapidly.

Leave a Reply

Your email address will not be published. Required fields are marked *