1. Astro Colony
  2. News

Astro Colony News

Instant ASYNC planets generation!

Hey Colonists!

It's time for another major improvement to the game. Maybe I'm slowly becoming obsessed with optimization, I hope not 😅

What exactly is Async planet generation, and why is it so important?

[h2]INSTANT ASYNC PLANET'S GENERATION[/h2]


Before the update, only the planet surface was calculated in the background (async).
When elements of the planets (resources, rocks, and plants) were generated, it caused a hitch (lag).

Right now, all planet objects are generated seamlessly (async). Player cannot even notice when a planet is generated.

This change makes the experience pleasant, reduces the load on the CPU, allows older PCs to run the game, and makes Multiplayer syncing and joining quicker!

[h2]MAP IMPROVEMENTS - GAS CRATER[/h2]


It was a frequently requested feature to show more types of resources, like geysers, directly on the map.
There is no need to visit each planet to find gas anymore!

[h2]OPTIMIZED VEHICLES[/h2]

Spawning multiple vehicles was causing a huge performance drop. After the latest improvements, this is no longer the case. It's now possible to spawn 10–20 vehicles and keep 60 fps+.

[h2]IMPROVEMENTS & FIXES[/h2]
  • new async system to generate planets
  • snap objects have the correct visuals when placing
  • snap objects when picked → constructed are replicated correctly to clients - keeping pasted size
  • map improvements showing new types of resources like gas
  • remaining multiplayer shader objects are fixed when moving (tools and some devices)
  • sounds have now corrected attenuation, fixing the problem that other players in multiplayer can hear distant sounds
  • asteroids should now look sharper
  • new improved algorithm for anti-aliasing, making it less blurry
  • vehicles are optimized (performance 10x)


[h2]SALES[/h2]
The game is currently discounted, so please use this opportunity if you still haven't played it!
https://store.steampowered.com/app/1614550/Astro_Colony/

Despite all the effort and many improvements, the game is getting less visibility and fewer reviews than usually. It is quite concerning that the number of reviews dropped drastically, from 60 last month to only 20 this month.

Soon Steam Summer Fest will start, and I will stream the game and make the demo available once again, so I hope that will help spread the word about the game!

Thank you, guys, for supporting the project!
Kind regards,
Tefel (Terad Games)

MULTIPLAYER 3.0

Hey Astro Colonists!

The game just received the big multiplayer update, which addresses default engine replication issues. I took time to investigate the position of replicated actors, the movement system, what is going on behind the scenes, and why sometimes positions sent from the server to the client can vary.



What I found:

[h2]Data compression level is not suitable for Astro Colony[/h2]
It turns out that all types of compression have limitations and can't fit large values.
The replication distance limit was just about 10 million units (about 100 LY).
When crossing the limit, unexpected things could start happening, such as the engine trying to teleport both players and planets.

With some custom engine changes to the compression, I managed to increase the distance to 1000 LY. This should be enough to consider it reliable.

[h2]Endless exploration[/h2]
In a game where the world is generated indefinitely, like Minecraft, it is important to keep precision in every calculation. The game uses various methods to update the origin (center of the universe) to keep it precise, showing shadows and smooth animations.

When the game is loading, it's taking time to update World Origin.


This was always a huge problem in multiplayer, causing my headache more than hundreds of times. I managed to get two new rebasing systems for the dedicated server and the Player Host server. Right now, the server decides exactly when rebasing can happen for clients.

[h2]New shader movement for client[/h2]


To keep client movement smooth. My previous approach was to let the client apply its own position. This was causing corrections from time to time from the server if positions changed too often. Right now, the server always applies the location, and all shader data is adjusted for the client.

[h2]IMPROVEMENTS & FIXES[/h2]
  • new replication system using compressed data suitable for long distances
  • new docking system avoiding rebasing origin problems
  • new client shader movement position updates, reliable to not cause teleporting issues
  • new player host rebase system, 100% controlled by the server host
  • transmitter energy power is now copy pasted
  • preventing the rover from falling down when loading games on the server
  • Capturing animals is now fixed for clients
  • Parallel universe, some visuals fixed for the client - invisible asteroids
  • client now shows the proper effect of capturing animals
  • increased number of max selected elements, so box selection keeps working for maximum box selections
  • 3d object optimizations for shader movement
  • particle optimization for shader movement (combining many into one)
  • fixed icons (hologram objects) to rotate towards the camera
  • fixed shader offset when changing space station as a client
  • fixed camera rotation for walls when first time enabled
  • fixed various dedicated server warnings
  • fixed issues with blueprint designer - entering grid on server and shader movement
  • fixed client properly leaving grid, so planet particles are removed
  • sky shader movement is working for all possessed modes



Thanks guys so much for your support!
Tefel (Terad Games)

PERFORMANCE UPDATE

Hey Astro Colonists!

It's time for massive performance update!
I decided to finally finish work that I started 3 years ago.

[h3]Why did it take me so long?[/h3]
I was afraid that not everything would work or look as it should. The change required modifying the way rendering works. Every single object is now rendered with a position offset.
Many necessary engine changes were required in order to have it work.

Some of the text below is technical, but I hope you will like it:

[h2]SHADER MOVEMENT PROTOTYPE 2021[/h2]

I've been thinking about this technique even before the game's release.
As you can see, early prototypes with cameras and some objects were very promising!
Early tests allowed me to evaluate the technique and find out about visual glitches.

[h2]RENDERING ALL OBJECTS WITH OFFSET[/h2]

Tricky task when the game is using more than 300 different materials.
This required changing many of them and adding a shader offset.

[h2]STATION ACTORS[/h2]

Every interactive station actor had to be accessed and modified when station is moving.
In addition, all interactions with cameras had to be updated, where the camera offset also changed.

[h2]VIEW BOUNDARIES[/h2]

The game engine is constructed to reduce the rendered objects on the screen as much as possible.
If objects are outside the camera's view, they won't be rendered.
Without increasing the boundaries of the object based on velocity this wouldn't be possible.

[h2]MATERIAL WORLD POSITION OFFSET[/h2]

Many materials, based on position, can randomize its look.
Turns out that many position based materials like shaking trees, wheat, water, ground or voxel terrain, started to scroll and had to be adjusted accordingly.

[h2]EDGE CASES[/h2]

Many in-game actors required special care due to their unique roles in the game.
Almost every system with interactions had to be adjusted to the new modified positions of objects and shifted cameras. Here are just some improved elements:
  • rover with its complex suspension system
  • spacecraft with thrusters and calculations for thrust
  • bot with its animated mesh, camera, projection cone particles and text
  • all other characters visible in multiplayer
  • every interactive system like asteroid catchers with new "catch"
  • sky and nebulas

[h2]SUMMARY[/h2]

Thanks to reducing the physical location updates of all stations from 60 to just one a second, it greatly improves performance. As you can see in the example, the gain is enormous.
Moving station before couldn't keep 10 fps, right now it's running at 80 fps.

[h2]RENDERING OPTIMIZATION[/h2]

In addition to many CPU improvements, some GPU improvements were made.
A new culling system for objects is in place, which disables updates and makes them invisible when they are far away. In addition, voxels are using LODs, so far-away planets are not affecting GPU.

Please be patient and let me know about every issue encountered.
I believe this is actually the biggest and the most technical update, so it's impossible to avoid some bugs. I hope to fix all of them this week. The most urgent issues will be fixed in the hotfix tomorrow.

Thanks guys so much for support!
Tefel (Terad Games)

New movement, docking transfer, near stations detection, snap/decal rotation

Hey Astro Colonists!

The game just received a big update with plenty of improvements!
Movement system was completely reworked, docking stations can now transfer utilities (electricity, water and gas), decals and snap elements are now correctly rotated and pasted with a new rotation. In addition, there are many fixes and optimization improvements!

Please check the list below:
[h2]NEW MOVEMENT SYSTEM[/h2]

The movement system was redone to make it smoother and remove glitches in low framerate scenarios.
In high-velocity situations, character could be pushed back, diagonal movement could be a little bit shaky. With new improvements, the movement is more reliable and has fewer network updates, which is good for network traffic.

There are also small changes like:
  • Character is moving a little bit faster (max move velocity 1400, before 1100)
  • Booster max speed is capped to 11000 matching previous
  • Ctrl key is now slowing down the character, useful with gravity boots, harpoon or when station elements needs to be precisely placed

Please let me know if any corrections need to be made!

[h2]NEAR STATION CONSTRUCTION DETECTION[/h2]

Many new players coming to the game tried to drag elements from one docked station to another.
This resulted in missing functionality, since conveyor belts belonged to two different stations.
Right now, each time the system detects constructed elements near another station object or planet terrain, it will show a warning symbol (arrow).

This should help players to understand that the docking station needs to be used to transfer resources (conveyor belts), electricity, water, and gas.

To ensure that player knows where object belongs, it is showing station name for all looked at objects.

[h2]DOCKING CAN TRANSFER ELECTRICITY/WATER/GAS[/h2]

Each docking station got new functionality to transfer utilities:
  • Harpoon connector - can now configure electricity transferred (max 20)
  • Docking station - can transfer electricity (max 100), water (max 100)
  • Adv. docking station - can transfer electricity (max (max 1000), water (max 100), gas (max 100)

Transferring is configurable, so it allows transferring the required amount easily from one station to another. For example, all water can be pumped from one station to another and then to a third.

[h2]SNAP ROTATION & DECALS PREVIEW + ROTATION[/h2]

Before the update, only snap elements could be rotated via the menu.
Picked elements did not paste rotation, but only size.


Right now, decals are fully supporting rotation.
Both decals and snap elements can be rotated 90 deg using R key.
Pasted objects are keeping original rotation.
Preview of pasted rotation is also showing correct construction result.
The constructed decal is now shown with a decal preview.

[h2]FIXES & IMPROVEMENTS[/h2]
  • Finally fixed crash related to Apex Destruction when too many debris are spawned.
  • Fixed crash related to copying player data from single player savegame to dedicated server
  • Fixed parallel dimension issues not showing visuals - ex. oxygen barrier
  • Fixed recent localization issues
  • Joining server is now showing a prompt
  • Fixed issue where gas tank would reset quantity when player joins
  • Fixed issue where gas pipe would not update when gas tank is created nearby
  • Fixed issue of an invalid space station reference when docked
  • Fixed multiplayer issue with duplicating lights ...
  • Fixed changing size of replicated snap objects like lights
  • Animations of animals are now not in sync
  • Fixed arithmetic block to support multiplayer
  • Fixed timer pusher causing crash when the space station was removed and timer pusher had active cooldown

It was a very busy week, so I hope you will like the changes.
Please let me know if you encounter any issues on Discord: https://discord.com/invite/EFzAA3w


Thanks guys so much for support!
Tefel (Terad Games)

Astro Colony Endless Replayability Broadcast + improvements



Hey Astro Colonists!
It's time to announce a Developer stream during the ongoing Steam Replayability Festival!
The game just received another update, which is making it more stable and performant.

[h2]IMPROVEMENTS[/h2]
  • MOD HUB button (H) is now re-bindable
  • Saving is now faster and saves less data. The game is checking if objects are modified, it is skipping them completely.
  • Optimized loading for elements updating adjacent cells like floors, foundations, cables, pipes, water tanks
  • Removing savegames from the list selects the previous element
  • Multiplayer client is now showing resources picked by miners
  • Multiplayer client is correctly updating extracted deposits numbers
  • Fixed an issue where upgraded robots could get stuck in the upgrader
  • Migration screen is now more responsive


[h2]FIXES - 20/05/2024[/h2]
  • Auto-expanded planets, after reloading are keeping its shape
  • pathfinding after reloading has a valid updated state
  • drill is now generating basic science points every 5 resources mined
  • geyser is now removed when the quantity reaches 0


This Sunday, 21 CET I will be streaming live Astro Colony!
It's a great opportunity to find out more about this base-building game, where you need to automate your colony while exploring an endless procedurally generated voxel Universe!

Don't forget to try the new demo created for the Festival!
Please wish me good luck and don't forget to come over to say hello!

Thank you very much for your constant support!
Terad Games