Trending Games | World of Warcraft | Overwatch | Valnir Rok | Runescape

    Facebook Twitter YouTube YouTube.Gaming Discord
Quick Game Jump
Members:3,824,196 Users Online:0
Portalus Games | Official Site
MMORPG | Setting:Historical | Status:Final  (rel 01/22/08)  | Pub:Portalus Games
PVP:Yes | Distribution:Download | Retail Price:Free | Pay Type:Hybrid | Monthly Fee:Free
System Req: PC | ESRB:TOut of date info? Let us know!

Sharing Game Data

Posted by Keith Cross on Mar 26, 2008  | Comments

Sharing Game Data -

The Pirates of the Burning Sea official site has been updated with a look at the process behind sharing game date online.

In the end of my previous dev log, I alluded to exporting game state via an internal server that Wes wrote called the “Crawler Server.” The original indented use of the Crawler Server was to allow us to write internal web tools inspect game data like a character or a landmark, instead of having to be logged in to a cluster and use GM commands in the chat window. However, we soon realized we could use this functionality to export data to the public as well. Specifically, I was interested in exporting the port state (unrest levels, port resources, etc) and server victory state (the scoreboard displayed in the server victory dialog in game).

You might wonder why we can’t just write web tools that read the game database directly. The primary reason is that even though the game data is stored in a MS SQL database that a web app could theoretically query, all of the data is in encoded binary blobs, rather than one column per field (think of an excel spreadsheet with one player’s character information per row and the character stats like ‘level’ and ‘xp’ in each column). We use blobs because it’s faster to move game data in and out of the DB if it’s in one large binary chunk. We also have game code that intelligently upgrades the binary blobs if fields are added and removed. For example, we may add a new character stat and thus need to upgrade existing characters in the DB, who were created before this new stat ever existed. Also, there is the issue of maintaining integrity of the game data. Web tool development is usually more fast and loose, and thus more prone to corrupting data on accident. It would be a bummer if we accidentally corrupted character due to a bug in one of our web tools.

Read more here.

Avg. User Rating: 7.5
(364 Votes)