» Thu Dec 31, 2009 6:42 am
QUICK NOTE, couldn't do a tl;dr for this post, and it is a bit of text (sorry!) but this is all just my input on the topic, nothing useful, no solutions, no trolling, just my two cents (pages?) worth.
@Sammysmiles1990
So that sounds like something that is possible, but it wouldn't be something that would register a network connectivity error. Also, I did not play the demo, so that too kinda throws your theory out.
A more likely situation is that there is some flaw in the coding that is causing this to occur, or that there is some sort of OS/hardware configuration that is posing a problem, or potentially something as simple as using blacklisted ports (btw, I can connect to the login.gamespy.com site because I downloaded COMRADE as I heard that it was a possible solution, it did not work for me).
Anyways, from what I have gathered on this forum as well as the steam forum is that most of the people with this problem are using win 7 x64. While this could be a problem if lets say the dev team had x32 or vista in mind (or xbox or ps3). But all-in-all usability is one of the two major factors that programmers look at when developing, so making sure that the game worked on every OS would have been something that was checked at almost every stage of development.
Next, a good number of people are at a university (which could be where the ports come into play) but this means that those who are not at a university are being restricted by their ISP, which isn't unheard of, but given the sales of the game and the distribution of people it would stand to reason that a lot more people would be having this problem if it was the ports being blacklisted or anything else. Regardless, the second major factor that programmers look at when developing is scalability, or essentially how well will what we make go from our small dev space to full scale use? With something like that you can expect that pretty much every possible configuration was tested to login.
Then next two things are probably the most likely to be the cause because they are the simplest answers to come up with:
An error in coding or handling of events (i.e. creating a socket on one port but looking for a response on a different port because of an overlooked hard coded port value). Ebkac errors are the most common when developing, and especially on a game this large with code that was probably transcribed to and from the consoles, screwing up something and not realizing it even after several people have looked at it is very possible and more than likely expected.
OR
Gamespy's servers being unable to handle the increase in volume of traffic brought about by the game. The game moved a ton of units as well as probably an equal or greater amount of virtual copies (steam, d2d, etc.) and since they require us to login through Gamespy it is possible that Gamespy's servers or connection cannot handle the influx of a couple million players.
And if you combine the two, for instance only needing a login check which doesn't require a continuous connection but because of bad coding the connection never gets closed, then you end up with another situation that is highly plausible.
I know some of you might question the validity of my statements and while this is the internet and I can spout of whatever I want and claim it to be true, I would like to state (not that I am going to prove it) that I am getting a B.S. in Physics and a B.S. in Computer Science from Georgia Tech in May. Tech requires us to have two main focuses for the CS degree (we call them threads, CS/ECE people take a moment to chuckle) and mine are Information Inter-networking and Security (basically how computers talk to each other, how to use it for various purposes, and obviously how to make sure it is secure) and Media (basically HCI kind of stuff, how computers are viewed and interact with people). With these two as my threads I have done a ton of development on small scale projects that have to be completed within 1-3 months with only about 4 people to work with, and believe me the two problems that were consistent through pretty much every project we did were either someone wrote something wrong and no one noticed, or we programmed on this computer and everything worked but once we ported it over to another or to several we began to run into various problems.
Well, there are my two pages worth, feel free to chime in... I mean its not like you can play C2, right?