where the heck did you get that quote from Merro, I don't see it anywhere in the thread.
I don't understand the issue with using a Dedicated Server either.
I also don't understand a bloody work of what Matt just said, I'd put a Tenner on him being stoned or drunk.. or maybe both.
Quote: "True I'm not very experienced yet, but I know a fair bit more than the average person around here. What makes you think you know so much anyway? Have you ever had any actual experience using multiplayer in a project?"
As I said above, I'm sure you know more about the technical side of things that a lot of people around here. As far as the technical side of things I'm pretty ignorant to how it all works. I understand the end result, and the user-code... but in-between for actualy aquiring addresses, connections, transferring data. I've just never done it before so not a clue.
I do however know that since DB/E added Multiplayer commands I've been tinkering (which is just about 4years now). Learning how the packets work, what causes slow-downs (on my local connections). Differences between Server<->Client, and Peer-to-Peer Connections.
I've learn not only from my mistakes but those of friends who have also tried in DB/P. So at this point, yeah I'd say I know quite a bit about how it works and how to get the best speed out of your connections.
For example:
-- Make Host (4 Player)
<- Connect To Host
-> Send To Host Position (3 Float)
<- Get All Player Floats (1 Integer = Player, 3 Float = Position)
-- Repeat Until Exit
What is wrong with this picture? Your only sending 12byte Up and getting 64byte Down. Surely your connection can handle this, so why is it lagging?
Quick Answers:
a) Host <-> Client Are not Synced
b) Host being overloaded with Calls
I could go into more details to why and such, but it would defeat the learning process. My point is people don't think about things like 'Syncing' thier application, and when they do... they believe that setting Sync Rate 60 solves all of thier problems.
Timer-Based Loops are important in games, no matter what your writing. This extends to multiplayer games more so.
Remember 60 Syncs per Second = 0.7KB Up : 3.8KB Down
Instantly even that small download amount has ment you've caused all v34 Modems to die from the connection. Yet it is just such a small upload amount. Not to mention that connections are no Asyncronus, your either uploading or downloading. Doing both causes both to suffer speed loss. While your sending out and recieveing your data 60x per second, the Server itself is getting 240 data packets per second.
And as I said above, while it's downloading it can't upload without being Async. This is the major reason that Peer-to-Peer gaming is so much slower, because the calls are always happening relatively randomly as each computer syncs... so making sure ALL of your computers are syncing at the same time or rather within the data order is a huge task to try and achieve.
As I said there is quite a lot more to this that I don't feel like explaining here. But there are simply more perils of Multiplayer games than trying to get past the 255 Players Per Session Limit...
While yes Theoretically connections like my 1Mb:256Kb can achieve the necessary bandwidth, the fact is it is still limited by it's refresh speed. This will end up being around 80ms : 120ms, perhaps slightly better depending on the connection and countries. That's just not something you can really predict unfortunately.
Fact is that generally speaking my connection will be about to host games at 100ms. A more reasonable 3Mb : 1Mb that they have basically in every other reasonable broadband country in the world (sodding UK lack of Broadband technology despite where it was originally developed :shakes fist
would be able to handle clients at something more reasonable around 8-10ms (like a 10/100Mb LAN Connection can).
I can see no doubt some users are going to bash me for my comments again, without contributing anything reasonable to the topic. But those who decide to read what I have wrote (and have done this stuff) will know that I'm not just spouting off crap.
I have done several physical stress tests to prove my figures with a number of people. I would be happy to put together a simple example of a Multiplayer DB/P Game using the built-in Commmands. The are quite simple once you understand the basics of Game Network Coding.