1. Astro Colony
  2. News

Astro Colony News

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

SANDBOX MODE - STEAM ENDLESS REPLAYABILITY FEST

Hey Astro Colonists!

For the last 2 weeks, the game has been preparing to participate in the festival on Steam!
Endless Replayability Fest seems to be the perfect fit for Astro Colony.
Thanks to the procedural generation and an infinite number of planet combinations, the game offers great opportunities to play it over and over again.

The game receives a SANDBOX mode.
More experienced players will be able to create blueprints with access to all technologies and devices. New players can check out what the game has to offer! Sandbox mode is perfect for everyone who just wants to be creative!

Check the list below to find out what's new in the game

[h2]GAME MODES - SANDBOX[/h2]


There are 3 game modes to select when starting the new game:
  • SURVIVAL - The default mode of the game. Unlock technologies and get resources to pay the cost of buildings and construction.
  • CONSTRUCTION - There is no construction cost, but progression is still required through unlocking the tech tree technologies.
  • SANDBOX - Total freedom to allow your creativity to explode! There is no build cost, and all technologies are unlocked.


[h2]ENDLESS REPLAYABILITY FEST[/h2]

Astro Colony is participating in the Endless Replayability Festival. It has a new Demo, Sandbox mode, updated Modkit. Please don't miss opportunity to try the demo and if you like it, get the game with a discount!

[h2]DEMO 3.0[/h2]

The new demo with new tools and progression has been released!
It's the perfect opportunity to try the game, if you haven't yet!

[h2]MODKIT[/h2]

Modkit is now supporting all latest changes.
Check out more about modding here:
https://docs.google.com/document/d/1ZDhyMEZzLPiHIUOYyHeiAVVUIPFvbwLul9WAgymHazI


[h2]Improvements & fixes[/h2]
  • Mass migration and transferring bots UI is performant, refreshing only updated bots
  • Fixed an issue where the terrain of a planet in another universe was interactive
  • Improved multi-dimension data - not showing bots that are in another universe
  • Multiplayer speed limited to x1 only to avoid desync issues
  • New SANDBOX mode unlocking all technologies
  • Improved Demo 3.0 - new tools, technologies and progression


Please don't forget to leave a review if you played a game and enjoyed it, so it can be supported for years to come!

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