Sirius Online cover
Sirius Online screenshot
Genre: Simulator, Adventure, Indie

Sirius Online

Dev Blog: Latency, Tickrate and Physics

Hey, Server guy again. Today I want to talk to you about how to deal with updates and latency in the massive universe that the Server will need to support.

Latency (aka that mysterious force that disconnects you)


Latency in an MMO or large player base server is actually really hard to deal with. You’ll have people with barely 8ms ping and then you’ll have people with 300ms or more – usually in the same place too.

One way of dealing with this is reducing the required updates per second. Another is to use a history buffer in which you can look up previous states of anything ever – whatever you need you can probably find an earlier instance of it there. The second one requires a lot of tuning to get right and usually you want to stay within the range of 150-250ms to not make it seem unfair to players.

Sirius Online is going to use a history buffer of exactly 200ms – with sub-steps of about 20ms resolution. This allows us to allow players with less high speed internet to hit targets without it feeling abnormal while still feeling real enough to not have it seem detached.

The Tickrate (aka Updates per Second)


Basically Tickrate means how often an Application updates it’s internal state. Most games have this at 60, 30 or 20, but with clever coding you can go much lower reaching 10 or even 5. Sirius Online will be using a Tickrate of 10 for the time being.

“But wait!”, I hear you say. “Won’t that degrade accuracy?”
This is a good point, but since we have a history buffer available we can just look back in time to any previous position.

Now that alone does not solve the problem. To solve the problem of accuracy you need to split physics simulation into multiple steps, which unfortunately can’t be done easily. Remember the history buffer? We can use this to increase accuracy in physics.

Physics


Lastly, I want to talk about the physics that will be on the Server. We won’t rely on per-vertex collisions, but will rely on approximate collisions using Boxes and Spheres. This is accurate enough to not be noticeable and works well for our purposes.

For the client, we’ll keep per-vertex collisions where possible. Since it is only a visual effect that is affected, the gameplay should be nearly the same.

Last words


And that was another Dev Blog. I’ll keep you updated if anything exciting happens.

- Xaymar

Read on Digital Dawn Studios

Interview with GameGrin: Dex about the game, its past and FLOTYs

Dev Blog: The new Server for Sirius Online

Hey, it’s the Server guy here with a Dev Blog for Sirius Online. Today I’m going into detail on what I’ve been working on the past months.

Steam


With our move to the Steam platform, a whole new API was available for us to use: the Steam API. Achievements, Inventory, Server lists, Statistics, Networking, Crash dumps, etc. – all that is available to us now without having to write a single line of additional code. Unfortunately that also means we will be a Steam exclusive until we decide to implement an additional way to identify yourself to the Server and still have all those features.

A few of those features are available right now in the Client and many more will come in the future.

A new Server Binary


Not going to hide the truth here, our current Server is built using an outdated language that doesn’t support threading or 64-bit. With the continued move towards 64-bit only systems, it’s time for a new Server – and what a Server it’s going to be!

I’ve been spending all my free time dedicated to building the new Server Binary and it is finally showing signs of progress. The new Server should be much more lenient with low bandwidth connections, higher pings, temporary network outages, firewalls and all that ‘futuristic’ networking stuff that you usually never have to deal with (looks at Unity, CryEngine & Unreal Engine).

Threaded vs. Sequential


I believe this is the most important change: a threaded application model. With this we can now handle a much larger player base and open up the way for server-controlled AI, a dynamic world, procedural generation, etc. You name it, it’s probably possible now – if it wasn’t already possible before.

If you don’t understand the above, imagine the Server being a Store. Each Client is a customer with varying amounts of orders which take varying amounts of time. With a sequential model, we only have one store clerk to handle the entire queue – which you can imagine can get quite difficult with larger queues.

Now take the threaded approach: it’s still a single queue but there’s multiple store clerks now – each one able to handle a customer each but still using the same queue as before. This is what threading allows us to do and it probably allows us to do much more – if we don’t end up doing a lot of bad (Race Condition, Deadlock, etc.). But trust me here, I know what I’m doing! (-cue end of the world-)

Why have there been no major patches?


Since building the new Server is currently priority, Client development is only done at small steps to ensure that our work to be done stays low. So, no major patches until the new Server is done.

Final words


There are some other things still being discussed that I can’t talk about yet, so stay tuned for the next one!

Read on Digital Dawn Studios

Sirius Online Roadmap

Have you ever wondered where this game is heading for the next patch? Well now you can find out! The official roadmap is here!

You can find it on Trello using this link: https://trello.com/b/LCrQjWE4/sirius-online

You can even vote on our planned changes and comment if you dare - let us know what you think is more important to you!

Hardware Survey and Kickstarter News

Hello Players!

After we successfully battled all those pesky Lag issues yesterday, someone hinted me at making a Survey about your Input Hardware. So I made one:

https://de.surveymonkey.com/r/KB7J5TY

It also Includes your CPU and GPU Brand and a few questions about the recent Update 10040 and a question if you'd support a game Kickstarter to get it off its hooves. Or feet. Or Wings. Whatever makes this game move at all :)

I'd be happy to get a bit of participation and Version 10040D is coming this evening.

Thahnk you, and shoot you in Space,

Dex!

Server Downtime Addressing Lag Issues Today

Hello Players,

after reports of heafty lag spikes we decided to give the server another kernel and binary update to investigate.

I will inform you once it's up again.

Thank you for your Patience,

Dex

Build 10040c: Dynamic Markets, Free Techtree and Customization

Hello Everyone!

Build 10040 just went live on Steam. If you didn't get the update, please restart the Steam Client!

New Stuff


- Added Godrays Setting in Launcher for those who want nice stuff to record.
- Updated Launcher Graphics and Links in it.
- New Ships:
-- Nightingale
-- Aeon*
-- Thrift
-- Gradion
-- Excalibur*
- New Weapons
-- Sniper Gun
-- Very Heavy Blaster
- You can freely choose any whip in the Techtree with F4
- Ecliptic Projector Returns on the G key.
- Markets are now Dynamic. Check the Individual ores per Station. The Market Fluctuates and the value decreases and Increases.
- New Complete Tutorial Guiding you through the early stages.

Changes


- All ships are now Slightly Stronger and hold more power
- AI is less forgiving, and hunts you down from further away
- Doubled Laser Lifetime for more intense fights

Fixes


- Fixed Clipping on a few guns
- Fixed screen whitening when steering upwards.

Update 10040b


- Fixed Performance Issues
- Changed BGM to be more Spacey
- Tutorial should now be Skippable with F10

Update 10040c


- Fixed defective Mining
- Fixed Gun 4 and 5 not damaging players.

Update 10040d


- Fixed further Network Mining Issues
- Stability improvement
- Fixed Stuff not disappearing in Screenshot Mode

Please Report any Bugfixes here: Bugreports Thread

See you in Space!

Dex

*The Capitals have a bugged Camera, you have to scroll out to see them in total.

Deployment of 10040 has begun, Downtime Over

Hello Players!

The Server has been Updated to supprt the new 10040 Market Formats and is running. I've encountered a few last minute bugs and am working on fixing them.

10040 should be with you shortly, expect patchnotes.

Regards,

Dex

Planned Server Downtime for Upgrades [UPDATE]

Hello Players,

[UPDATE]

Downtime has extended by 8 more Hours due to unforeseen circumstances. At least I don't claim to foresee the future.

This means the Update will be available around 10:00 GMT+2



In spirit of the latest Stream The Server went down for Kernel and OS Upgrades earlier today and will get a Server Binary Upgrade later this GMT Night. In addition to mire stability, I will release a pprelimineary version of 10040 with a fully open techtree.

My Intention with this update is to allow you testing athe new Ships and their mechanics along with the new Ship Switching system, as well as stress the New Dynamic Market and test it thoroughly.

The Update will be ready around 02:00 GMT+2 (Germany).

Thank you for your continuing support!

Dex

New Devblog: Technical Progress

Hello Players,

In spirit of a very exhausting Weekend, I have written a new Devblog, showing a few of the upcoming game changes:

Click here for the Devblog

Thanks again for being patient. I might update the betabuild in this week with more changes to completion.

Cheers,

Dex