Hi all,
With the release of a significant update for Preface: Undiscovered World, v0.5.0, we wanted to take a deeper look at our roadmap and the purpose behind the technology we're building.
As you may already know, our long-term goal is to create Artemis, a platform for the future of player-led emergent spaces. In the simplest terms, Artemis will enable creation and play at a massive scale. Not just hundreds of players at a time, but millions of players across living, breathing, high-fidelity worlds.
To get there, we have to build technology that doesn't yet exist. That’s where Melba comes in the picture: our in-house engine and open-source framework designed to make the creation of digital spaces significantly more accessible.
What Does Preface Have to Do With All This?
To help refine the development of Melba and validate the technologies that will ultimately power Artemis, we released Preface: Undiscovered World, a public tech demo built on top of Melba.
Preface serves several purposes for us. It helps us turn research into production-ready technology, avoid accumulating too much technical debt, build the muscle of regular releases, and validate our technology in real-world conditions.
Just as importantly, Preface allows us to openly share our progress through releases, blog posts, and other updates. The audience may be niche, but that’s okay. The goal is to share the journey with people interested in what we are trying to achieve.
As a tech demo, some experiments will naturally be more polished than others, and some technologies may evolve significantly or be replaced entirely. That is part of the process.
Making Scale Matter
Since the v0.1.0 release, we have shipped a number of major updates, including rewriting parts of our ECS and adding ray traced global illumination, adding support for multiple planets and oceans, and moving away from our in-house ML model inferencing engine to use ONNX.
With our ML-based world generation technology now concept-proven and implemented, we were ready to tackle the next major challenge: making scale meaningful through interaction.
To achieve this, we needed to prove out different aspects of working at scale, namely interactivity (i.e. “gameplay”), alongside our art and ML pipelines. After all, we couldn’t build the worlds of our dreams with nothing but trees and rocks.
To support this effort, we internally started working on multiple technical demos simultaneously. This allowed our teams to split their focus and explore each area in isolation.
This Preface update showcases two new demos developed with that purpose in mind: Swarm and Orb, alongside improvements to Preface’s core experience. These demos are internal experiments that we’ve chosen to release as part of our commitment to open development, and we expect them to continue evolving as we refine the technology behind them.
Over the rest of this year, we intend to merge all three “apps” within Preface back into a single experience as we finalise our learnings and determine the best way to integrate our technology together.
Orb Demo
Orb Demo has been our test bed for new data-driven asset pipelines that allows us to combine our machine learning expertise with the work of our Technical Artists to create interesting worlds without relying on traditional procedural generation techniques. Our vision was to create workflows that scale far beyond hand-authored rulesets.
The version of Orb you’ll get to experience,is a smaller planet than Earth with a radius of just 63km and consists of six “faces” inspired by the biomes surrounding Mount Rainier.
This real-world dataset has helped us seed our ML agents with data that can be used to select variations of tree and shrub assets based on realistic environmental factors such as precipitation, soil quality, and stand density.
The demo also features an “interesting” art style: deliberately minimalist in order to more clearly visualise how our ML data and Technical Art workflows influence one another.
Over the past few months, we’ve been able to create something we genuinely believe is a more powerful way for artists to build environments at scale. There is still plenty of work ahead of us as we continue to improve the technology.
If you’re willing to dive into shader code, you can also explore how the new model enables significantly greater scalability over on GitHub!
Swarm Demo
Swarm Demo explores how we scale interactions and gameplay behaviour through large-scale battle simulation. At this stage, the project is a technical demo focused on testing how many objects can interact simultaneously in real time. The goal is to build the technology and tooling required for gameplay designers to begin building their vision within Melba.
With scale as our guiding principle, we built features inspired by RTS games, a genre known for pushing real-time simulation complexity. Swarm Demo allows you to spawn squads and units from multiple factions, each with seek-and-attack behaviours designed to emulate melee skirmishes. These simulations help us experiment with both higher unit counts and increasingly complex behaviours.
During development, we encountered scaling issues related to the memory layout and usage patterns of our Entity Component System (ECS), which we have previously written about. We implemented several optimisations to push the limits of the existing architecture and increase the scale of our simulations.
To go further, we decided to complement the current ECS with a new plain-old-data-oriented framework designed for higher performance at scale. The result is the Sandbox framework, which can be enabled at runtime using the new “Sandbox Mode” toggle to switch between simulation backends.
Even in its early stages, Swarm Demo supports thousands of simultaneously active units, and tens of thousands when running on the Sandbox backend.
While these results are encouraging, we still see opportunities for optimization, improved scalability, and more sophisticated behaviours. Swarm is one of our primary test beds for experimenting with larger simulations as we continue to develop the technology we want for our future games.
Preface: Undiscovered World is now updated to v0.5.0 on Steam, featuring the new Orb and Swarm demos. Check them out and let us know what you think on Discord!