S.E.A. progress report
Recently I’ve received some questions regarding the status of S.E.A. and its next release. Rest assured that development, while slower than I had initially hoped, is moving positively forward. Continue reading to learn more about the Deep update, its path to release, and how to participate in the alpha.
The Deep update
In its biggest update yet, pilots will embark on deeper journeys supported by new and improved world generation and audio systems.
Spoiler warning
For this update I'm excited to apply lessons learned from E.X.O. to expand the core underwater experience with new terrain generation techniques and accessibility enhancements. By revealing the spoilers below, you'll learn how I've reworked nearly every aspect of it, from leveling up the terrain and cave generation systems, to supporting them with universal design principals. These changes are by far the most critical on the road toward the Steam release. Enjoy!
Current status
Over the past eight weeks I have been making progress on the Deep update. The following roadmap items have been completed:
- Noise generation. All systems leveraging classical Perlin noise have been reworked to use OpenSimplex noise, including the ocean surface and soundtrack generators. The effects of this are wide and nearly double the frame rate (when tracers are disabled).
- Increased draw distance. The default and maximum draw distances have been increased to leverage the latest performance improvements. Pilots can now see the waves from up to twice as far away!
- Save versioning. Progress is now versioned so pilots can upgrade to and downgrade from this, and all future releases, without losing progress when breaking or unwanted changes are introduced.
Spoiler warning
- Geologic features. The ocean floor generator has been completely rebuilt to support underwater mountains, plains, trenches, river basins, and other treacherous formations.
- Proximity cues. The nearest known obstacle is now called out with a dynamic audio cue, which is positioned binaurally in space, with pitch and vibrato effects to indicate relative height and distance.
- Scanner improvements. The scanner has been reworked to more quickly reveal and intuitively sonify obstacles in three dimensions. With subtle changes in timing and pitch, pilots can now feel the terrain change around them.
- Terrain audio improvements. The audio emitted by scanned terrain has been reworked to support biomes and unique features in future updates. Pitch selection now considers relative height to help communicate verticality to pilots.
- Caves. The cave generator has been completely rebuilt using a custom Simplex worm algorithm. Caves now have defined entrances which lead pilots on branching paths deeper into the crust. Occasionally they intersect larger cheese-like caverns for more freeform spelunking.
- Cave sounds. Caves leverage the new terrain audio generator to emit unique sounds. Hearing these sounds indicates that a cave is nearby and ready to explore!
- Fast travel transitions. Subtle transitions have been added to the fast travel system to telegraph the movement that pilots skipped.
- Scan transitions. New scan results now fade in visually rather than jarringly popping in. Nice! ✌
Outstanding items
Quite a few items remain on the path toward the Deep update:
- Surface scanning. The scanning system will be ported from E.X.O. for pilots to sonify the ocean surface. This will improve the accessibility of surfing tidal waves and appreciating the ocean in motion.
- Polish. Like all release cycles, I like to play through the entire experience with a fresh install and take notes. A polish pass with this release cycle might help unify new and old systems.
- Performance optimization. Every release cycle introduces many changes that haven’t been fully optimized. I like to save these things for the end.
- Technical debt. Every release cycle is an opportunity to reduce technical debt. There are a few easier items I could address like refactoring existing code to be more maintainable. Others still scare me! 😹
Spoiler warning
- Floor scanning. The two-dimensional scanner will also work underwater to sonify the ocean floor. Terrain scanned by this system will also be revealed as three-dimensional points in the world.
- Treasure occlusion. Treasure cues will be attenuated when occluded by the terrain to help pilots navigate its complexities.
- Vertical look. With an increased focus on vertical navigation and audio cues, it's time to add support for looking up and down. This will be purely visual and not affect movement or audio cues.
Progress warning
This update will break existing saves. If you are in affected areas of the sea, then your progress will be preserved as much as possible, and you will be teleported to an unaffected location. This change is backwards-compatible with previous versions should you prefer to revert to an older build of the game. I apologize for the inconvenience.
How to alpha test
If you’re eager to dive in right away, then you can download the alpha by following these steps:
- Open your favorite terminal.
- Clone the repository:
git clone https://github.com/nicross/sea.git
- Install dependencies:
cd sea npm install
- Build and launch:
gulp electron-build
Updating the alpha
The code is always changing! To grab the latest changes, execute this command in the game directory:
git fetch && git pull && npm install
Known issues
Beware that there are plenty of issues with the next release branch. Here’s what I’m aware of that needs no further reports:
- Surfacing. Occasionally pilots might get stuck beneath the ocean surface. Typically this occurs at very low velocities.
Spoiler warning
- Slow cave generation. Caves may not be fully ready for collision detection when first loading into the game. My preference would be to optimize rather than introduce interstitial loading screens.
- Treasure collection hangs. There is a noticeable frame drop when treasure is collected inside caves.
- Audio crashes. Proving to be a difficult issue to reproduce and fix, the intermittent audio crashes remain a problem. The root cause has been narrowed to the scanner audio cues.
Reporting issues
The best way to reach me is via the shiftBacktick Discord server. You may also open a new issue on GitHub. When reporting issues, please provide as much detail as possible to replicate the issue.
Release date
In my previous roadmap update I had anticipated a September release. Due to the outstanding tasks, a planned camping trip at the end of the month, and the level of polish I strive for with my releases, this deadline is no longer feasible. The release will be delayed by several weeks. I appreciate your patience and understanding as I work on my largest update yet.
I’m very excited to share the Deep update and future progress with you soon. If I’m ever too quiet for your liking, please remember that S.E.A. is developed openly on GitHub, where you can browse my latest changes and the most up-to-date roadmap. For anything else you can mention me on Discord.
Thanks for reading!