In the first episode of Periphery Synthetic EP, pilots crash land on the boiling deserts of Alpha Periphery B with nothing but their exosuits. The planet is a desolate dustball covered in a reddish haze of airborne sediments. But beneath a thick regolith of shifting sands lies a diverse landscape, ancient structures, and secrets to uncover.
Continue reading for the first look at the surface of Alpha Periphery B.
The first look
Every destination in the Alpha Periphery system has a distinct visual theme that complements its soundtrack. This desert planet provides the perfect opportunity to explore warm hues and particle systems that evoke a sweltering, tempestuous wasteland.
Here is a silent timelapse that demonstrates the dynamic terrain and unique astronomy of Alpha Periphery B:
It’s midnight to midnight in this arid desert scene. The sun rises slowly, tracing the horizon counterclockwise, with stars visible except around noon. Gusts of wind catch the sand, twisting it into sinusoidal patterns, and pulling its particles into a dust storm that affects visibility. Nearby, a pyramidal structure is slowly buried and unearthed by the drifting sands.
Beneath the sand
There is much to unpack from the progress this represents! Over the past month I’ve done the following to get here:
- Forking my custom engine with a variety of enhancements.
- Configuring the project and its task automation and build pipelines.
- Creating abstractions for game levels and their loading logic.
- Finally grasping the basics of WebGL and its scarier maths!
- Porting the graphical style from my previous games into WebGL.
- Creating a few test levels for verifying all the maths.
- Adding a debug camera that zips through the world.
By this point I felt confident enough to officially begin development of the first episode. I wanted to start with its world and graphics because those presented the biggest technical challenges and were immediately interesting. This included:
git commit -m "Let there be light!"
- Builing its terrain generator which supports multiple biomes.
- Adding particle and sand effects that react to a dynamic wind system.
- Painting the sun, generating the stars, and adding a daylight cycle.
- Carving out the crater at ground zero.
- Modeling tetrahedrons and placing clusters of them in the world.
- Adding a layer of dynamic sand that regularly covers the pyramids.
To capture the video teaser, I then found the nearest pyramid and lined up the shot. The timings here are perfectly coincidental, from the pyramid getting gobbled before it could block the sun, to the sandstorms obscuring the late evening sky. It’s satisfying what complexity can arise from such simple systems.
While none of this is perfect or final, I’m pleased with the general direction of my progress so far! I foresee myself iterating further, tweaking every parameter, as I move forward with implementing other systems.
Most exciting for me is the movement system, as I’m eager to start exploring the world in a buggy. Getting there includes some necessary evils like input mapping, movement physics, collision detection, and haptic feedback systems. From there I’d feel comfortable adding sounds to complete its first playable build.
Until then, there may not be much to share, but do know that this is a very exciting project and progress is steady. Thanks for reading!