The Science Behind a Multiplayer Version

Pioneer is an open-ended space adventure game. Explore the galaxy, make your fortune trading between systems, or work for the various factions fighting for power, freedom or self-determination.
Homepage: http://pioneerspacesim.net/
IRC: http://pioneerspacesim.net/irc
Downloads: https://pioneerspacesim.net/page/download/
DionisisK
Private
Posts: 19
Joined: Tue Jul 24, 2012 9:27 am

RE: The Science Behind a Multiplayer Version

Post by DionisisK »

I agree with you, there is a lot of work to be done but it is more than worth it. I am not at all keen on the idea of having 2 separate and different games at all and support them, it is impossible for a single man or just two and it breaks/disrupts the whole effort. Personally, i will put myself in an effort of initiating the #5, in the point that the starting of separation between server/client part, and this can be done without disrupting the current development process and upsetting people/devs and i will start by building the central database part following closely what is being developed in the following versions of game. In any case in the end this could be used or utilized as a starting point. As you said too, a player can download the server too, no need for network hosting/bandwidth. Since there is a little interest in the idea, or at least acceptance exist (?) from the senior people (they do not oppose) and formally accept the effort, i will start development and post on git. As you said too, it needs developers not ideas. I know it might seem too ambitious, but i strongly believe dreamers have a place. Dionisis
fluffyfreak
Private
Posts: 1292
Joined: Sun Nov 27, 2016 12:55 pm

RE: The Science Behind a Multiplayer Version

Post by fluffyfreak »

I'm happy to discuss the idea but I'm one of the few dev's who doesn't use IRC. That's the best place to find and speak to most of us.[url]http://pioneerspacesim.net/irc[/url] Otherwise you can use the mailing list : [url]https://corbyn.site5.com/mailman/listinfo/pioneer-dev_pioneerspacesim.net[/url] It's not that there's little interest it's that it's so much work, and there's so much already to do that people are already occupied with big things so if you want to begin working on it yourself then that's great news and I'm sure people will help out where they can :D
DionisisK
Private
Posts: 19
Joined: Tue Jul 24, 2012 9:27 am

RE: The Science Behind a Multiplayer Version

Post by DionisisK »

I'm happy too from you response Andy, I have started hanging on irc and yes i have began working on a Postgresql database a bit. My goal is to make something that can be sometime in the future combined with/absorbed in the main project, not something close, mod, alternative etc. My main problems so far, apart from the fact that i am not a C++ developer although i know the basic concepts of OOP, have been the understanding of concepts and way of implementing things of game (i tried this via looking at code and some .lua files and the part of documentation that exists), the fact that i am lacking some inside info on general design things - for example i know about StarSystem / CustomStarSystem/SystemBody classes, but now (suddenly to me) we have also Spacestation, ie i mean the break/adoption of classes that influences greatly the database schema but i guess some closer monitoring the mail list could alleviate this.. Also, it would be good if there exists constraints on design on randomness as it is looks now, ie the main instances of entities could be random via seed, orhash_random() so they are deterministically repeatable and can be reproduced outside game via same parameters so they can be logged and stay same between different games/versions, Thank you for your positive response!
Irdwrwyn
Private
Posts: 6
Joined: Wed Sep 26, 2012 3:15 am

RE: The Science Behind a Multiplayer Version

Post by Irdwrwyn »

This is entirely a personal point of view. But I'd be very sorry to see Pioneer starting down the MMO route. Maybe it's just selfishness, but not being an overly sociable person I far prefer to play amongst machines. And besides, there's already a glut of multiplayer games out there, because it now seems to be the first thing people worry about when building a new game: how do we crowbar multiplayer into this? There is an exception for me: when I play EVE Online I tend to play as a trader, and the economic system in EVE is absolutely fascinating to play with (though I can't say I'm terribly good at it). I love playing with market orders and increasingly don't get into a spaceship at all. And I know that that trading system depends to a great extent on the fluidity that comes from the economy being almost entirely player-driven. And I know that that in turn rests on the politics and conflict that persists in EVE's universe. So to that extent, I can't argue that multiplayer is never a good thing. I also love the chat facilities in EVE, but these don't depend on players being in the same place doing the same thing. EVE has a local channel for each star system, a channel for each corporation, and countless game-wide channels, of which the busiest is Help. Chat in Help can be fun and entertaining, or troll-packed and irritating, and - just on occasion - helpful. The chat could be recreated in IRC. At the moment I only know of the developers' channel which I have absolutely no place looking at. But one or more IRC channels for players, allowing them to socialise, compare notes, tell stories, even (as frowned-upon as it may be) roleplay, would be more than enough for me. If EVE's trade system could be mimicked even to some degree in Pioneer using an AI economic system, then Pioneer would be as multiplayer as I'd ever want it to be. I'd certainly consider it a great shame if we jettisoned the beautiful, detailed physics model to satisfy the MMO's need to have everybody blatting round the galaxy without getting out of sync.
DionisisK
Private
Posts: 19
Joined: Tue Jul 24, 2012 9:27 am

RE: The Science Behind a Multiplayer Version

Post by DionisisK »

@IrdwrwynBeing an overly sociable person myself too i fully understand many of your questioning thoughts. What i can say is that this is not the way a multiplayer/MMO has to be or is in the end. There can beprivacy when/if needed or not and i think i have described above in my proposals/thoughts without getting into specific details the way isolation can be achieved with 2 different ways. In the end (ifall fails to satisfy extremely lonely persons as you and me might seem to be) you have to install in your machine 2-3 pieces of software more and enjoy playing completely alone. I am not on the side of abolishing the beautiful, detailed physics model developed and debugged with huge effort just to satisfy the MMO's need, it justs need an adaption to them. As far as thetrading part, there can be both. For example to get your aspect you mentioned, roughly imagine you can be docked in Mars High and trading commodities in Stock-market or for example Commodities market.Prices and amounts can fluctuate in daily basis with system parameters defined by the AI and by players (traders) moving goods around, trade or be able to produce/gather(!) them. They can be 2 differentmarkets (or not), one by the system and one by players so you can trade in whichever you want to have your isolation. These persistent info obviously can be stored and maintained on a central(database) server, but then we go too technical and i don't intend to go this way.To sum up what my intention is, is to be able to do multi-things in a persistent world when and if you want to, with the minimum deviations from current gameplay model. From the reality point of you,such effort is enormous and could take some..years to be implemented, if ever. What i can do though is to be put a stone (if i can) to this direction and i would be very excited if other people thatare involved into the project can participate in the sense of just reviewing schema/communicating because beyond database building and architecting, i don' t have tbh the technical expertee/experience for game servers and these sort of software.Best Regards.
fluffyfreak
Private
Posts: 1292
Joined: Sun Nov 27, 2016 12:55 pm

RE: The Science Behind a Multiplayer Version

Post by fluffyfreak »

My main problems so far, apart from the fact that i am not a C++ developer although i know the basic concepts of OOP, have been the understanding of concepts and way of implementing things of game (i tried this via looking at code and some .lua files and the part of documentation that exists), the fact that i am lacking some inside info on general design things - for example i know about StarSystem / CustomStarSystem/SystemBody classes, but now (suddenly to me) we have also Spacestation, ie i mean the break/adoption of classes that influences greatly the database schema but i guess some closer monitoring the mail list could alleviate this.. Also, it would be good if there exists constraints on design on randomness as it is looks now, ie the main instances of entities could be random via seed, orhash_random() so they are deterministically repeatable and can be reproduced outside game via same parameters so they can be logged and stay same between different games/versions,Hi DionisisK, Most of the game is deterministic, star systems, planets, space stations and everything else is all generated from the same seed number each time, meaning that nothing is actually stored about the universe, only about the player. So in my opinion the best place to look for information that would go in a database would be the current save game system which stores information about the player. That's the only information I would start by storing. Or perhaps it's better to say that it's the information I'd be interested in at first. Things like the players ship, what equipment it has - engines, lasers, fuel, and all types and amounts of cargo are all just "equipment". Then where they are currently, perhaps a history or where they have been, what crimes they've committed - if any. Currently I think we also save information about other ships in the area (/StarSystem) but in an MMO these would just be NPCs and so would have their own entries in the database including their current activities eg; trading/attacking/fleeing/docking/etc. Once you have the players ship, their history, and the AI ships stored you've pretty much got Pioneers save data figured out :) You'll also have made a good start into figuring out what "state" needs to be persisted to a database since an a player logging into a MMO-Pioneer would essentially need to get their own data, then the data of whatever other players/NPCs were in the same StarSystem and that's it. Well, I say "that's it", I mean that then all of the MMO-Pioneer games architecture would have to take over but as far as the initial data goes that would be enough to start. Andy
fluffyfreak
Private
Posts: 1292
Joined: Sun Nov 27, 2016 12:55 pm

RE: The Science Behind a Multiplayer Version

Post by fluffyfreak »

Actually now that I've posted that I've just thought, some of the scripts do update the equipment stock/ships and mission boards on the space stations. That stuff is probably in the save game data as well though so the overall approach is probably still valid :)
NeuralKernel
Private
Posts: 262
Joined: Sat Sep 15, 2012 12:07 am

RE: The Science Behind a Multiplayer Version

Post by NeuralKernel »

I have to say I have absolutely no interest in a multiplayer version of Pioneer, the very idea of having to deal with actual humans while I'm just trying to fly along is horrifying! You would think that DEEP SPACE would be the ONE place you could exp[ect some frakking privacy!!But everything I'm reading here sounds like it would be extremely useful and bring a lot of inherent flexibility for single player modding, too! :DA persistent "universe server" able to handle multiple clients would allow some very interesting 'bot interactions, I'm thinking of things along the lines of strategic fleet battles, like Homeworld but with proper physics and distances. I would actually prefer a smaller "tactical" level scale, myself... but as a stress test I'd say that any engine that can handle a couple dozen human players simultaneously should be able to handle a handful of bots...
fluffyfreak
Private
Posts: 1292
Joined: Sun Nov 27, 2016 12:55 pm

RE: The Science Behind a Multiplayer Version

Post by fluffyfreak »

@everyone "Pioneer is Pioneer" doesn't mean that asking these questions and discussing these ideas are a bad idea, plus this is an open forum, and the discussion is about what someone wants to see in Pioneer. You've (Vuzz, NeuralKernel, etc) all got ideas of your own too so please don't be negative towards someone elses.
Marcel
Private
Posts: 1188
Joined: Tue Dec 06, 2016 6:45 pm

RE: The Science Behind a Multiplayer Version

Post by Marcel »

If you want to play a lonely game of space exploration you should just go away. No, I'm not being negative. :P The galaxy is a huge place. Considering the number of potential online players the chance of meeting one out in the periphery would be very slim indeed.
DionisisK
Private
Posts: 19
Joined: Tue Jul 24, 2012 9:27 am

RE: The Science Behind a Multiplayer Version

Post by DionisisK »

@everyoneReading through all previous post, if i put aside the constructive one that having concerns on modifying current physics model, it seems that i have not been understood or i have not stressed enough that the possible ability of multiplayer of Pioneer would not remove the ability of single player. Just download the server, connect your client to it instead of the public one and then you will never be able to face/deal with any human player - your privacy is guaranteed, i don't know how to express this more simply or clearer way.I would like to thank fluffyfreak for the info, it is invaluable on the design of the database i am currently developing. This is the sort of post/communication i would like to see/have, so i could focus on (speeding up and not re-inventing the wheel in the) development i am doing and not wasting any time on responding to negative ones.Best Regards. 
Brianetta
Private
Posts: 863
Joined: Sun Apr 03, 2011 6:12 pm

RE: The Science Behind a Multiplayer Version

Post by Brianetta »

Reading through all previous post, if i put aside the constructive one that having concerns on modifying current physics model, it seems that i have not been understood or i have not stressed enough that the possible ability of multiplayer of Pioneer would not remove the ability of single player. Just download the server, connect your client to it instead of the public one and then you will never be able to face/deal with any human player - your privacy is guaranteed, i don't know how to express this more simply or clearer way.It isn't quite that simple, for full multiplayer. Full multiplayer is not compatible with time acceleration, including both the Stardreamer and the hyperspace jumps. This has consequences, and means that one of the following must be the case:Single players must accept that fundamental game mechanics have changed, orGame developers must effectively maintain two games, using two different mechanics.Since the second one isn't likely, the first is what's seriously being suggested. I for one would consider this a negative development.That's quite aside from letting the riff-raff into my galaxy. (-:
User avatar
Cody
Private
Posts: 1975
Joined: Fri Nov 25, 2016 11:33 pm

RE: The Science Behind a Multiplayer Version

Post by Cody »

"That's quite aside from letting the riff-raff into my galaxy." <chortles merrily> 
DionisisK
Private
Posts: 19
Joined: Tue Jul 24, 2012 9:27 am

RE: The Science Behind a Multiplayer Version

Post by DionisisK »

@Brianetta Well, I never said that there won't need to be any adaptations on time acceleration/some mechanics issues. I suspect both Stardreamer and hyperspace jumps consequences you mentioned have to do on this effect. On your consideration of this change/adaptation seen as a negative development (from users perception right ?), all i can say i have a different opinion. I am personally thinking on how to find the best way to adapt to the multi thing in order to minimize the changes from the current single model tbh. :) On the last saying, i can't speak it's very personal and sentimental. @Vuzz As far i can think at this moment (it' getting VERY late here and i have to log) there can be only one server/real time. Missions for example can't have parameter the final point in time, but a time duration based/added on current server time. Obviously if you keep the current influence on time acceleration based on the current way stardreamer/hyp jump works, there can' be consistency if you think time space continium independently upon each user. All users in this abstract should refer to same server's real time. For example an elegant solution to this problem was given in EVE with gates (much same as pressing hyperjump here, but we don't need gates) and the time is the server's. The only thing actually we have to solve is the time acceleration issue adaptation (either by stradreamer or hyp jump). But, you are right on the point that this is a deviation from the current mechanics implementation of the game - basically it needs a different good abstract (not disastrous, just different and good :) ). Ps: I am sorry, i am not a native speaker (thankfully i have online dictionary correction) but i can't speak any French at all. Best Regards 
NeuralKernel
Private
Posts: 262
Joined: Sat Sep 15, 2012 12:07 am

RE: The Science Behind a Multiplayer Version

Post by NeuralKernel »

Woah... didn't mean to pluck so many nerves.. or maybe I had nothing to do with it... meh :)I'd like to say that I am COMPLETELY on board with the client / server setup, to hell with "breaking" the single player game I very much like the idea of having my own local server that I connect to without ever crossing the Wild, Wooly Internet (or letting it intrude...) with the option to invite a special friend over occasionaly for a freefall throwdown :D
robn
Private
Posts: 1035
Joined: Mon Jan 31, 2011 10:29 pm

RE: The Science Behind a Multiplayer Version

Post by robn »

Just going to throw a spanner in the works, albeit a small one. The majority of the developers aren't especially keen on the idea of true multiplayer, and that's after a huge amount of discussion on the topic over the last year or two (which sadly isn't really documented). We did boil it down to <a href=""" a single FAQ item once though. But, as always with Pioneer, this is a community project, and code talks. If an enterprising programmer turns up with an implementation (even a prototype), then things could change very very quickly. So by all means continue to debate and discuss, because its useful to talk about it and consider the pros and cons and think through the problems. Even if Pioneer never becomes a multiplayer game, the discussion is worth having and will likely generate ideas that are useful and implementable on their own.
fluffyfreak
Private
Posts: 1292
Joined: Sun Nov 27, 2016 12:55 pm

RE: The Science Behind a Multiplayer Version

Post by fluffyfreak »

Focusing on an eventual change to the physics / time acceleration is to throw out all of the other possibilities, which are numerous and diverse, over fear of a possible change which only applies to a subset of outcomes. Or to put it another way;There are lots of ways of bringing elements of multiplayer/collaboration into Pioneer none of which would affect the physics or time acceleration which could all be implemented quite simply.There are then lots of ways of bringing actual ship-vs-ship multiplayer into Pioneer also without changing the physics/time elements.The ONLY kind of multiplayer that would require a unified time and thus changes to physics is the full MMO, or otherwise persistent servers. Only at that final point would it be worth forking Pioneer and calling it PioneerMMO or something, I.e; Pioneer would be a close relative, 99.9% same code and assets, including any networking code written for all the rest of the "multiplayer" options. Any changes to Pioneer gradual and only add new features to Pioneer. Imagine something like a map of crashed ships that gets updated from a server when you start a new game and gets added to by you when you go smashing into a planet etc, cargo options, equipment salvage, could you recon the ships then get a lifter to bring it to a starport for repairs? Retrieve the ships log and find out where Commader Vuzz had found a profitable trade route, or how Commander Robn frequented a lesser known Aussie' backwater Star System :) That's all multiplayer to varying degrees without affecting anything. So no it doesn't require Pioneers physics/time management to change, no that won't happen to Pioneer. A lot of good could happen to Pioneer though just by discussing these things even if some of them only ever happen to a fork of Pioneer at some point in the future. If at all. Andy
NeuralKernel
Private
Posts: 262
Joined: Sat Sep 15, 2012 12:07 am

RE: The Science Behind a Multiplayer Version

Post by NeuralKernel »

Why not have everyone aboard the same ship? Multiplayer as in the crew of a ship, not multiple ships... Helm, Tactical, Engineering...Replace "Missiles" with "Drones" and allow players to control them, and ECM...Actually... just make a TONNE of options for various ship controls available and make the whole interface network accessible (web interface?) and you could relatively easily hack together either an elaborate simpit with a bunch of moniters,keyboards and custom HOTAS rigs... or have a couple buddies help operate the different systems over the net to help fly a crazy complicated ship with tonnes of different devices and weapons!Single ship... multiplayer...Just a thought...
fluffyfreak
Private
Posts: 1292
Joined: Sun Nov 27, 2016 12:55 pm

RE: The Science Behind a Multiplayer Version

Post by fluffyfreak »

I shall direct you to post #9 in this very thread ;) in which I direct you to another two posts in another thread![url]http://spacesimcentral.com/forum/topic/2960-the-science-behind-a-multiplayer-version/#entry30942[/url] this post in particular. Just a few of many possible ideas and yes you could do something a lot like Artemis whilst keeping all of the time acceleration and physics perfectly intact. That's why I like the discussion about multiplayer, even the MMO stuff, it's a good spawning ground for ideas and alternatives for sharing data and hopefully finding ways of enhancing the gameplay even for people who don't want to play against/with others.
Brianetta
Private
Posts: 863
Joined: Sun Apr 03, 2011 6:12 pm

RE: The Science Behind a Multiplayer Version

Post by Brianetta »

That's what I meant by "full multiplayer." I'm all for enhancing the game using network features, including the use of bones files and shared BB content. For those unfamiliar with NetHack and the like, by bones I mean where fluffyfreak described: "Imagine something like a map of crashed ships that gets updated from a server when you start a new game and gets added to by you when you go smashing into a planet etc, cargo options, equipment salvage, could you recon the ships then get a lifter to bring it to a starport for repairs?"I do think that bones should only show up in a game after the date and time at which the ship crashed.
Post Reply

Return to “Pioneer”