Well first and foremost I am aware why a lot of development companies take down online games, and why they don’t release their server software/ source code, the latter more so, they don’t want 3rd parties to monetize their IP (Intellectual Property), nor allow people to learn of any trade secrets that maybe of use further down the line.
The problem though is these companies hook players in, and in some cases drain the players of any money they can afford, then drop the server as soon as a specific target is met, or their attention is needed elsewhere, this creates a problem, first the user may start to lose interest in the company as a whole meaning they may lose any potential player base for any future games. Second the player could actually give up on gaming, and yes the issue of aging pop vs new gamers could be included in this argument, but we’ll leave it out for now since this is merely my opinion and not a fact based review, or a fact based topic, for now at least.
My suggestion to these companies, is to either release the server software after the date of the server shut down, and a small amendment to the client configuration file to allow players to input a new host address something along the lines of this; #HostName = insertip or host name; this method would stop players from wanting to play a game they may have bought upfront (software price), or have had to pay for monthly/annually (subscription), or of course bought in game items (microtransactions), while the player wouldn’t be getting refunded the former or the latter, this would allow them to play with friends, or host their own server to allow a multitude of players from an already existing community to continue to play a game they had put time and effort in to, now of course with this, the down fall would be loss of control of adding new features, loss of characters (since handing over sensitive data wouldn’t be in any companies best interest), fixing bugs, exploits, glitches that may have never been addressed during the games life cycle.
My second suggestion, is the release of the source code, now this is a bold move for any company, but it has it’s merits and it’s downsides, i’ll address it’s merits first then move onto the downsides. The first merit is simply a resource to allow people to comprehend the amount of work that goes into developing a large scale project, as well as a learning resource for those wanting to better understand Games development, and programming as a whole (I personally would have loved to have access to proper developed games to understand them, though I have went about it on my own, and have a semi-decent grasp of the development process), these two merits alone would make releasing the source code worth it, you could be inadvertently helping out a future employee, or even a future competitor/collaborator either is eventually good, the other aspect is you could see some one push the project you worked on to new heights. Now for some of the downsides, you would be allowing people outwith your company a first hand look at some of your trade secrets, you could have plans to reuse tech from the project in other projects, you could even very well have plans for a second iteration of the project further down the line.
My personal opinion on this matter is of the second suggestions nature, hands on experience is always preferred, and hands on with a proper project is most certainly going to help any potential developer in the long run, having went through the “uni” approach I can tell you I learned more bad habits than I wanted to, and I have spent a long time attempting to get rid of them… now that’s not saying that my teachers were bad, it’s more stating that everyone has bad habits of some sort, even those working on a large scale project such as an MMO, the only real difference is that there will be some level of a coding standard in place for each work place, to mitigate as much poor code as possible.
Anyway since this was on my mind I thought I would write up a little article about it, if you could call this an article…
Have a good day.