A real possibility of multiplayer

General discussions about the games by Egosoft including X-BTF, XT, X², X³: Reunion, X³: Terran Conflict and X³: Albion Prelude.

Moderator: Moderators for English X Forum

jjz-
Posts: 143
Joined: Mon, 29. Jun 09, 22:40
x3tc

A real possibility of multiplayer

Post by jjz- » Fri, 3. Jul 09, 01:58

I read a topic which talked about "SMX3tc", which was a method to emulate multiplayer in a singleplayer environment. This got me thinking of a way to use the rules established for SMX3tc and share snapshots of only the player's assests between multiple people on a using a peer 2 peer system.

Players can be connected to each other and have a script running in x3 that checks for an updated script at, let's say, 10 minute intervals. This script is run, and what it does is checks against the current player's assets and only adds/removes assets belonging to the other player who uploaded the file with this player. If you read the notes on SMX3tc, it says that assets are to have "(Nick)" in front of their name. This can be used as the filter, to make sure only those assets are updated.

What this will achieve is a multiplayer that is real-time, but where that time interval is large. This is still, in my opinion, favorable to the turn based approach SMX3tc takes.

The big downside with this approach is that the universe outside of the player cannot be influenced by some other player's actions. If a player destroys some station, and then shares his information with you in the p2p system, that destroyed station is not recorded.

I am not saying I will do all of this. I just want to see opinions on this idea. I am a computer science undergraduate who has worked both in American and in Japan on relatively large software products. I can do the networking relatively easily. However, I have no experience with scripting in X3. I would need someone to do that.

Thoughts?

User avatar
X1000
Posts: 896
Joined: Mon, 22. Jun 09, 16:59

Post by X1000 » Fri, 3. Jul 09, 02:03

interesting, lots of script needed, and lots of lag.... but it is a good idea.

jjz-
Posts: 143
Joined: Mon, 29. Jun 09, 22:40
x3tc

Post by jjz- » Fri, 3. Jul 09, 02:57

Well, the lag should be able to be dealt with easily enough. I assume x3 script has some sort of sleep functionality? If so, the loop that applies changes to the x universe can be told to sleep for a bit so that it gives some time to other tasks on the cpu. With a reasonable sleep value, you should be able to achieve both a quick universe update without sacrificing significant FPS.

eladan
Posts: 7168
Joined: Sat, 7. Jan 06, 16:01
x4

Post by eladan » Fri, 3. Jul 09, 03:23

You're clearly not all that familiar with scripting in the X games. :wink:

There isn't any "loop that applies changes", I'm afraid. Scripts mostly run independently of one another, and what one script does can't be controlled by another. Also, quite a bit of the stuff which updates the universe is hardcoded.

The idea you've presented isn't a new one (sorry.) It could be made to sort-of work, but there would be some issues with it.

User avatar
X1000
Posts: 896
Joined: Mon, 22. Jun 09, 16:59

Post by X1000 » Fri, 3. Jul 09, 04:41

From my (EXTREMLY MINOR) experiance scripting, most scritps do run indepently, thanks for bring that up, Mr.Mod!

It was a good idea in theory. But, IMO, i wouldnt wanna play multi player anyhow.

mystikmind2005
Posts: 2256
Joined: Wed, 14. Jun 06, 10:44
x2

Post by mystikmind2005 » Fri, 3. Jul 09, 04:46

I guess the problem is, when developing these games, it is already hard enough to work within the limits of what the average computer can handle at the time, without even considering what effect multilayer would have! so multilayer is never going to be a viable option until the game gets old and computers are much more powerful compared to what was around when the game was developed. But once a game gets old, who cares to make a multilayer for it?? Well, if the game was an all time classic, perhaps?
What intriguing weapons and shields will you use to protect your trade ships and sectors from the Khaak when your not home? unless you can afford capital ships *and luck* its all for nothing, NOTHING! Mwaahhhhahaha
*(amendment for TC since all the good strategy and planning is no longer enough, you also need luck)*

User avatar
Aro
Posts: 2766
Joined: Tue, 15. Jul 03, 00:35
x4

Post by Aro » Fri, 3. Jul 09, 05:26

Is it possible to have say, an AL plugin (or script), check a file on the hard drive (doubt it can check online) then do an action based on that file?
[ external image ]
The end of a trilogy does not mean an end to a series.
| Vanilla with strawberries? [List of Vanilla safe mods.] | Tired of the plots? [Plot Skipper Tool v0.5] |
| X3: R & TC Minimaps |

jjz-
Posts: 143
Joined: Mon, 29. Jun 09, 22:40
x3tc

Post by jjz- » Fri, 3. Jul 09, 06:39

That was what I was saying. If file io is possible inside x-script, I can do an update system easily.

eledan:
Can't scripts be called by other scripts with parameters? I am pretty sure I have seen this. I am also pretty sure x-scripts have simple nested loops. If they didn't, no real scripting could be done.

All you would need to update is wares, add/remove ships from the universe, add/remove money, etc. Everything I can think of that needs to be updated is stuff I have seen other scripts updating before. I do not believe anything hardcoded in the universe would apply to this mod.

I was not aware someone proposed a peer 2 peer system exactly like I had. Is there another thread for this? If so, this should be merged into that one.

Of course there will be issues. This game is a singleplayer game. The multiplayer cannot be perfect; however, it would be a step in the right direction without having access to the source code.

User avatar
supakillaii
Posts: 2372
Joined: Mon, 19. Nov 07, 19:52
xr

Post by supakillaii » Fri, 3. Jul 09, 11:13

New one? That's... 467th.
Hm? Just counting, don't mind me.

GobsmackedIII
Posts: 107
Joined: Thu, 29. Jan 09, 14:32
x3tc

Post by GobsmackedIII » Fri, 3. Jul 09, 11:41

supakillai, sorry to be a bit off, but was that really necessary, I rather like reading these threads where technical ideas are proposed. I am a VB.Net and SQL developper by the way.

Even if you are fed up with these threads or do not find them interesting, the thought of playing something like X3 on a network with my son appeals to me greatly, I understand why its not possible, but this thread is interesting and I will now hunt for that SMX3tc thread for further enjoyment.

From a person who is not bored by this subject...

t31os_
Posts: 29
Joined: Mon, 8. Jun 09, 14:42

Post by t31os_ » Fri, 3. Jul 09, 12:18

I'm also happy to read further ideas toward a multiplayer scenario...

If only for Lan based games with 2 players, this is the one major thing i've always wanted in the X games that they havn't had... (whether it's possible or not doesn't matter, it's not going to stop me having a desire for it..)

eladan
Posts: 7168
Joined: Sat, 7. Jan 06, 16:01
x4

Post by eladan » Fri, 3. Jul 09, 12:41

jjz- wrote:Can't scripts be called by other scripts with parameters? I am pretty sure I have seen this. I am also pretty sure x-scripts have simple nested loops. If they didn't, no real scripting could be done.
Yep to both.
All you would need to update is wares, add/remove ships from the universe, add/remove money, etc. Everything I can think of that needs to be updated is stuff I have seen other scripts updating before. I do not believe anything hardcoded in the universe would apply to this mod.
I was under the impression you were wanting to halt any updating that the game was doing apart from what you wanted it to do. That's pretty much what my response was aimed at.

One of the most prominent hardcoded systems I was referring to is the GoD engine (stands for Global Decisions) which essentially regulates the economy.

User avatar
supakillaii
Posts: 2372
Joined: Mon, 19. Nov 07, 19:52
xr

Post by supakillaii » Fri, 3. Jul 09, 13:03

GobsmackedIII wrote:supakillai, sorry to be a bit off, etc etc.
I do like to read these.
And just got an idea for the MMO version but then realised it fails.
^.^

Osiris_sam
Posts: 422
Joined: Thu, 24. Aug 06, 13:45
x4

Post by Osiris_sam » Fri, 3. Jul 09, 13:28

The X universe is far to complex and dynamic to be successfully integrated into an online environment. If it was going to be a multiplayer... it would have to be written as one (sorry, just the hard truth)

Scripting other peoples stations into the game may sound good on paper... but:

scripts can only be input to by the player, the game engine (and other scripts) and their text files. So in essence, you would have to dynamically create a text file through the peer 2 peer network (not an enormous problem), but it is far from perfect.

jjz-
Posts: 143
Joined: Mon, 29. Jun 09, 22:40
x3tc

Post by jjz- » Fri, 3. Jul 09, 15:04

New one? That's... 467th.
I do wish people had a larger capacity for understanding. I thought it was obvious that when I mean a new proposed idea, I mean a new proposed implementation of multiplayer, not the idea of multiplayer itself. It is obvious that I would not say this was the first proposal of multiplayer itself, because I state in no confusing words that I take many of the ideas from an already proposed multiplayer system.
I was under the impression you were wanting to halt any updating that the game was doing apart from what you wanted it to do. That's pretty much what my response was aimed at.

One of the most prominent hardcoded systems I was referring to is the GoD engine (stands for Global Decisions) which essentially regulates the economy.
I have absolutely no idea how you managed to get that impression :P. No, I did not have it in my head to stop any scripts. I also did not have any intention of messing with god, so to speak.
scripts can only be input to by the player, the game engine (and other scripts) and their text files. So in essence, you would have to dynamically create a text file through the peer 2 peer network (not an enormous problem), but it is far from perfect.
This is obvious. I never stated the system would be perfect. The question is, would it be better than none at all?

User avatar
mrbadger
Posts: 14226
Joined: Fri, 28. Oct 05, 17:27
x3tc

Post by mrbadger » Fri, 3. Jul 09, 15:20

jjz- wrote: I do wish people had a larger capacity for understanding. I thought it was obvious that when I mean a new proposed idea, I mean a new proposed implementation of multiplayer, not the idea of multiplayer itself. It is obvious that I would not say this was the first proposal of multiplayer itself, because I state in no confusing words that I take many of the ideas from an already proposed multiplayer system.
Generally people are more interested if you have actual working stuff they can try. There are so many idea threads that go nowhere.

My advice is try to implement what you want, then post that and see who likes it.
If an injury has to be done to a man it should be so severe that his vengeance need not be feared. ... Niccolò Machiavelli

jjz-
Posts: 143
Joined: Mon, 29. Jun 09, 22:40
x3tc

Post by jjz- » Fri, 3. Jul 09, 15:42

The issue with that is, it is investing time into something that may or may not take off. I have no intention of wasting my time.

Also, when did I mention interest? I mentioned understanding.

Gavrushka
Posts: 8072
Joined: Fri, 26. Mar 04, 19:28
x4

Post by Gavrushka » Fri, 3. Jul 09, 16:05

@JJZ I don't think you're being criticised, just challenged on it - as the OP you'll often find people will add to the debate in such a way to give you a fuller understanding of it - I am sure this thread has added something to the long running multiplayer idea.

I am sure you, as I am, a bit wiser to the challenges involved in multiplayer now.

User avatar
mrbadger
Posts: 14226
Joined: Fri, 28. Oct 05, 17:27
x3tc

Post by mrbadger » Fri, 3. Jul 09, 19:23

jjz- wrote:The issue with that is, it is investing time into something that may or may not take off. I have no intention of wasting my time.

Also, when did I mention interest? I mentioned understanding.
Time spent trying something new is never wasted. If you wait for the aproval of others before you start, then you are doomed, because the validity of your project depends on the opinion of others, not your own.

You are the only person who should be deciding whether your idea has value, and you should most definatelly be prototyping, or hacking up some scripts, playing with the idea. There is nothing to lose, only new knowledge to be gained.

I'm a bit jaundiced about 'I have this idea' type things, which I realise does colour my responses. It's been my experience that the people to really pay attention to are the ones who not only have ideas, but have something, an actual design written up, or some code, anything that shows its more than just a vague concept. Concepts are easy, actually working on them rarely is.

I have a 'great' idea for a distributed p2p based system that an X game could slot into, and be very similar to much of the present sandbox game. However all I have is the design for the underlying distribution system, and about 1/4 of the code written for just that, no game code.
So to anyone else but me it's a worthless concept, even though something exists, because it's far too complex for someone else to hack about with, unlike scripts. Even if I get it done, it may still be worthless, no-one may want it, or care about my 'cool' thing.

I don't care though, because distributed coding rocks bells, and I'm enjoying the challenge. Basically it's win win for me.

That's the attitude you need.
If an injury has to be done to a man it should be so severe that his vengeance need not be feared. ... Niccolò Machiavelli

Cycrow
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 22227
Joined: Sun, 14. Nov 04, 23:26
x4

Post by Cycrow » Fri, 3. Jul 09, 19:44

jjz- wrote: I was not aware someone proposed a peer 2 peer system exactly like I had. Is there another thread for this? If so, this should be merged into that one.
there has been several posts with almost the exactly the same idea. Not for TC, but for Reunion mainly, as for the threads, they are most likly buried somewhere in the X3R forums


as for the idea, what is possible is to sync player assets in multiple games. But this is only a small part of actually getting it working to an acceptable standard.

it really depends on what kind of experience you want with it.

you would never be able to do any player v player actions, combat would be out of the question, and there would be limited ability of controlling the ships in multiple games.

u'd have to force alot of rules on the players to allow it to run properly. Rules that cant really be applied automatically by the system, but ones that each player would have to uphold themselves.


also remember, there is no file io in scripting, you have limited access to sending and reciving data externally. It is possible using the language files to send data to the game, the plugin manager uses such a system to do this, but it can not be done to any real time level.

sending data out can only be done via writing log files.

for X3R i was actually working on some multiplayer mods, but i scraped it because i was too busy with other things to finish it

Post Reply

Return to “X Trilogy Universe”