Author Topic: Newbie question RE: multiplayer scalability  (Read 730 times)

0 Members and 1 Guest are viewing this topic.

Newbie question RE: multiplayer scalability
Hi! I am new to FreeSpace2 and am having trouble working out how
to get started and would be most grateful for any tips/pointers.

I want  to simulate a large space battle with a large number of
players and was hoping to use FreeSpace2 to do this.

I assume this means I must get a standalone server up and running
and then hack the existing bot code to connect to the server over
a UDP socket to impersonate human players.

Firstly, is this the correct forum to be asking about such questions?
If not, which forum should I be asking?

Assuming this is the correct forum,  what should I be doing to get
started other than going through the Windows compilation guide?
I assume I need to buy a copy on GOG?

Finally, what is the largest game in terms of number of players
that FreeSpace2 has hosted that members of this board know of?

Many, Many Thanks in advance,
Ali

 

Offline EatThePath

  • 28
  • Laser Lich
    • Twitter
Re: Newbie question RE: multiplayer scalability
You can just have normal AI controlled ships in multiplayer like any other mission. If there's behavior that you want to include in your simulation, unless there's a wrinkle I'm not thinking of it would likely be saner and just as effective to create that behavior in lua scripts on a local game instead of creating a freespace-playing bot. If you have any goals that wouldn't be served by that, I'd be very interested to hear what they are.

Also, if you want to play a freespace-based mod then yes you need to buy a copy from gog or steam. There are a few stand-alone games such as Solaris that can run on FSO without a copy of FS2, though.
Name your damn turrets and sounds! Numbers alone aren't helpful!
"if disco is dead then I am the laser lich"
"...[Warmachine] keeps changing as fast as EatThePath can force the engine to do his dark bidding..."

 

Offline Novachen

  • 29
  • The one and only capella supernova
    • Twitter
Re: Newbie question RE: multiplayer scalability
FreeSpace allows up to 12 human players on a server iirc.

I do not think, that this limit was bumped up with FSOpen, because the multiplayer code had already very much issues with this number of players.
« Last Edit: February 07, 2022, 02:39:28 am by Novachen »
Female FreeSpace 2 pilot since 1999.
Former Global moderator in the German FreeSpace Galaxy Forum.
Developer of NTP - A Multi-Language Translation Library Interface, which allows to play FreeSpace in YOUR Language.

Is one of my releases broken or not working? Please send a PM here, on Discord at Novachen#2334 or on Twitter @NovachenFS2, a public tweet or write a reply in my own release threads here on HLP, because these are the only threads i am still participating in.

 
Re: Newbie question RE: multiplayer scalability
Many Thanks for your replies.
 
I am actually doing academic research into how to get large
numbers of players into the same battlefield. For my project
my goal is to get actual network traces from a game.

It should be *possible* to scale to more than 12 players;
Eve Online has had battles with thousands of players,
and NATO training simulators have had tens of thousands
of players I believe.

Without looking at the source code I have no idea how hard
it might be to get a more scalable networking system *into
FreeSpace2 specifically* because the trick is to get it to
play well with the existing code.

I guess the next thing I should do is buy a copy on GOG, and
then come back with more questions.

Again, Many Thanks,
Ali

 

Offline Strygon

  • 28
  • The last remaining vendor of space elves
    • Steam
Re: Newbie question RE: multiplayer scalability

It should be *possible* to scale to more than 12 players;
Eve Online has had battles with thousands of players,
and NATO training simulators have had tens of thousands
of players I believe.


Well one thing to really take into consideration is that this isn't Eve, and this definitely is NOT a NATO simulator, it's an old space sim from the late 90s that is currently being maintained by a group of hobbyists, and as skilled as they definitely are (please don't take offense to this, SCP Team, you do great work), the engine simply cannot handle as many players as both instances.

More than 12 players? Maybe. Hundreds? Good luck even finding the players for that, let alone make it actually work. Thousands? Don't even bother. The maximum number of ships allowed in total in a mission is around 300 I believe.
Makes missions sometimes.
Finished Projects: Operation: Cloak and Dagger

Current Projects: Scrolls Part 2 (FREDding), Dimensional Eclipse (Art),
The First Contact War, GTDr Amazon HTL

[23:22] strypolygon: andrew
[23:22] strypolygon: i have one favor to ask of you
[23:22] strypolygon: never try speaking german again
[23:23] Andrewofdoom: No.

[18:50] 島風改八百三: the duck has multipli
[18:50] 島風改八百三: many duck
[18:50] 島風改八百三: left side
[18:50] 島風改八百三: even side
[18:50] 島風改八百三: handle it

[21:34] MP-Ryan: Why on earth would you Google this
[21:34] The_E: why would you not

[06:46] Strigon: how big is a mini-campaign again?
[06:46] Asteroth: smaller than a campaign
[06:47 ]Strigon: thanks

[05:56] Strigon: If I had to take a shot for each time I randomly decided to change the UI sounds, I'd have died of alcohol poisoning by now

[17:36] qazwsxal: time to have some fun
[17:41] z64555: VC++5 is not my idea of fun

[EatThePath] do your missiles do anything absurd?
[Strigon] describe absurd
[Strigon] the entire mod is absurd

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Re: Newbie question RE: multiplayer scalability
It should be *possible* to scale to more than 12 players;
Eve Online has had battles with thousands of players,
and NATO training simulators have had tens of thousands
of players I believe.

It's not really possible to have more than 12 players currently. We definitely would have done it by now if we could. Volition just designed the game around that limit and changing it breaks a LOT of stuff. Packets, loadout, UI ... just all sorts of stuff is designed around that limit. It would be quite an undertaking to change. Remember that, even now, the bulk of the game engine was designed in 1998, and the networking code was optimized for dial-up modems. We are looking into increasing the player limit in the future and have several projects in the works which will lay the foundation for that change, but that's a really long term goal.

FSO does support around 8000 ships in a mission for multiplayer, but only 12 can be player controlled, with the rest being AI. Also, a standalone server counts as a player, even though it's non-playable, so using that only allows for 11 other players.

Your best bet is probably to look into scripting. A lot can be done with the lua scripting in FSO and you could probably work up some interesting scenarios (e.g., a few "players" each controlling large numbers of drones). All ships, whether player or AI controlled, are handled largely the same by the networking code. But it's really going to depend on your exact goals as to whether such capabilities are sufficient.

 
Re: Newbie question RE: multiplayer scalability
Thank you Taylor that was very informative. We can have 8000 bots in a game?
Are there actually any missions that are that large? It may not be possible
for me to implement a large number of players for real, but it might be possible
for me to implement a hack sufficient for my experiment, by making the system
emit a network trace for those bots. After all, the experiment won't need
UI or loadout or any other gameplay related stuff. It would need the physics,
and the netcode. What do you think?

Many Thanks,
Ali
« Last Edit: February 07, 2022, 05:07:22 pm by anvari257 »

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Re: Newbie question RE: multiplayer scalability
The netcode has space set aside for a bit over 8000 unique ship signatures, but that does include ships showing up in the future (for wings, reinforcements, and the like), so I'm not sure how may can actually be active in a mission at on time. There are two other limits to consider as well: MAX_SHIPS and MAX_OBJECTS. But those would be much easier to bump for your tests and that might let you get close to the 8000 limit with minimal changes. I believe that the network packet changes made in the last year or so should allow the netcode to handle processing of about 32k (int16_t) worth of ships as opposed to the old 128/256 limit. But obviously we've never pushed it anywhere near that, or even past the old limit for that matter. Multi missions tend to be much smaller in scale than the rather large newer single-player missions that have lots of ships/weapons in them.

And I'm also going under the assumption that you don't need any other fancy things either, like weapons or super effects or anything. That stuff eats into the limits as well so you'd need to factor that in or just restrict what you're doing to only ships to maximize your results.

You could probably get away without dealing with any UI at all. Most of the other stuff is pretty integrated though, so you'll likely be unable to avoid it. I suppose it depends on how many code changes you are willing to make and the full extent of what's possible with scripting (I'm not a mod maker, so I can't safely say).

But it is entirely possible that the engine is going to be too limiting for what you require, so don't get too set on it without some early tests to confirm what's possible since it might be a waste of time. Obviously you'll just need to grab the code and see how far you can push it without any code changes. If it looks like you could get the kind of data that you want out of it then hopefully we can help you with the code changes necessary to extend some of the limits and push it further towards your needs.