Saturday, April 2, 2016

Hammer devlog 10

I think this is an important milestone: this is finally looking somewhat like a video game.

I did another WebGL build.

Click on this and it'll take fucking forever to load, but when it's done, it'll promptly dump you into a firefight. You will probably die. When you die, you'll have to reload the page again because dying is just a softlock.

Move with WASD or arrow keys, double-tap a direction to dodge in it, aim with the cursor, fire the shitty weenie gun with the left mouse button, fire the slow fucking shotgun with the right if you have enough energy remaining. Try to kill all five ghosts. You'll need to put that dodge to work, though, and make good use of the blocks in the corners for cover.

It's still really rough, obviously! But this is the first time since I started this project that I feel like this first proof-of-concept firefight basically works. It's tough, but fair, at least within the bounds of something this early. (Obviously: it's not "fair" by release standards. You start in an exposed position, and they're random enough that if they all do the right thing right when the map loads you're completely fucked.) Reflexes alone won't win it for you, and neither will executing the right tactics poorly - you need situational awareness and adaptability, the ability to quickly form a workable gameplan and then change that as the situation around you changes.

If you kill all five ghosts, you're allowed out of the room. You can then wander around some test rooms, or even take a WIP warp event on one of the staircases to arrive in a room with no collision with the camera controller in an inconsistent state that will basically guarantee anything you do ends in soft and/or hard locks. Excitement!

A design snarl that occurs to me at this time: at a structural level, this is very Zelda, but the moment-to-moment gameplay is much more demanding than Zelda, with death being a very real possibility at any given time. Some time later today I'm gonna hash out how I want to handle death in this thread, because if I handle that "like Zelda" it'll be tedious and unfun. I can't handle death like an arcade shmup, either, of course, because this is a hell of a lot less linear and controlled. So that should be a fun problem to work out!

ALSO: WebGL really isn't my target platform. So, a quick warning - make sure you keep the cursor on the display. If you right click the background, you open a context menu instead of firing, and you're almost certainly dead.