Help - Search - Members - Calendar
Full Version: Dev Blog: Display Names: Changing Names
Sal's RuneScape Forum > Everything RuneScape > RuneScape Updates & News > RuneScape Announcements
Neo Avatars
There's been a bit of discussion recently about the name-changing feature we're planning on adding to the game. In order to spread enlightenment and illumination throughout the populace I have put together a blog post discussing the progress on the project so far and my own humble contributions.

Without further ado, then, for your delight and edification I present Changing Names, a Blog Post in One Part. Should you have any questions in this thread I will do my best to answer them in between fending off mountains of code and wrestling to the death with bugs.
(15-16-455-59477934)

I’m 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 I’ve been doing over the last few months will be a lot more visible when it finally launches.

The project I’ve 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? It’s 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 I’ll lead you through the long and convoluted process of implementing the simplest sounding of ideas: "let players change their names". It can’t 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 wasn’t 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 wasn’t 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 didn’t 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, there’s one module that handles creating new accounts; there’s 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 wouldn’t be something we could do instantaneously, so our first hurdle was what to do if we’d 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 we’d 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.

What’s in a name?

It’s 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 weren’t bound by existing restrictions on name length, or the characters it could contain. If we have the facility to take someone’s name away without otherwise affecting the account, we could do something about offensive names without banning the account outright. It’d 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 it’s been since this point, even that apparent simple goal wasn’t 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 everyone’s account that is fetched whenever that player logs in. However, that doesn’t help us when we’re showing you your Friends List (if your friends aren’t 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 couldn’t 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 didn’t want to throw that much load at the login servers, so there’d 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 didn’t 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 friend’s 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 didn’t 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 wouldn’t be too easy to impersonate another player, so similar-looking names wouldn’t 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 I’ve been doing, they’ve all been hard at work making, testing and tweaking their own changes.

Player Support has been working to ensure we don’t inconvenience the players with our changes, and have made many suggestions to make the project as positive as possible. They’ve also been reviewing the tools they’ll need to handle all the new functionality available to them.

It’s this coding that’s been occupying my days for the last couple of months, but it’s 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 RuneScape’s code that references the player’s name - almost 2,000 different places).

The final stretch

There’s 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 there’s 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 won’t leave you with any promised launched dates (I’d only doom myself to some catastrophic interruption if I did), but the project’s coming to a close and I’m 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, that’s entirely coincidental...

Answers to Questions
Spoiler: Click to Toggle the Spoiler.
Page 4

Now I'm sufficiently fortified with coffee, a few answers smile.gif

Jeffb87: What lets say, if zezima would want to change his name.. It becomes available to us after a while? I don't want that to happen =/

There's some extra functionality in place so we can put a block on anyone else taking particularly famous names, so even if Zezima changed his name nobody else could take it.

--

Ranlom: When will an account become "inactive"? Six months? A year? More?

We've not made the decision on this yet (it's one of those post-launch things), but our criteria are likely to include a long period of inactivity and very low in-game levels and play time. We'll probably start with accounts that were created years ago and never even logged in smile.gif

--

Jeffb87: It’d even make accounts more secure, as a potential hijacker would have to work out your username as well as your ********.
- But if that potential hijacker adds your new display name to his friendslist, doesn't he get to see your account name too?


No, your account name is different from your display name and other players only ever see your display name. Even if he has you friended a potential hijacker wouldn't know your account name.

--

we added a feature to the interface that showed each friend’s previous name when they changed it.
- Only shows to friends that the account owner has on his own list aswell?
(useful when you are being stalked)


I can see why that might be useful, but it'd be very hard to do (and what if someone else eventually chose your old name?).

--

The Pain 105: I however have 1 question maybe/maybe not you could answer - If a specific person changed there username to say "Therunescape056" and this was visable in game: would i then search for this username OR would i search for the original accounts username or is there going to be a system implemented where it shows the original username when the display name is entered.?

Everything you do will refer to their display name, so you'll add people to your friends list by whatever their name currently is in game.

--

Chukklz9413: You guys say similar names wont be allowed. Example, Sh00ter and Shooter. One name contains two "O" and the other contains two "0" (zero). So does not being able to have similar names mean the end of in game avatar twins?(I'm mainly talking about twins that use similar names to Pk to confuse or trick other players, or just to team PK)

It won't be any more strict than the current naming, otherwise we'd be stuck trying to give Sh00ter and Shooter their initial display names! The similarity test depends on what characters end up allowed in display names but, for example, it wouldn't let you have "The-Shooter" and "The_Shooter" as two different names.

--

Jarzki87: The thing Im worried most is the name race. People try to get 1 letter length names ASAP. Then 2 letter long.

Those names will be taken already, by the people with those account names smile.gif Some of them might free up over time as we go through the inactive accounts, though.

--

Then impersonating will become huge problem unless the old nick is reserver for quite a long time so everyone will know that this player has changed his nick.

The old display name is held for at least a month, longer if you had the name for a while in the first place. Anyone who had you friended will see the name change in their friend list, so would know about the change if they logged in during that time. Preventing abuse is one of the things we've been considering throughout the project, so there are quite a few features in there designed to combat it.

Page 5

Ken Genosis: Though, I do have one more question: What name will be displayed here on the forums? Your account or display name?

Your display name is what shows up everywhere smile.gif Forums, hiscores and all the rest.

Page 6

If I'm called snufflesx1, and lead a clan- but change my name to 'spirius', will my clan members need to join 'spirius' cc to get on my clan chat?

Clan chat has access to the same "previous name" list that friends does, so it'll let you join by either name for a while after you change it - but once they've joined the chat it'll tell them they're in "Spirius's channel".

--

Regarding allowed characters - there aren't any technical restrictions any more, but that doesn't mean we'll allow every possible character smile.gif Currently it's not much different from the existing username restrictions.

Page 6

More questions! (I need more coffee)

It seems doubtful, but would there be a way to retroactively change the non-displayed Account Name?

Unfortunately not, as it's that account name that's stored in all the different records for your account (so we'd have to update all of them at once, which is just what we were trying to avoid wink.gif).

--

Will we be able to change our display names as and when we wish, or will it be a one-time thing only?

There'll be restrictions on how often you can do it (to prevent abuse), but you'll be able to change your name more than once.

--

Will our display names on FunOrb and RuneScape be different or same?

They'll be the same.

Page 8

If we change our display name how long do we have to wait to change our name again to prevent from name changing abuse? A week? A month?

I don't want to jinx myself by giving a precise figure now. You'll find out at launch smile.gif



[Close]
Squiggle
I am so changin my name to Blompty when this comes out.
I'm tired of the extra 2 at the end of it.
Cattius
Great to finally know the details of the idea, I'd been wondering how it was going to work. Hurry up and get this update out Jagex, I want to change my RSN to Cattius tongue.gif
Neo Avatars
lol @ the last line. cute.png

(there was a 'big' release last year that had quite a few problems with it, but the main developer who had worked on it was on holiday, so several JMods in the dev team were posting on the forum explaining that they knew as much as anybody else)

-

I'll probably stick with Neo since it works well enough and changing would be confusing... I always have a couple of slightly more 'interesting' names in the form of other accounts. tongue.gif

-

The blog is pretty much common sense, but there are several nice tidbits of info slipped in. biggrin.gif

-

According to the timestamp on the Dev Blog RSS feed, it took a whole minute to get this thread posted. sad.gif
-82-
Agg.... My friend "Herty14" just came back from a holiday, but I'd really want to get the name "Herty" It'll be a race to see who uses the update first slanty.gif
Wiltingplant
All this to-do is why you should pick a name you're happy with tongue.gif I'm probably going to stick with wiltingplant, just because.
Goggie
Can't wait to get rid of the '100' at the end of my name wub.gif
And you have an awesomebeans name anyway, Wilts tongue.gif
King Reaper
cant wait!
my username : Tyboy_11 T_T

new name... King reaper (or sumthing close to it)
Easl
Luckily the account easl is very low activity so I should eb able to get that!
Flames
I think I'll just stick with Sargon219 just because I'm so used to it. smile.gif
dei wei
It's great to see that people won't be able to nick famous people's accounts.

I think i'll stick with my name I liked it when I picked it and I still like it now.
Birthday
Ugh...How much do you wanna bet you'll be forced to have a display name even if you don't want one? I'm fine with Birthday53 and don't have a need to change it. But knowing Jagex, I'll probably end up having to. And when I try to call myself "Birthday53" again, it'll tell me some ten year old in New Brunswick took it 20 seconds ago...
Click This
Sayonara, pikachufun.
As
QUOTE
Jarzki87: The thing Im worried most is the name race. People try to get 1 letter length names ASAP. Then 2 letter long.

Those names will be taken already, by the people with those account names Some of them might free up over time as we go through the inactive accounts, though.


Hmm... seeing as As has no ranked skills I might be able to get it happy.gif.

As
The Dragoon
im getting The dragoon, can't wait !
Tree
I'm getting Phipaw biggrin.gif Reserved, so don't bother trying to steal it tongue.gif

(For those wondering, the Phipaw is a symbolic metaphor for the equal balance between animals and nature)

-i consider myself quite lucky-
Sonata
Doesn't Sal have to secure his name before someone gets his?
Magic Of Woodcut
QUOTE
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 didn’t 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.
I'm trying to figure out whether or not "inactive" means simply banned accounts or accounts that aren't played as much...This could be a problem ohmy.gif
Poke
QUOTE (Sonata of Light @ Aug 29 2009, 02:37 PM) *
Doesn't Sal have to secure his name before someone gets his?


Sal isn't that inactive.
The last time I saw him was definitely less than a month ago. It all depends on what Jagex means by 'inactive'
Sonata
QUOTE (Poke @ Aug 29 2009, 09:28 AM) *
QUOTE (Sonata of Light @ Aug 29 2009, 02:37 PM) *
Doesn't Sal have to secure his name before someone gets his?


Sal isn't that inactive.
The last time I saw him was definitely less than a month ago. It all depends on what Jagex means by 'inactive'

It'll probably be fine if he comes on once a month than to secure his name probably?
Russki Niko
I doubt display names will be like usernames, where someone takes it and then nobody will be able to use it again.

Windows Live Messenger for example, you have an email, and your display name.


I'm wrong! crying.gif
strongfan
Guess what? When this comes out, I'm changing my name to Zezima smile.gif

Proof that this is a crappy update.
Russki Niko
QUOTE (strongfan @ Aug 30 2009, 09:22 AM) *
Guess what? When this comes out, I'm changing my name to Zezima smile.gif

Proof that this is a crappy update.


You can't. Gf. cool.gif

They made it so that you can't get similar display names.
Tubby
QUOTE (Neo Avatars @ Aug 27 2009, 03:57 PM) *

Jeffb87: What lets say, if zezima would want to change his name.. It becomes available to us after a while? I don't want that to happen =/

There's some extra functionality in place so we can put a block on anyone else taking particularly famous names, so even if Zezima changed his name nobody else could take it.



QUOTE (strongfan @ Aug 30 2009, 02:22 PM) *
Guess what? When this comes out, I'm changing my name to Zezima smile.gif

Proof that this is a crappy update.


Were you even reading this? Its a great update. My name will be Tubby biggrin.gif
Mohorak
I wonder if Kingduffy1 will change to Kingduffy?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.