A Clockwork Universe

If a station blows up and the player is not watching, does it make a sound?

Transcendence is, at heart, a simulation. It’s not nearly as complicated as something like Dwarf Fortress (not yet, anyway), but it’s a simulation nonetheless. Non-player ships defend their territory against all enemies, player and non-player alike. Freighters follow trade routes, avoiding enemy ambushes, while Xenophobe fleets roam the system, annihilating anyone who opposes them.

Even without the player, the Transcendence universe keeps on ticking. The simulation keeps running.

This is one of the core tenets of the game. We want the player to feel as if they’ve stepped into a real universe, populated by real entities with goals and histories. Some will want to explore the universe, perhaps capture its stories like a child collecting butterflies. Others will unravel its underlying rules, and seek to manipulate the universe for their own ends. Either path is valid: it’s your game—your universe—after all.

Make it Fun

Of course our simulation has major constraints. We don’t have either the CPU power or the programming resources to really simulate a whole universe. We need to pick and choose the kinds of processes we simulate. Do we simulate empires going to war against each other? Stations competing with each other for resources? Freelancers struggling to make a living?

How do we decide what to simulate? How much detail should we include? As always, our guiding light is fun. Whenever possible, we should spend effort on things that make the game more fun. In general, that suggests the following guidelines:

Replayability: One major reason to spend effort on a simulation is to increase replayability. Rather than programmed events, we rely on the simulation to create emergent situations for the player to enjoy.

Exploitation: From the player’s perspective, a key benefit of simulations is that they can be exploited to help the player advance. Sometimes, this exploitation is fair: if the player figures out the optimum targets to attack, that can be both fun and lucrative. Other times, though, a simplistic simulation can lead to boring exploits. For example, if a treasure-laden freighter always spawns under certain conditions, the player can farm them perpetually—not a very fun dynamic.

Choice: Adding new simulated systems should, as much as possible, add choices for the player. Maybe the choice is to interact with the system or not. Or maybe the choice is in the method of exploitation. Whatever it is, this should be a major consideration.

Immersion: I love seeing random ships flying from station to station, going about their business. Even though I know that it’s just a random algorithm, it still feels like I’m in a universe is filled with people with their own goals. Sometimes adding to this feeling of immersion will help the game, even if it doesn’t add interaction.

Improving the Simulation

With these principles in mind, let’s discuss how to improve the current Transcendence universe:

NPCs Fighting

Sometimes stations are placed too close together and the defenders of one destroy the other. Similarly, wandering fleets of Xenophobes often destroy everything in their path. The player can take advantage of this by looting the wreckage. In many cases, they can even precipitate a fight and thus gain help in defeating a much more powerful enemy.

I think this mechanic hits all four of our principles above. It leads to replayability because it creates random situations; it can be exploited by the player; it adds choice (the player can choose to intervene in a battle); and it contributes to immersion.

Nevertheless, there are many ways we can enhance this mechanic:

  • Rewards for Intervening: If the player comes across a battle in progress, especially one involving a station, we should spawn a mission for the player to help. Successfully defending the station should lead to a reward.

  • Revenge Missions: In 1.9 some stations spawn revenge missions if they are destroyed. For example, if a Commonwealth station is destroyed by Xenophobes, the player might be tasked with hunting down the fleet responsible. We should do this more widely (e.g., with Corporate stations, CSCs, etc.).

  • Additional Conflict: Right now NPCs interact mostly when they encroach on each other’s territory. But what if sovereigns had additional goals that could lead to conflict? For example, Urak settlers should try to build new asteroid mines, which could lead to conflict with Commonwealth miners. Maybe the player could influence the direction of the conflict.

  • Interstellar Conflict: Most of the action is localized to a star system. Long term, it would be great if we tracked conflict at a higher level so that fights in one system affect relationships in others. For example, if a Dwarg station in one system destroys a neighboring Corporate station, there should be repercussions in other systems. Perhaps new missions spawn for the player to destroy Dwarg stations.

Freighters

Korolov freighters fly their routes with or without the player. This gives the game added immersion, and potentially reveals the location of unknown stations. Outlaw freighters also crisscross the system, presenting the player with a tempting target.

Here are some ideas for improving this mechanic:

  • Rewards for Intervening: As with station battles, we should spawn missions when NPC freighters come under attack. If a freighter is under attack and the player intervenes, the freighter might stop for a second to give the player a reward. Or maybe we just track the interventions and eventually reward the player later.

  • Rescue Missions: If a freighter is destroyed by enemies, perhaps we spawn a rescue mission where the player has to take the crew to safety (for a reward) and possibly seek revenge or recover whatever cargo was lost.

  • Piracy: Right now there isn’t much benefit for the player to commit piracy. Friendly freighters seldom carry valuable cargo and the consequences are usually high (arrest by the Commonwealth). Maybe we can improve this mechanics to make it viable for Black Market path players. For example, we can add cargo to friendly freighters, but it should be marked as stolen, so it can only be sold in the Black Market.

Characters

There are several recurring characters in the game, but most are part of set-piece missions and don’t react much to player actions. Here are some ideas for adding more interesting character mechanics:

  • Traveling Characters: We could introduce characters whose goal is to reach a specific point in the universe. Maybe a character is traveling from Eridani to Point Juno. Or maybe a character is trying to get back to St. Katharine’s Star. The player can help (or hinder) the character in various ways. For example, the player might meet the character at a station and accept a mission to escort the character to the stargate. We would track the current location of each character and advance it, with or without the player. When the character reaches their destination, perhaps it spawns an interesting mission. For example, a character reaching Point Juno might trigger a new secret mission for the player.

  • Nemesis Characters: We could add characters who seek revenge for some loss in the game. If a station is destroyed, we can spawn a character who seeks revenge. For example, perhaps a Sung pilot seeks revenge on the player for destroying her station. The character can chase the player from system to system, upgrading as they go. This might be a particularly good consequence for destroying friendly or neutral stations.

  • Fellow Pilgrims: I loved the mod that added fellow pilgrims to the game. I think we should add these to the core game. In some cases they might compete with the player for upgrades. Or maybe some can become dark pilgrims who prey on friendly stations (and we spawn missions for the player to destroy them). These characters should be relatively rare, but they would add a lot of interesting possibilities.

Development Update

Last month I worked on the following features for 1.9 Beta 4:

  • Improvements to Sapiens: They now have new images (finally) and use radiation mines as defenses.

  • Stealthy shots (like mines) now paint with the shimmer effect.

  • Added orbitPatrol order for ships.

  • Added missile defense to Dwarg.

  • Heliotrope stations now have shields.

  • Improved the AI for wandering Xenophobe fleets so that they are better at avoiding stations.

  • Added the ability to enhance armor with stealth.

  • Quantum CPUs now add extra cyberDefense to devices.

  • Reworked NPC armor repair to use the same mechanisms that the player uses. This also allows wingmates to dock to remove pteravores and death pods.

  • Added a criminal justice system to the Four Powers. Now they will arrest you if you destroy their ships or stations.

  • Added a new methods for specifying station defenses. See: API 52.

  • Improvements to Ranx: Added a new Ranx freighter, which brings ammo to Ranx stations that need it.

Join the Universe

What do you think of these ideas? Are there other ways that we can make Transcendence into a living universe? Let me know in the comments below, or write to me: transcendence@kronosaur.com.

You can buy Transcendence on Steam or download a free version on our site. If you’re really brave you can download the development version and/or contribute to the code on GitHub.

And of course, you can subscribe to this email newsletter to get updates and stories about the Transcendence Universe. You can subscribe for free or contribute to the development of the game and receive additional posts.