M&B and Multiplayer Discussion

Users who are viewing this thread

Status
Not open for further replies.
[quote author=Suck-o.com, regarding programming languages]There are alot, Here are some: Visual Basic, C++, Ruby, Python, PHP, HTML, Perl, Java, CSS, C, Basic, Cobol, ActionScript, J++, Ajax, Javascript and many many more [/quote] I refuse to accept that anyone who cannot tell the difference between programming languages and scripting languages (and CSS, for that matter :lol:) would have learned the skills necessary to turn a closed source game into a functional multiplayer experience.
 
so, here I am.
I have read all the 105 pages of this post, all since April (or May? is already osme days ago when I started..) 2005... and now I have a clear opinion on the MnB Multiplayer issue:



I hope MnB-II has some options for it  :mrgreen:
 
hyperion said:
You just had to do it didn't ya.
Couldn't you let it rot?
but why? does not everyones opinion count??  :mrgreen:
so, as recruit, I just felt I HAD to say mine in this topic :mrgreen:
 
Beron said:
but why? does not everyones opinion count??  :mrgreen:
so, as recruit, I just felt I HAD to say mine in this topic :mrgreen:

Why don't you PM that one to ol' Archonsod there, and keep upsing all the Mister Greens you like in it.
 
hyperion said:
You just had to do it didn't ya.
Couldn't you let it rot?

Who are you?  :neutral:


Beron said:
so, here I am.
I have read all the 105 pages of this post, all since April (or May? is already osme days ago when I started..) 2005... and now I have a clear opinion on the MnB Multiplayer issue:


I hope MnB-II has some options for it  :mrgreen:

Most people do.
 
I have a few ideas as to how multiplayer could be created for M&B but it'd be hard to explain them all in one long post. Don't cast me aside as some random person who just really wants multiplayer for this game. I am an 18 year old in college who has been programming since I was about 14 in python. I don't think that I could easily make the code for M&B to play mutliplayer simply because of these two factors, I don't even know what language it's coded in and I don't have access to the source lol. I would like to talk to a dev or a mod directly on a chat program if possible so send me an e-mail with some info on how I can get in touch with someone to talk things out.

Oh and you don't need any servers to have it work online... I mean a master server that lists all the player made servers would be nice but you don't need it. You can just allow players to host servers for their friends and then you can give out the IP address needed to play. You could even just allow people to post on the forum. It'd be just like any other old school game, like StarSiege: Tribes.

As far as the coding goes you'd simply need to add a loop in, most likely on a separate thread than the main thread that sends data back and forth between the host player. Exactly what data should be sent, what form it should be in, and how often it should be sent I can not say because I do not know how the engine for the game is designed. I don't know the data structure of the game. If someone would be willing to talk to me though I may be able to give some ideas as to how multiplayer could be implemented. It would make the game a GREAT DEAL more profitable (I only played the demo and felt that I would definitely buy it if I could play it online or LAN it with my friends and have huge battles against them.)

Thank you for reading.
 
Even if the sourcecode was released that wouldn't solve the problem. Unless M&B uses some kind of dynamic memory relocation scheme a memory patch would be able to manipulate\read the objects in the game. It would not be easy, but it could be done. 

The problem is that the way combat works in m&b makes it incredibly timing sensitive. In any FPS, you just make sure that the one you're trying to kill is roughly in the middle of the screen, and click the mouse. Even at quite high pings he will not have moved far before the information that you sent a bullet in direction x from from point y reaches him or the server.

In M&B it is quite a different story. I am not familiar with the inner workings of the game, but i will take a guess that an attack is recorded in a "animation x was initiated from coords y with weapon z, the character initiating the attack was heading in direction i with j speed, now check if any other dynamic (non terrain) objects are within the scope of the animation, if so: Deal damage, else ignore".

As you can see this is whole lot of information too keep track of, remember this has to be done for every character on the battlefield, with possibly an exception for horses.

To make this easier to transport as the internet is crammed with torrents, we must pack light, I would use an initial position in three dimensions. I don't know how many coordinates that are possible in a M&B battlefield, but i can imagine that this would make for three rather large integers. To avoid having to report my position every millisecond to avoid stuttering, I'd only send my velocity changes. I would also have to report actions like mounting/dismounting and attacking/blocking.

So far so well, now for the bad part: to make sure that you got all my velocity updates this would need to be a tcp connection. tcp connections are slow. One could always write your own network stack, I've done it, but i wouldn't recommend it. One could possibly use some existing framework like Directplay, but I am not sure if you can dictate what transport protocol to use.

What I am trying to say is that I think the whole debate has wrong focus. The problem is not getting you hands on the sourcecode, but the technical limitations in the internet and it's protocols. In addition to insane amount of information that must be sent to make this internet playable. You must remember that all characters, the NPC ones too, must have instantaneous status updates on the battlefield. But nothing would make me happier that if someone proved me wrong.
 
Status
Not open for further replies.
Back
Top Bottom