How we made a combat system for a game without enemies

This is an ongoing development series about CHAOTIC ERA, an interstellar strategy game. Subscribe below to join our beta waitlist or follow us on Twitter for the latest updates.

Here’s one simple game design rule that might be the most important one of all: In order for a game to be fun, it has to involve risk.

Risk and choice are at the core of an enjoyable gaming experience. Players need to be able to weigh decisions, make decisions, and deal with the consequence of those decisions. Without these types of wagers, a game is boring—it’s on rails.

For most games, risk is centred on a combat system. Which weapon do you use? How do you time your attack? Which enemy do you target first? The risks you take (and don’t take) ultimately determine whether you can stay alive long enough to reach the end of a level.

In Chaotic Era, you take on the role of an artificial intelligence created by a future corporate superpower and designed to guide your species' expansion across the universe. After a devastating disaster on your home planet, you’re left as the only form of leadership that your species has, and so you stay focused on your mission: to expand, sustain, and protect your civilization.

With that in mind, we wanted to make sure that the focus wasn’t on other players or bots. It’s not a game about monitoring a minimap and keeping a competing empire in check, it’s a game about pushing your civilization to its absolute limits.

So early on we made the decision to have no enemies in Chaotic Era. Seems simple enough, but that opens up a massive challenge: How do you make a game with no enemies fun?

After a lot of thought and exploration, we went back to that simple game design rule: we need to create risk. We need to give players the opportunity to make decisions and wagers beyond which planet to settle on, or how much of their population to move over. We needed to have dynamic ways of testing the player and keeping them engaged.

We decided to build a combat system that didn’t involve any combat at all. When you break it down to its core elements, a combat system is really just a series of decisions. It’s an event that prompts the player to guard or attack, to advance or retreat.

And that’s what led to a key concept for Chaotic Era: Incidents.

This has been one of the most important ideas floating around for months now, and Incidents will enable more random and chaotic gameplay through handwritten and scriptable events—natural disasters, plagues, global and interstellar conflicts, and more. These incidents also provide us with the opportunity to expand the lore of the Chaotic Era universe, a world we’ve put a lot of thought and care into crafting and bringing to life.

Now, you may notice that I included global and interstellar conflicts above—what do those look like without traditional RTS combat?

We’ve stripped these down to their central components. Events where a player can decide if they wish to fight, run away, or do nothing. If they’re successful, they might obtain a treasure trove of energy, or capture a new ship for their nearest inhabitable body. If they’re unsuccessful, they may lose half the population of a planet. But the important distinction is that we wanted to remove the noise and additional mental stress of another player expanding across the universe at the same time.

Plus, mathematically, the odds of two species encountering each other in the first place—let alone at the same point in their technological progress—are nearly impossible. So interstellar encounters would likely play out less like Star Wars, and a lot more like Arrival or Alien.

We don’t want to spoil too much now, but we’ll be exploring these concepts of interstellar conflict in some interesting ways that we hope are unexpected for our audience, and not the typical space opera dogfights.

The first iteration of this is a generic system which allows an author to compose a new class of incident directly within Unity as a Scriptable Object, with information detailing scheduling, effect, and physical origin. Two concrete incidents have been created which fit in this model—an "impact" event (such as asteroids) and a "plague" event (such as a pandemic or climate change).

An impact event in Unity.

A plague event in Unity.



An incident describes how it affects population and energy, if it affects over a sustained period of time or not, if it originates from the body it's triggered by, or from space, and many other arguments which make the system very flexible.

A basic, generic UI has been created which works in some cases and not others. This will be a continued area of focus and refinement over the coming months. Here are some explorations:

We're calling this "Insanity Mode". Likely things will never get this chaotic.

Simplified, but still very busy.

Minimal with live countdowns. We're most happy with this version so far.

Before you go: