13 ms·
10 years ago I worked for Jagex on RuneScape, an RPG. There are rules for that game about conduct and so on - no swearing, no scamming, blah blah. If you see so
by carlio 10y ago
10 years ago I worked for Jagex on RuneScape, an RPG. There are rules for that game about conduct and so on - no swearing, no scamming, blah blah. If you see someone doing something "bad" you can report them and the customer support team reviews the event and can allocate "black marks" on players who infringe.
One particular user accumulated thousands of black marks. We thought they were doing something incredibly bad. A black mark gets you banned for a short period of time, this player was banned for a millennium. But they kept sending messages saying that it was unjust, they did nothing wrong.
Turns out their playername was 'null' and half of other players' offences were attributed to them due to null in Java being cast to 'null' curing concatenation...
- Ar-Curunir 10y agoWow. How was working for JaGeX? As a kid I was wayyy too obsessed with that game, even staying up past curfew times to play RS.
- oxide 10y agomy busted computer barely ran Runescape when I was growing up, I played The Realm Online instead since it ran on basically anything at the time. I'd save Christmas and birthday cash to pay for my subscription annually. Then World of Warcraft came around...looking back, that was the end of the Realm. It's still around, believe it or not. The player count is usually ~20 people. Sometimes I get nostalgic and install it just to hear the music when it launches. Ahh, memories. Damn shame the game is owned by a private family now instead of actual developers, the game would be a massive hit on mobile with a f2p model.
- Ntrails 10y ago> It's still around, believe it or not. The player count is usually ~20 people. Sometimes I get nostalgic and install it just to hear the music when it launches. At least you can still log in and meander around. I'd love to be able to do that with MxO, hyperjump around the city a bit and just enjoy the sounds and settings. Alas, the servers get shut down by SOE and that's the end of that. A shame when I reckon you could run it off a sodding azure box for sod all cost these days.
- pjc50 10y agoThis is entirely secondhand from people I knew who worked there, but: developers treated well, support staff not so great. They've struggled to make a success of anything since Runescape. There were also rumours of an internal scripting metalanguage for RS, that had no local variables and all the other hallmarks of something put together in a hurry that ends up being a success and then a burden.
- ben_jones 10y agoWhat was it like working with Andrew Gower? He strikes me as a technical genius with some of the stuff Jagex was doing with Java circa early 2000's [1]. [1]:https://www.youtube.com/watch?v=yrVUegwSKlY https://www.youtube.com/watch?v=yrVUegwSKlY
- Cyph0n 10y agoDamn, that's impressive. Thanks for linking it.
- ufo 10y agoWasn't expecting the Chuck Norris joke in the end. 2009 was an interesting year.
- rhaps0dy 10y agoI couldn't quite understand the video. Why did they clone Maya and maintain feature parity and use the same formats?
- hollander 10y agoThey didn't clone Maya, but the features it has. Being able to build everything, including all 3D material, in their own environment, made it easy to link everything together. And when something changes, that requires an update to the 3D model, they don't have to go back to Maya to edit the model there.
- carlio 10y agoHoly crap, I wrote that forum software. I left in 2007 so I had no idea they kept it but if it wasn't rebooted for years, probably. The whole ethos of the company, driven by Andrew, was "minimal software for maximum output". I learned a lot about how much you can benefit from concentrating on efficiency up front compared to how much that ends up creating problems down the road.
- cced 10y ago>being cast to 'null' curing concatenation What does this mean?
- tantalor 10y ago"" + null is "null"
- ams6110 10y agoYou're kidding, surely? Java really does that? "" + null should be null (or throw an exception). Null is null and nothing else.
- deleted 10y ago[deleted]
- fgonzag 10y agoI think it should be an exception as those types can not be concatenated. But still , "" + null being "null" is just plain crazy. I could see "" + null == "" (as you are concatenating nothing to the string), or "" + null == null as you are concatenating a string to null, but "null" is bonkers.
- tantalor 10y agoThis is why I shrug when people complain about JavaScript casting weirdnesses
- LgWoodenBadger 10y agoThe + operator in this case is compiled to call String.valueOf() which returns "null" when given null.
- tantalor 10y agoNot kidding. http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#valueOf%28java.lang.Object%29 http://docs.oracle.com/javase/6/docs/api/java/lang/String.ht... http://stackoverflow.com/questions/4260723/concatenating-null-strings-in-java http://stackoverflow.com/questions/4260723/concatenating-nul...
- hoppa_liza 10y ago> half of other players' offences were attributed to them due to null in Java being cast to 'null' curing concatenation Why would half of the players have a playername of null?
- woliveirajr 10y agoHe meant "attributed to him", I think.
- Biganon 10y agoNo, they don't know whether the player "null" was male or female, therefore they used the pronoun "they", which is correct.
- adwn 10y ago> the pronoun "they", which is correct It's also highly ambiguous in this specific case (I had trouble understanding the sentence, too), and a simple "him/her" would have been preferable.
- woliveirajr 10y agoGot it (really didn't knew this use of "they"). Reading back, perhaps "the player" would be better than "they", if it was just one player having problems.
- misingnoglic 10y agoI would love to hear more stories about working for jagex back then - that game was my life and what got me into programming :)
- baristaGeek 10y agoI remember being obsessed with Runescape 10 years ago! I can remember pretty peculiar stuff from the game, now from my perspective as a programmer. I remember that the anti-swearing algorithms detected bad words in a lot of ways, but those ways were so much that you would get your normal conversations sensored (oh man, I hated those asterisks so much). You would always find a way to say the bad word anyway... I guess that with today's advances in machine learning those ambiguities could be removed in a better way. Love the 'null' story by the way.
- carlio 10y agoYeah the 'bad words' thing was hard, it's your classic Scunthorpe problem. Since the game was mainly targeted at people 12 years old and up, it was important to get right. However no matter how good the filter got, people would find creative ways to get around it, including a short period where players started using lots of fires and arranging them to spell out swear words.
- x1798DE 10y ago> Since the game was mainly targeted at people 12 years old and up, it was important to get right Let's be honest, this is not important. Even if 12 year olds didn't constantly see/hear/use "bad words", there are really no ill effects of lack of censorship in that way.
- BillinghamJ 10y agoIt's important for the subscription revenue - which comes from their parents.
- carlio 10y agoExactly, this wasn't puritanical zeal from Jagex but a realistic decision based on the fact that parents are the ones who control the credit cards.
- nylsaar 10y agoDo you have a 10 year cape?
- Kiro 10y ago> Turns out their playername was 'null' and half of other players' offences were attributed to them due to null in Java being cast to 'null' curing concatenation... Why did this happen though? I mean, why was it casted to begin with and why was there a null value?
- nl 10y agoUsually what happens there is String.toString(null) has been called somewhere (which will return the string "null"). Nulls are fairly normal in Java, and modern Java systems often have ways to define if something can return nulls or not. In the old days you just had to know.