The game itself runs on an internet browser, which makes it playable on a vast array of systems.
“The game is almost entirely written in Java,” says Gettini. “The server is all Java, except for about 20 lines of C. All of our development is done in-house. Prior to the recent graphics overhaul [dubbed RuneTek 5, Jagex’s own proprietary game engine], the whole client was Java, with pure software rasterisation, but now the client has some native code for the graphics. This is mostly C++, which is used to interact with DirectX and OpenGL, with a bit of objective C for interacting with some Mac OS libraries.
“There is also some use of intrinsics to do some heavily optimised software rasterisation, for people who have strange graphics drivers or who find they get better performance from this, which tends to be the case on some netbooks.”
Running virtual worlds that allow millions of people to run around, killing dragons, interacting and trading with one another creates a vast torrent of data, which Jagex captures and mines to better understand how its users play the game, and thus how their experiences could be improved.
“We feed about 2TB of data from RuneScape into a Hadoop cluster every day,” says Chris Smith, head of business intelligence at Jagex.
“This data includes player movements, interactions with the game, trading and combat. We have a dedicated Game Intelligence team of analysts for RuneScape who use Hive as a way to interrogate our Hadoop data. The game analysts sit and work closely with developers and designers to create the best possible game experience. A great example of this in action is on our Evolution of Combat beta [a reworking of the game’s combat mechanics currently in trial phase]. We have an analyst supporting this project full time, putting hard numbers behind the ideas and improvements to make the biggest leaps forward in the shortest time.”
Smith extolls the virtues of SQL as his data management tool of choice.
“While there are many tools that can quickly visualise data, it often comes full-circle to the flexibility of simple SQL. This fits with our use of relational databases and Hadoop Hive, and we’ve found Excel to be an extremely accessible standard for consuming data. We also use complementary technologies like R and Pig for data mining, and Tableau for fast visualisation.”
While much has been said of big data in the press, the actual examples of use cases among traditional businesses is still tiny. Meanwhile Jagex, one of the firms at the bleeding edge of big data exploitation, is examining the information that comes from people sitting at their computers shooting arrows at goblins and baking virtual cakes.