Just something that I’ve been wondering, because I’ve seen other streamers having more flexible names.
This is the kind of thing that’s usually a pretty tight technical limitation, so I highly doubt it. I’m guessing they’re stored on the backend as all lowercase (or all uppercase), in which case they can’t change it without breaking everyone’s existing names.
Oh that is an interesting way to look at it. Tbh it would be cool if let’s say 1 day they allowed lowercased names and there can be somebody else with your name but a lowercased version which would allow more good names to be available. For example people are already using special characters atm(unique symbols on top of letters). I really doubt that’s even possible but I’ve known a few games where the same name but different capitalization are counted as different names.
I mean they could certainly fix it. Assuming what I said is even true, they could bring down the servers, change how they handle names to be case sensitive, fixup everyone’s name in the database to be capitalized, then bring everything up and allow new names.
It’s just that from a developer POV this is usually way more headache than it’s worth. Changing from case-insensitive to case-sensitive naming is a nightmare, and probably not anywhere remotely near the top of Smilegate’s priority list.
It is not nearly as difficult as you are implying. Source went to school for DB engineering and could do it literally in my sleep.
The database is the easy part. It’s the interface to the DB that’s the hard part, specifically all the assumptions you make as a result of your existing standards. I’ve been in the industry for just shy of 10 years and spent half of it as a backend server engineer (for clarity: not a DBA) for an MMO. changing naming standards is a pain in the neck.
My entirely baseless assumption is that if they plan to open up naming restrictions they are going to wait until player population has plateaued and they have to merge the low pop servers. I think some of the naming restrictions are because the names are shared across the entire regional data center.
Idk anything about this sort of stuff but I’ve been wondering why they don’t allow us to have more flexible names. is it because the system can’t handle it in some way? Also I’ve been wondering, that let’s say while I was making my character, I typed my name in all lowercased. Does the game not detect the caps lock key or something? I know that when you delete character, it can show lowercase. I was thinking what if my actual name(which was originally typed in all lowercased) is stored behind my actual displayed name, and let’s say they change the name system 1 day. I was wondering if my actual all lowercased name would start to show, but as Seraph mentioned earlier, that’s not possible because it would break names lol
KR has it so surely it wouldn’t be difficult
Only if you change from a looser standard to a tighter one. Going from tighter to looser is trivial.
It seems that they might force-case the names (either upper or lower) to store them in the DB (which is strict). If someone then comes along and tries to create a new character with the same name, no matter the case they type, they force-case it and then they can run the query with a DB index, so its a fast search for a duplicate.
If you allowed the storage to have mixed case, you’d have to create a 2nd table in the DB to store the normalized (forced-case) name, and then on character creation, force-case the new character name entered and run the duplicate check against that 2nd table. If you didn’t and used the main table, then you’d end up with a “dumb” (non-indexed) query, because any string manipulation of the column data in a query can’t be indexed.
i.e.
SELECT * FROM Character_Table ct where Lower(New_Char_Name) EQUALS Lower(ct.CharName);
That’s going to be a full table scan - not good for performance with millions of rows of data.
Again, I’m not really talking about the DB, but the interfaces to the DB. Your backend servers and client that modify everything coming to or from the DB, your json parsers and all that jazz.
And again, stressing that this notion of them storing names case-insensitive is purely speculative (I don’t know how their code works, obviously), if you want to change naming standards, you need to audit pretty much all of the data flow that relates to character names and see if it breaks anything, which involves not just your own code, but all of the old, decrepit libraries you might depend on. This is an industry where even today not all games support unicode, let alone something that started development a decade ago.
Switching to a more strict naming convention is actually much easier on this side since you already know you aren’t making any assumptions about it.
I think it’s more likely they force casing as part of a basic sanitization than to deliberately avoid people using different capitalization on the same name, especially since this started as a Korean game and roman letters probably weren’t on the top of their minds. But if they did want to avoid that, I suppose it’s possible.
Oh, yeah, there is more than just DB changes, if any (like you said, the DB may allow anything already, but the sanitization has forced the case long before the data even gets there).
If that were the case, then its all about the models and validation everywhere the character name is used.