[login to view URL]
2 person 8 month project
Certified GameSpy partner
[login to view URL]
DRM (Digitial Rights Manager)
Uses Online Security, using a 3 part RC4 Encyption key to decrypt key data. 2 Parts the server holds, 1 part is on the client. 1 part of the key randomly changes every 10 minutes. Socket communications randomly changes anywere from 5 to 30 seconds.
Uses UserName, Password and Serial number to identify the client.
Automatic Patcher
Uses MySQL to identify the version number and retrieve file list of files to download.
Uses HTTP protocol to download files.
Uses BZip2 for compression.
DBFS (Database File System)
Used to encrypt and store key data used in anti-piracy.
Used for easier patching
Used for storing texture cache
Colour Engine
Multi-threaded texture mask system. Used to customize characters in game, randomly colour droped items. Each surface currently has up to 3 masks that can be applied. Once texture is created and coloured, it's passed back from the thread to the main thread for storage in the texture cache (if needed) and use in game.
Skeleton Animation System
Allows up to any number of bones to influance a vertice, but not totalling more then 100%. The entire system is writen in ANSI C, works on PSP, IPhone, Windows, OSX, Linux and a C# port was created for XNA. Current in game characters can range from 200 bonse to 400 bones.
Texture Atlas on the Fly
Characters in game have up to 11 customizable surfaces. After the character has been customized, textures of the same material type (Diffused, Reflective, Transparent, etc) are copied together and mesh surfaces are reindex, taking an 11 surfaces down to 2 or 3 and in some cases 1.
Encrypted SQLite based Inventory, stats and saved game system.
Inventory is UPC (Unique Produce Code) based, for easy to implement DLC (Downloadable content). The Inventory is encrypted and authenticated with the authentication server. Character Stats and saved game is also encrypted.
GameSpy SDK Programmer
Experiance with Comrade SDK, Sake SDK, Transport SDK, Ladder Systems, CD Key and chat SDK.