Last night we wrapped up the alpha-2 release of wilderplace, 29 days after the alpha-1 release. Performance and rendering optimizations were the focus of this release, but we did manage to sneak in important gameplay, level, and audio improvements. Here are the major changes in this version of the game:
Improved early game pacing. Playtesting revealed a sequence of levels early in the game that needed to be more compelling. Logger camps should now be a bit more interesting.
Expanded the mid and late game. We’re slowly making our way through polishing the last half of the game, I’m not going to spoil anything!
Redesigned grove entering and exiting mechanics. You no longer change groves upon landing on exit arrows. Now, you see a preview of the next grove when landing on exits, and then you need to move into the next grove to transition.
More feedback around when you can and cannot move. Added an animation for when the player tries to move but cannot (while waiting for other actors to make their moves, for example). Faded out the UI while the player is idle, but the player can’t yet move. I also tweaked move buffering a little so moving multiple times in quick succession feels more natural.
Snappier animations. Previously, there was a delay between movement, and action. These delays have been eliminated, so the player and other entities should more quickly act.
Dynamic resolution switching. When loading image assets, we now measure the size of your browser window and the pixel density of your display in order to serve assets at the correct size. For users on smaller screens, the game should be as crisp as ever, but should load faster and run smoother.
Consistently scaled assets. All the art in Wilderplace is either hand-drawn, or at least based on hand-drawn assets. Before Alpha-2, we were inconsistently scaling some of the assets, so a pencil line in one place wouldn’t always match a pencil line in another place. As part of the alpha-2, all image assets are now scaled consistently, down to every stroke and texture.
Pre-rendered WEBP assets. The game now loads faster, since we’re no longer generating PNG sprite tiles at runtime.
Expect the game to run much more smoothly. Most of my time since alpha-1 was devoted to performance optimization. I won’t go into details here, but after a state refactor and a variety of optimizations to the render and AI systems, my benchmarking shows a 4x improvement to CPU usage and far fewer cases of frame drops. One of my findings: turns out runtime evaluated s-expressions are slow. Sad. I should have predicted that. These performance improvements are counteracted somewhat by the increase in resolution of image assets. If the game is running slow, consider shrinking your window size (customizable resolution coming soon).
As always, we’ll be continuing to respond to gameplay feedback and work on finishing the game’s content. Besides that ongoing work, there are a few big features I’ve been putting off for a while that I’m ready to take on: cross platform cloud save, basic anonymized metrics collection, and app bundling with Electron.