Weekly Update #52

Hi everybody, this is Flavien. Keith is away on a trip for a bit more than a week so today and next week I’ll handle the weekly updates.

On my plate this week, more work on networking and… physics. I’ve found a “stuttering” issue in the way we currently handle our multi-threaded physics and spent a few days fixing it. Unfortunately it half-broke my networking prototype, so I had to redo a bunch of stuff that was working last week. Speaking of networking prototype, I feel that I should elaborate on what the state of networking is, as Keith only mentionned a few words about it in the past weeks.

When I started working on the new networking model, I created a new independent prototype ( surprisingly called “networking experiment” ) which recreates some of the gameplay… in 2D. It is client-server based just like the real game, but the top-down 2D view allows a much easier understanding of what’s going on in terms of networking updates and physics. Although the view is in 2D, the actual simulation remains 3D. In this prototype I already implemented client side prediction, lag compensation, smooth actors paths interpolation and bandwidth compression. I also downloaded a small utility called “clumsy” which allows to simulate various latencies, packet drops and other typical failures. I’ve also tested the new prototype in real conditions between EU & US under a 150 ms ping.

The results so far are very encouraging, and much better than the currently available build. However, because it remains a prototype, it’s still going to take time before the code is cleaned and “plugged in” ( basically a huge copy/paste ) into the new code branch. Once this is done, I’ll still have to do some work on server-side collisions ( especially with the planets ), as everything is now mostly server-sided. Then the next step is to resume work on gameplay, which will include the new resource system, new weapons, controls/flight changes and maybe an initial implementation for capital ships.

Factory hangar module WIP

Needless to say, the alpha release is not going to happen any time soon; we’re probably at least 2 months away, if not 3, from that happening. To be honnest this is pretty disapointing to me as I was anticipating faster progress. Also on a private note, I am going to relocate to a new but cheaper place in Brussels some time in April, which is probably going to cut a good week of work at a critical timing. I apologize for that.

Keith is still working on the new user interface code. He’s been in “shader hell” for a week now, and from what he told me he had to convert a dozen of shaders ( from which 2 or 3 are massive, and very complicated ) from the paper he’s been using. Before he left for his trip he finished that work, so when he’s back he’ll resume work on the font rendering. We’re using a “path” rendering system for the GUI ( a big word to say we can rasterize curves ) in the hopes that it’ll bring a higher quality than what most games are utilizing ( bitmaps ) which do not work well with anti aliasing and zooming. As we can use “vector art” directly, we should get really good anti aliasing and high text quality at various resolutions and screen sizes.

Corvette render with ambient occlusion

On the art side, Jan has imported the new bobbleheads as assets to the editor, so they’re now ready to be used in game. I’m not sure when we’ll have time to make a new build; we’ll have to experiment with springs for the bobblehead physics ( probably around beta ), so in a first step the bobblehead will likely be a static 3D model standing somewhere in the cockpit. Jan has also been producing a bunch of short video clips of our 3 main ships ( interceptor, bomber and corvette ) and started to help Kristian on the factory assets like level-of-detail experiments.

A factory module in the editor

Kristian is still busy on the factory assets, modelling and texturing modules as he goes. Some of the modules will have an in-game function and be destructible in game ( the nuclear reactor provides energy to the factory; the gun tower defenses; the sensor tower allows to detect incoming hostiles, etc… ). We are hoping to model a “destroyed” state of those modules when their hitpoints reach zero, but we’ll probably lack time to do that before beta, so in the alpha version we’ll simply swap those models with some kind of placeholder dirt/blast material.

Finally, Dan’s making good progress on the global shape and plating on the destroyer, but it’s still to early to show anything yet :slight_smile: That’s all I have for now, I’ll bring you more news next week,

-Flavien

30 Likes

Awesome update, Flav. Keep it up. :grinning:

8 Likes

Sweet. I think I’ll be able to wait a little while longer until alpha :wink:. Until then, keep my mouth watering.

1 Like

2-3months…no problemo!
I wait SC and play ED so 2-3months are tomorow.
Keep up the good work!

2 Likes

Nice update! Interesting to hear the details behind the networking - sounds like some nice improvements.
Definitely been getting the impression Keith is battling hard with the UI stuff! Hope that gets sorted soon. If it takes too long, will it be shelved in favour of a temporary, easier-to-implement version?

And good luck with the move!

Bring on pics of that destroyer @Hutchings:smile:

6 Likes

so in the alpha version we’ll simply swap those models with some kind of placeholder dirt/blast material.

Planetside does this, the model goes almost completely black and lots of black smoke comes out of it, very obvious when it’s destroyed. The only image i could find:

3 Likes

So Flavien as you being belgian how come there is no beer bobblehead for example space Orval?

4 Likes

Trademark laws?

1 Like

then lets make inovae space beer bobblehead!
it could be good bobblehead for their store in future. I would invest in it, i always invest in beer!

3 Likes

Ooeh, product placement, sponsorship, I know a space brand:

3 Likes

that’s what i call good sense for business!

1 Like

heiniken its expensive urine, from our factory Baltika.

4 Likes

Flavien is actually French, he just lives in Belgium. So would have to be Kronenbourg 1664 :wink:

3 Likes

I think wine would be appropriate. :stuck_out_tongue:

1 Like

I thought he was a french speaking belgian. :open_mouth:

2 Likes

Ups, sorry Flavien!
I have friends from Swiss, Belgium and France and none of them like to be mistaken for each other.
Frenchs make jokes about Belgians and Belgians about Swiss guys.

1 Like

the delay doesn’t matter in fact I bet its going to be more than 3 months.
but who care as long it gets there.
I’m sure people will start nagging, just ignore those.

@INovaeFlavien

So the real question for me is, what is approximately the max number of simulated networked ships that can be in the same near space (3 km?) all moving around before you start to see desync/rubberbanding start to occur?

That depends on the hardware and bandwidth of the server which we currently don’t know, but battles involving dozens up to hundreds of players should be standard ( assuming there are enough players in the first place ).

3 Likes

So if you had to take a ballpark guess, about how much resources in regards to bandwidth, RAM, and CPU cores would be needed for a 100 person battle where everyone falls into the 50-100ms latency range based upon your current networking simulation?

1 Like