▶
MULTIPLAYER 3.0
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.
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.
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.
[ 2024-06-19 22:49:57 CET ] [ Original post ]
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:
Data compression level is not suitable for Astro Colony
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.
Endless exploration
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.
New shader movement for client
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.
IMPROVEMENTS & FIXES
- 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
[ 2024-06-19 22:49:57 CET ] [ Original post ]
Astro Colony
Terad Games
Developer
Terad Games
Publisher
TBA - Wishlist and Follow!
Release
Game News Posts:
116
🎹🖱️Keyboard + Mouse
🎮 Full Controller Support
🎮 Full Controller Support
Very Positive
(1851 reviews)
Astro Colony is an endless simulation focused on exploration, automation and management.
Traverse the universe full of unexpected events and discover unknown grounds.
Construct unique transport systems using conveyor belts and pipes.
Recruit new Astronauts and fulfill their needs by providing food and shelter.
Research over 70 unique technologies to progress in colony development.
Move stations, dock them and create a galaxy network no one have seen before!
But be aware, the danger is lurking around the corner!
Traverse the universe full of unexpected events and discover unknown grounds.
Construct unique transport systems using conveyor belts and pipes.
Recruit new Astronauts and fulfill their needs by providing food and shelter.
Research over 70 unique technologies to progress in colony development.
Move stations, dock them and create a galaxy network no one have seen before!
But be aware, the danger is lurking around the corner!
GAMEBILLET
[ 6138 ]
GAMERSGATE
[ 3464 ]
FANATICAL BUNDLES
HUMBLE BUNDLES
by buying games/dlcs from affiliate links you are supporting tuxDB