eXoSpace logo

eXoSpace Steam page is up, also game loops

2024-05-29

The pre-release Steam page for eXoSpace Combat Engineer is up! So from now on everyone can wishlist the game. Of course that will not happen automatically, but it marks the start of my attempts at getting some visibility for eXoSpace.

Procedural encounter system

Meanwhile I have been progressing on the procedural encounter system. Initially I was using scripting to build each encounter manually but this proved to be both too labor intensive and I felt it was missing an element of surprise. So now I have switched to a procedural system where each encounter is built up out of a number of waves, and each wave consists of one or more enemy ships.

The current procedure for creating a wave is quite simple, but works well already:

  1. Determine "budget" for enemy ships based on encounter difficulty
  2. Divide the budget over the waves, making the last wave the most difficult (with the most "budget")
  3. For each wave choose a random design that fits within the wave budget
  4. Determine how many ships of this design fit within the wave budget
  5. Choose a random spawn direction

And voila, a basic procedural wave generation system.

Screenshot of encounter

Game loops

Of course things will become a bit more interesting than this. I will be adding multiple different procedures for generating waves, and scripted (boss and other) encounters as well. This is essential for the inner game loop I have in mind (and partially working):

  1. Choose an encounter from a number of possible encounters (e.g. explore asteroid field, capture pirate transport or attack enemy fleet). Initially I made a star map to do this, but I'm working out a "card" based system for choosing encounters which may be simpler yet more fun. More on that later.
  2. Refit / redesign your ship if needed, e.g. if you got some shiny new modules
  3. Jump into combat and complete the encounter
  4. After this you will progress to choosing the next encounter, until your mission is complete (and a boss defeated)

Diagram of game loop

In addition to the inner game loop there's an outer game loop which I call the "Academy". Here you can choose the next mission (consisting of a series of encounters culimating in a boss fight as described above). By completing missions you can increase rank, unlock new modules and even entirely new factions to play as.

Next week I can finally start working full time on eXoSpace, so expect more development updates in the near future!

Copyright 2024 Bas @ Fantastimaker
eXoSpace Combat Engineer End User Licence Agreement