Starmaps, Trading, and External Areas

We’ve been working on the Solar System, Mission, and External Area milestones. You can view all of our milestones on the roadmap page.

These milestones are difficult to work on independently, because they all incorporate related elements. You can’t have missions without having a planet or asteroid to mine on, and a space ship requires an “outside” to land at.



Star System

The system that you play in is randomly generated with rocky planets, gas giants, asteroids, stations, and anomalies. Currently, every system will have between 6-8 planets, randomly comprised of:

  • 3 inner rocky

  • 1-2 gas planets

  • 1 outer planet (either rocky or gas)

  • 1-2 random planets (any size and type).

This provides the player with a good mix of stuff to play with. In the future, we’ll probably let the player tweak the spawn settings. For now, if you want to change the settings, you can edit agents.xml.

This is where you can manipulate the system spawn values.

This is where you can manipulate the system spawn values.

Names

We collectively call all star system objects “system bodies”. Every system body is given a random name, based on the body type. Stations have names like “Einstein Station” and “Graham Center”, whereas rocky planets have names like “Brizo” and “Plutus”.

Loot

All system bodies are created with a random amount of loot.

  • Asteroids: Ice and Ore

  • Rocky Planets: Ice and Ore

  • Stations: Biomass, Metal, Food, Water (a little bit of everything)

  • Gas Giants: Nothing (yet)

  • Anomaly: Nothing (yet)

The amount of loot is dependent on the size of the body. The current sizes are small, medium, and large. Planets have an unlimited amount of resource.

If you remove all loot from a system body, it will be destroyed. The idea is that you can completely scavenge a derelict station or mine out an asteroid. Planets, on the other hand, are massive, permanent parts of your star system. You can go to the same planet forever.

Eventually, we’ll add rare resources, like uranium or "dark matter”. If those resources are on planets, they won’t be unlimited, but we would most likely spawn rare resources on a non-permanent body, like an anomaly.

Respawning

One asteroids and stations will spawn every 12 real minutes, up to the maximum allowed count. This value will definitely change based on how long it takes the player to discover and destroy bodies.

Stations and asteroids will despawn after 5 game days of inactivity. This is to remove objects that the player doesn’t care about (and the lore explanation is that other factions are mining or scavenging on those bodies). If you ever create a mission to a system body, it will never be automatically despawn.

Discovering

By default, every system body has a 10% chance of automatically being discovered by the player when it spawns.

You can discover new locations by building an exploration probe.

Once discovered, you can perform missions on them. They’re also added to the skybox.

Mission Recap

“Mission” is the term we use when the player orders his/her crew to perform an action at some star system location. You could think of them as “expeditions”, “orders”, or “jobs”.

The player selects the ship(s), crew, and the locations.

Multiple ships and locations can be assigned to the same mission. You might do this if want to collect a large quantity of ore or if you’re trying to save time by visiting multiple asteroids at the same time.

The current mission types are:

  1. Survey

  2. Mining

  3. Salvage

Survey

By default, the contents of a location are unknown to the player. In order to reveal those contents, you have to send a ship out to perform a survey.

You can still mine on an unsurveyed asteroid, you just won’t know what you’re going to come back with.

The intent is that the player should feel like they’re exploring their own world.

Mining

Mining is performed at rocky planets or asteroids. The player sends out crew, and they come back with ore and ice

Salvage

Salvage missions are performed at other stations in your system. The idea here is that the player is sending out crews to harvest loot from derelict stations, and possibly that loot is being stolen from active station (piracy).

Stations can have any item: biomass, food, metal, fuel, ore, etc.


Ship Stats

Missions are performed by ships, and they have 3 primary stats that you care about:

  • Speed

  • Cargo Space (add multiple ships for more cargo space)

  • Crew Space

Speed influences how long it takes for the ship to travel from 1 location to the next. The balance intent of travel time is to encourage the player to adjust their playstyle based on the system bodies that they are close to.

You can play more efficiently if you select multiple mission locations that are near each other, because your ships don’t have to travel from your station to each destination multiple times.

By the way, travel time is calculated based on the current mission location to the next location, and we automatically arrange the travel order so that it’s always the fastest possible.

Other Stats

There are some other ship stats that I think are interesting:

  • Fuel Type (some ships could require biomass as fuel source, for example)

  • Fuel Efficiency (how much fuel is required to travel X distance)

  • Crew Food and Efficiency (the type of food that the ship can provide)

  • Crew Need Restoration (how quickly crew needs are restored)

By the way, ships don’t require a pilot. From a practical standpoint, this allows your ships to return to the station if all of the crew dies. The lore explanation is that the ships are flown by an autopilot (this is why your ships have a name, by the way).

Difficulty

Planets have an unlimited amount of resources, which makes them way better to use than asteroids.

To balance this, we added different difficulty and duration values on each body type.

A planet takes much longer to mine at than a small asteroid, and the success chance is much lower.

In the future, we want to lock body types behind some sort of technology or skill wall. So you might need “heat shielding” on your ship in order to survive atmosphere entry and mine on a planet.

Mission Failure

When you fail a mission, a few randomly selected “bad” things can happen:

  • Lose loot

  • Damage crew members

  • Kill crew members

  • Bad memory is created

Requirements

Missions can also require certain things:

  • Minimum crew count

  • Minimum skill count

  • Sacrificed crew (if your own colonist is “donated”)

  • Minimum loot free space (if something is produced)

  • Minimum crew free space (if a colonist is created)

  • Required items

So we could create a mission that requires medicine and a level 5 doctor, or a mission that will sacrifice a colonist in exchange for a rare resource.

Quests

Internally, quests and missions are almost the exact same thing. So everything that I previously said about missions will apply to quests (requirements, travel time, multiple ships, etc).

The only difference between missions and quests is that missions are created by the player and quests are created by NPC’s.

Quests are things like “We need help! Send us food and a farmer”, or “I’m looking for a new home, please pick me up”.

System Citizens

Our quest givers are called “citizens”. The same citizens will exist in every playthrough.

An example would be “Doctor Guts”, the always present mad scientist who bravely pushes the bounds of research and technology—he just always seems to run out of test subjects.

Doctor Guts, Scientist

Doctor Guts, Scientist

Every player will know who Doctor Guts is, creating consistent lore in a procedurally generated world.

Quest Unlocks

Quests can be chained together, where a new one will become available after previously completely a pre-requisite.

So if you perform enough quests for Doctor Guts, he might reward you with new cyborg technology.

We like this from an immersion standpoint, because the player can choose their own morale line between getting useful technology and sacrificing their own colonists as research subjects.

Quest Location

The location of each quest is randomly decided, but we have control over the valid body types. A Doctor Guts quest might only take place on an asteroid, because that’s where his illegal laboratories are.

Locations will automatically be discovered if a quest is created on them.

Starmap

We recently implemented a map of your star system. I’m not sure how practical it will be, but it’s really fun to get a sense of your world.

 
Starmap.png
 

We’re re-using the right panel “description” area from the mission UI. You can mouse over any discovered body in the starmap to get information.

Each planet is placed on its own ring/orbit. Ring distance is larger for outer planets.

Asteroids are placed on their own ring, as an “asteroid belt”.

Eventually, it would be nice if you could left click a planet, and perform some action, like a mining mission. We didn’t implement that yet, because you can already do it with the mission window.

Trading

Random traders will now arrive at your station, and each trader belongs to 1 of 4 factions:

  1. Farmer: Produces food and biomass. Wants metal and clean water.

  2. Miner: Produces ore and ice. Wants fuel.

  3. Slaver: Produces nothing (eventually, you’ll be able to buy colonists). Wants food, biomass, and clean water.

  4. Industrial: Produces metal, clean water, and fuel. Wants ore, ice, and dirty water

The trading pod is used to exchange items and colonists

The trading pod is used to exchange items and colonists

Prices

A farmer produces food, so they sell food for cheaper than average. The farmer wants clean water (in order to grow the crops), so they’ll buy that for higher than average.

The opposite is also true. The farmer will buy food for much more expensive than average, and they’ll sell water for a higher price than average.

This removes a lot of the randomness from trading. If you want to sell a bunch of ore, for example, you just have to wait for an Industrial trader. If you can’t wait, you can sell to the first available trader. You’ll always know that an Industrial trader will give you the best prices for your ore.

Relationship

Whenever you buy or sell from a faction, your relationship with them will increase. As relationship increases, the cost of goods becomes better (they’ll sell to you for less and buy for more), and each trader will come to your station with more currency.

In the future, we’ll incorporate this into the faction system. Maybe you can do quests for the miners as a way to improve relationship.

Trader Spawning

Right now, traders have a chance to appear every game hour (every real minute). The spawn chance starts at 0% and increases by 3% every time a trader doesn’t spawn, with a max spawn chance of 100%. Once a trader spawns, there is a cooldown of 12 real minutes. This guarantees a trader every 45 minutes.

The trader faction is randomly selected.

It would be nice if faction relationship or distance to faction affected the frequency of traders, but that will be part of the faction milestone.

Trader UI

The trader window is mostly implemented. Here’s a raw screenshot of it:

 

The accept button is grayed out because the trader doesn’t have enough funds

 

We haven’t finished polishing it yet, which is why there’s a placeholder currency symbol, ‘z’ all over the place. It also explains the very creative trader name, “Miner Person”.

Playstyle

We’re really trying to give the player lots of different options for playing.

You could buy cheap food from farmers and sell it slavers for a profit.

You could grow your own food and sell it.

You could scavenge stations for food (and then sell it or keep it).

You could be a recluse and never interact with the outside world (North Korea Mode).

Balance

A note on balance for Alpha players.

We’re not planning on seriously balancing missions, quests, or trading until much closer to Beta. We’ll end up breaking any balancing that we do whenever we add new items, objects, or quests.


External Areas

External areas are the areas outside of your station.

This is where you place solar panels, hangars, probes, etc.

Placement Rules

I wanted to create some sort of system where the game would automatically figure out where “outside” is, but I couldn’t figure out a good system (and I don’t think there is one).

So I settled on forcing the player to place “external” floors.

External floors are the exact same as normal floors, but they can’t be placed next to an interior floor. You can’t place interior objects on external floors (and vice versa). Exterior floors don’t have an atmosphere, so there’s no “low oxygen” atmosphere warning. Exterior floors aren’t used for colonist free-time, eating, or sleeping.

Aesthetically, you can’t replace an exterior floor with an interior floor.

Airlocks

The only way to connect external areas to your internal areas is by placing an airlock.

When colonists open doors, atmosphere between 2 rooms is exchanged. This could be bad. Airlocks prevent this transfer.

Probably we’ll allow airlocks in your internal station too. Like if you wanted to completely isolate room atmosphere, for whatever reason (quarantine, poison room, freezer room).

Solar Panels

Solar panels provide electricity and have no item requirements, but they must be placed outside.

Solar panel efficiency is based on distance to the star. The closer your station is to the system’s star, the more electricity you’ll generate.

The intent is that the player can’t use the exact same strategies in every single game. Passive power generators also prevent an unwinnable game situation (where everyone’s dead and you’re out of fuel).

Praise the sun!

Praise the sun!


Exploration Probe

The exploration probe is used to discover new system bodies. It doesn’t currently require any fuel, and we’re not sure if it ever will.

Internally, it uses the same “producer” system as everything else, so it technically could require fuel without much effort, but fuel requirements encourage the player to stop using it eventually, and then you won’t discover new locations.


Radar probes have to be placed outside

Radar probes have to be placed outside

In the future we might adjust the exploration probe so that it can be sent on survey missions, instead of the ship. Maybe the exploration probe speeds up mission time or something.

We could do the same thing with the mining probe.

Or maybe the mining probe greatly increases mining success chance, or is required for mining at high tier locations.

I actually like this idea so much that I’ll probably just implement it.

That’s It

That’s it for now.

Thanks for reading everyone.

By the way, there won’t be an alpha patch, because we haven’t implemented airlocks, so it’s currently impossible to use ships and the mining probe (you will run out of fuel and die).

-Tyler