Friday Facts #147 - Multiplayer rewrite

Regular reports on Factorio development.

Koub
Global Moderator
Global Moderator
Posts: 7745
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Koub »

Very good news (imho) :).
Koub - Please consider English is not my native language.

User avatar
StoneLegion
Filter Inserter
Filter Inserter
Posts: 687
Joined: Fri Sep 05, 2014 7:34 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by StoneLegion »

Very good news. Someone who pretty much only plays multiplayer with friends using force lua commands I can say this is a massively a good thing for the future.


I been using this with my friends we want out own bases but we want to play a bit more Co-Op so own bases / research and friendly turrets. I wish we had more control like allowing to use each others gates and such but it's a good start.

Code: Select all

/c game.create_force('force 1')
/c game.create_force('force 2')
/c game.create_force('force 3')
/c game.create_force('force 4')
/c game.forces['force 1'].set_cease_fire('force 2', true)
/c game.forces['force 1'].set_cease_fire('force 3', true)
/c game.forces['force 1'].set_cease_fire('force 4', true)
/c game.forces['force 2'].set_cease_fire('force 1', true)
/c game.forces['force 2'].set_cease_fire('force 3', true)
/c game.forces['force 2'].set_cease_fire('force 4', true)
/c game.forces['force 3'].set_cease_fire('force 1', true)
/c game.forces['force 3'].set_cease_fire('force 2', true)
/c game.forces['force 3'].set_cease_fire('force 4', true)
/c game.forces['force 4'].set_cease_fire('force 1', true)
/c game.forces['force 4'].set_cease_fire('force 2', true)
/c game.forces['force 4'].set_cease_fire('force 3', true)

/c game.get_player('Kane').force = game.forces['force 1']
/c game.get_player('Togy').force = game.forces['force 2']
/c game.get_player('BennerKaj').force = game.forces['force 3']
/c game.get_player('Sgt').force = game.forces['force 4']

We really love MP and we can't wait for the future for factorio.

User avatar
Smarty
Global Moderator
Global Moderator
Posts: 816
Joined: Sat Oct 04, 2014 5:00 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Smarty »

Good news and good luck

Compboy
Inserter
Inserter
Posts: 37
Joined: Mon Jun 06, 2016 11:48 am
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Compboy »

Good news.
When will we see this? .14?

Rockstar04
Fast Inserter
Fast Inserter
Posts: 171
Joined: Sun Feb 17, 2013 4:31 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Rockstar04 »

Compboy wrote:Good news.
When will we see this? .14?
Thats what I'm wondering as well. 0.14 or beyond seems the most likely to me, but they may wish to try to get the best multiplayer experience for the stable release of 0.13 since it has the game lobby and other MP features.

iamwyza
Fast Inserter
Fast Inserter
Posts: 115
Joined: Tue Jun 07, 2016 2:59 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by iamwyza »

Compboy wrote:Good news.
When will we see this? .14?
I'm guessing probably. This sounds like a pretty major re-write, I kind of doubt they'd stick it in .13. Of course, what that could mean is .14's primary release motivation is MP 1.0. Or maybe not. I suspect we'll know in a couple weeks when they release the updated roadmap.

User avatar
Jackalope_Gaming
Fast Inserter
Fast Inserter
Posts: 230
Joined: Wed Oct 07, 2015 10:11 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Jackalope_Gaming »

"but it also keeps the clients from having to deal with the synchronisation and shit."

I'm still laughing about this. :lol:

User avatar
Bart
Long Handed Inserter
Long Handed Inserter
Posts: 81
Joined: Tue Jan 13, 2015 8:56 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Bart »

We'd like to take an opportunity to thank all the translators, as their contribution really has a great impact on the game, and their perspective often helps us in understanding how terms and descriptions we write in the game are interpreted by the players.
You're welcome :).
I have the cape.
I make the fucking whoosh noises.

roidal
Inserter
Inserter
Posts: 30
Joined: Mon Mar 07, 2016 9:49 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by roidal »

like that!

Swidilator
Manual Inserter
Manual Inserter
Posts: 2
Joined: Fri Jul 15, 2016 4:51 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Swidilator »

I have an idea, though I don't know of it's practicality:

To combat the freeze when a new play joins, is it not possible for the server to keep the updated map(If its not dedicated it should already have it in the exact form) and then while sending the map to the new player, queue all new merged packets to be sent after the map sending is completed? This means the other players can get on with playing(though the background upload might kill the 'playability' of all players, maybe limit the upload speed somehow) while the connecting client is the only one that has to wait.

Twinsen
Factorio Staff
Factorio Staff
Posts: 1348
Joined: Tue Sep 23, 2014 7:10 am
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Twinsen »

Swidilator wrote:I have an idea, though I don't know of it's practicality:

To combat the freeze when a new play joins, is it not possible for the server to keep the updated map(If its not dedicated it should already have it in the exact form) and then while sending the map to the new player, queue all new merged packets to be sent after the map sending is completed? This means the other players can get on with playing(though the background upload might kill the 'playability' of all players, maybe limit the upload speed somehow) while the connecting client is the only one that has to wait.
This is what was explained in the "Don't wait for upload" section.

wjessup
Burner Inserter
Burner Inserter
Posts: 12
Joined: Sat Apr 09, 2016 7:11 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by wjessup »

sorry but isn't all this a solved problem?

I recently read this: https://bengarney.com/2016/06/25/video- ... ng-online/

and given the pace he's developing at it seems like the whole nat punching and multiplayer libraries are existing robust solutions. Do existing tools and libraries not work for factorio for some reason?

User avatar
Dev-iL
Filter Inserter
Filter Inserter
Posts: 304
Joined: Thu Jul 02, 2015 2:48 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Dev-iL »

kovarex wrote:We'd like to take an opportunity to thank all the translators, as their contribution really has a great impact on the game, and their perspective often helps us in understanding how terms and descriptions we write in the game are interpreted by the players.
You're welcome :)
Leading Hebrew translator of Factorio.

Harkonnen604
Filter Inserter
Filter Inserter
Posts: 285
Joined: Thu Jun 09, 2016 5:56 am
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Harkonnen604 »

Would be nice if rotating entities and gathering stuff from belts got visual client-side prediction like with running or construction.

Aikonn
Burner Inserter
Burner Inserter
Posts: 16
Joined: Sat Jun 06, 2015 8:49 am
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Aikonn »

... the synchronisation and shit.
When discussion gets deep and hightly technical. :D :D :D

MyrddinE
Burner Inserter
Burner Inserter
Posts: 7
Joined: Tue Mar 08, 2016 12:42 am
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by MyrddinE »

Thank you for this. I cannot play with my friends, because two of them like out in the boondocks and the game slows to a crawl if we have more than two players in the game. The Peer to Peer architecture you have is only viable for LAN-only games, and I'm glad to see that you're finally beginning work on an actual client-server model.

It can't come soon enough. :-)

Swidilator
Manual Inserter
Manual Inserter
Posts: 2
Joined: Fri Jul 15, 2016 4:51 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by Swidilator »

Twinsen wrote:
Swidilator wrote:I have an idea, though I don't know of it's practicality:

To combat the freeze when a new play joins, is it not possible for the server to keep the updated map(If its not dedicated it should already have it in the exact form) and then while sending the map to the new player, queue all new merged packets to be sent after the map sending is completed? This means the other players can get on with playing(though the background upload might kill the 'playability' of all players, maybe limit the upload speed somehow) while the connecting client is the only one that has to wait.
This is what was explained in the "Don't wait for upload" section.
Oh, I see, I must've read wrong :|

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by bobingabout »

I pointed this out years ago. I kid you not, at least a year ago, like when you were first writing netcode to begin with.

My situation, I play internet games primarily with someone in Australia. I live in England, so this is literally as far away from me on this planet as physically possible. (unless you count the ocean, but realistically, england is closest landmass to the oposite side of the planet to australia, and vica verca)

MINIMUM ping, on a good day is 300 ms, and average is around the 450ms mark, spikes can be as high as 5 seconds.
data transfer between the two of us is around 100kbytes a second, so, quite slow.
on top of that, because of really crappy Australian internet in his area, packet loss is excessively high.

Take all that into account... when we attempt to connect to each other to play factorio, we get like... 1 tick every 2 seconds, if that.

Unplayable would be an understatement.


I seriously hope you manage to pull off some kind of re-write that would allow us to play together.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3714
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Friday Facts #147 - Multiplayer rewrite

Post by DaveMcW »

bobingabout wrote:I seriously hope you manage to pull off some kind of re-write that would allow us to play together.
Server vs peer-to-peer is about 3+ players. If two people have a crappy connection, switching to server mode won't help.

Post Reply

Return to “News”