I am writing this article to discuss the future update of "Display Names", the time spent developing the system, and the amount of people who this will effect positively and negatively. Background: Over the last several months, we have gotten word of a massive new system being introduced into Runescape in the near future. This update will be integrated into all of the previous modules that Runescape has at the moment and has caused them to have to re-write thousands of lines of previous code, and of course write the new code for the update. This update will give players the chance to change their name as it appears ingame, into something they desire more. Once they released that they were in fact working on Display Names, and close to releasing them, a developers blog was released to explain some of the system, and some of the problems they have encountered. That article can be read here:[hide=Changing Names by Mod Duncan]Im Mod Duncan, one of the members of the Web Systems team at Jagex. A lot of the work we do in Web Systems goes on behind the scenes, so you may not notice much of it (except when things go wrong), but we're responsible for developing and maintaining all the website systems that support our games, manage your accounts, offer website features like the hiscores and forums, handle payments for membership and all the rest. Most of the time the effects of our systems are limited to the website, but the work Ive been doing over the last few months will be a lot more visible when it finally launches. The project Ive been working on since January (according to version control logs; it seems a lot longer) is called Display Names and, as various hints dropped on the forums and Twitter feeds might have led you to believe, has the goal of allowing players to change their names. So why, you might ask, has it taken so long? Its a common occurrence in the programming world that the easier something is to describe, the harder it is to implement, and this project has been no exception. So, make yourselves comfortable, and Ill lead you through the long and convoluted process of implementing the simplest sounding of ideas: "let players change their names". It cant be that hard, can it? Humble beginnings The beginnings of the Display Names project hark back even further than January, before I was even involved. Back then it wasnt even called Display Names, and the goal was subtly different - we just wanted to make it easier for people registering new accounts to find a username that wasnt already taken. There are millions of accounts registered for RuneScape and FunOrb, and thousands more are added each day, but only a fraction of those accounts are still used. If we were to go through and delete all the inactive accounts, we could free up their usernames for others to choose. A noble goal, to be sure, but alas (as is so often the case) it didnt last in the face of the technical details. At this point in our narrative a brief digression into the architectural design of the Jagex back-end servers is in order, that you might understand the issues we faced. The systems we maintain are broken up into many individual applications (we call them modules), each of which handles a generally quite small part of maintaining the games and accounts. For example, theres one module that handles creating new accounts; theres one for polls; another for showing the hiscore tables. The bigger systems, such as handling offences and appeals, are spread over more than one module. Each of these systems stores its own information, and whenever players are concerned we store the information against their usernames. Generally, this makes our life a lot easier, as we can update individual modules without affecting the rest of the systems. However, in this particular case, it made our life a lot harder. Deleting a user from every module where they might have an entry wouldnt be something we could do instantaneously, so our first hurdle was what to do if wed decided someone was "inactive" and they had the temerity to start playing again halfway through the deletion process. Unlikely, you might think, but with the millions of accounts we have, these sorts of troublesome events become more and more plausible. Even if wed found a solution to that issue, we discovered there was information in the Billing systems that we were legally obliged to keep, which made it even more complicated. In the end, we gave up on the idea of deleting accounts and considered the alternative - just deleting their names. Whats in a name? Its around about this point in the tale that the project became Display Names, and, shortly after that, I became involved. The new goal was to add a second name to every account, completely separate from their username. Then we can do what we want to the display name on the account without affecting our data storage or old accounts. We could even take names away from unused accounts to free them up for other players, and the worst that would happen is that those accounts would have to pick a new name if they wanted to come back to the game. We even found a number of extra benefits from this idea. With the display name separate for the account name, we werent bound by existing restrictions on name length, or the characters it could contain. If we have the facility to take someones name away without otherwise affecting the account, we could do something about offensive names without banning the account outright. Itd even make accounts more secure, as a potential hijacker would have to work out your username as well as your password. As you might guess from the eight months its been since this point, even that apparent simple goal wasnt quite as easy as it made out. Such things never are... That which we obtain too easily, we esteem too lightly Once we had the basic concept of the design down, the first stage was picking it all apart again to find the flaws. Firstly was the issue of making the display name of each account available to all the modules that needed to know it, not to mention the games themselves. Most of the time we could get away with using the login servers, which hold a lot of relevant information about everyones account that is fetched whenever that player logs in. However, that doesnt help us when were showing you your Friends List (if your friends arent logged in), or on the website when looking at the hiscore tables or the forums. Because we wanted to let players change their names, we couldnt just store it everywhere, so we needed to have each system look the name up each time. After some hastily scribbled calculations, it looked like the worst case would be around 40,000 of these look-ups per second. That, incidentally, is quite a lot. We didnt want to throw that much load at the login servers, so thered have to be a separate system to handle the look-ups as fast as possible. Technical problems out the way, we considered making the changes as simple and clear as possible to the users. Keeping the Friends List from breaking was probably the biggest issue. If your friend changed their name, we didnt really want them to stop being your friend, so the list needed to store accounts rather than display names. That would still leave us with players scratching their heads and wondering who these people with strange names on their list were, so we added a feature to the interface that showed each friends previous name when they changed it. Finally, we thought about the ways players might tread on each others toes with display names, so we decided to let players hold their previous name for a while after they changed it, so if they decided they didnt like the new name as much, they could still go back to their previous name without someone else sneaking in and taking it. We also made sure that it wouldnt be too easy to impersonate another player, so similar-looking names wouldnt be allowed. Nine parts perspiration With all the excitement of writing, rewriting and debating design documents finally behind me, it was time to actually work on the module itself. As an added bonus, there was also the work of integrating display names into our other Web Systems modules and working with the Game Engine, FunOrb and RuneScape Content teams to enable them to do the same. Alongside the work Ive been doing, theyve all been hard at work making, testing and tweaking their own changes. Player Support has been working to ensure we dont inconvenience the players with our changes, and have made many suggestions to make the project as positive as possible. Theyve also been reviewing the tools theyll need to handle all the new functionality available to them. Its this coding thats been occupying my days for the last couple of months, but its finally drawing to a close. The main display names module is currently at the tender mercies of the Web Systems QA team, who are ironing out all the issues and making it as reliable and easy to use as possible. The Web Content team have produced the public interface, and the RuneScape Content and FunOrb teams have been incorporating display names everywhere (the RuneScape Content team were kind enough to share their list of every line of RuneScapes code that references the players name - almost 2,000 different places). The final stretch Theres still plenty of testing and work to be done before all this work bears fruit and players can change their names. We need to test that the new system can handle the load of all the requests being made of it, and co-ordinating the launch of changes across all the teams and departments is a mammoth task in itself. Even after the system is launched theres still plenty of work to do - not only will I need to keep a close eye on the system and fix any issues, but there are plenty of new features we'd like to add in the future as well. Possessing the natural tendency of developers everywhere to shy away from deadlines, I wont leave you with any promised launched dates (Id only doom myself to some catastrophic interruption if I did), but the projects coming to a close and Im very much looking forward to the day we can launch it into the eager hands of our players. If I happen to be out of the country on that day, leaving no forwarding address, thats entirely coincidental...[/hide] Tip.it's current poll: Tip.it's current poll asks the public whether they will change their names, along with a few variations on the question. Since Tip.it is a very diverse community, I have decided to use these results as a good approximation of what the Runescape community would like. Here are the current results: Looking at these results quickly, it seems like it says 38% of people would change their name when the update comes out, and only 32% wouldn't change their name. If you look at it from the standpoint of if the update was not released though, 53% would be happy with their current name, and only 17% wouldn't be happy. Based on this information, it looks as if this major update is really only benefiting 17% of the community. Compared to previous updates: Many people would argue that 17% of the community is still a very large percentage, but in an update of this magnitude, it should effect a larger amount of players. This update is on the scale of a new minigame in my opinion, it has required tons of bug testing, re-writing many of their old systems, and of course the writing of the actual update. New minigame are usually open to atleast 90% of the P2P players, and give some kind of reward that will benefit you for playing it. This however is only going to benefit people who couldn't think ahead of select a good name when they started. Using this update will not give them any better edge in training skills, fighting monsters, or playing the game, it will simply just make their name not have numbers, or correct a spelling mistake they made. Many of these people already know what they want as their new name aswell, so 10 minutes after they log in, they will be done with the update forever, making it only good for a very very small percent of the population which will want to change their names as frequently as possible, usually trying to make funny names, get around censors, or just try to break it. So as compared to previous updates, I guess you could compare this maybe to duel tournaments. Highly used for first few days by the part of the community who liked combat, then quickly faded off and died. This would follow the same pattern, except much quicker death. "If you don't like it, don't use it!: Where this holds true for many updates, and even in this case no one is forcing you to change your name, but it isn't hard to predict that this will cause a lot of confusion the first day, along with the countless bugs that will invevitably be found and exploited, and the strain on the system where you have thousands of plays making different names on their accounts. Many of the bugs found from this update will probably end up effecting all players, not just the ones changing their name. Although this is one of my major concerns with this update, it is a temporary one that will last just the first few days until they get all the bugs sorted. My main concern however is something that many long time players have agreed with me on, and even some of the luckier new players who got the name that they wanted. Prestige: Many long term players (including myself) have been fortunate enough to get the name they wanted right from the start. A name untainted by the normal Xx ____ xX, _____1993, Ii ___ iI or other frequent combinations people have used to get close to a name they wanted. Many players have commented on my name "Skillz Ftw" for it's rarity and originality, and other players with their preferred names also have gotten praise from others about their names. With millions of accounts created each year, the names remaining that are still original and clever are dwindling quickly. With this new update, people will get a second chance, and then a third, and a fourth and so on. People will be able to keep changing their name around, just hoping they can end up with a decent name instead of "Pk3r m4n 2131xx" or something along those lines. With the introduction of symbols into display names you will of course see even more imposter names, and people won't be able to assume by seeing a clever name that the person has been playing for a long time. Previous names that people have treasured since account creation will become less impressive. The Abusers: Undoubtedly there will be the players who see a new update, and try to break it, or find "funny" and vulgar names which have slipped past the system with the introduction of symbols into the naming system. They will also look for ways to possibly break the system, hopefully not finding a way as bad as the "mu bug". Look forward to seeing glitched names on your friends list, or them finding ways to constantly change their names and so on. They could make their names similar to others to attempt to scam someone with a case of mistaken identity, and the list goes on of what they can and will try to do. Conclusion: In the end, this write up does not change anything, the update will go ahead as planned, it is nearly complete already, so the time has already been wasted writing and re-writing tons of modules. The 17% of the community who really wanted this update will get what they wanted, and the other 83% of us will have to sit back and deal with the bugs and barrage of stupid names for the week afterwards. We will miss a week of updates, since they will class this as a mega update, and who knows, they might make this one count for 2 weeks since it is so big. It is just another useless update by Jagex, and all we have to look forward to is maybe some names that are easier to type when you have to report them.