Angel in Penguin Smash
Alright, I don't have any screenshots of this yet, but I figured I'd talk about it. It isn't exactly "front page" worthy news either. So last week we successfully implemented Angel into Penguin Smash. It works perfectly and as expected. There are a few bugs in the inner-workings of it, but not in the functionality. I was running around in Penguin Smash testing out our new gameplay mode: "Capture The Egg"--which isn't really like it sounds, it isn't CTF-style. So on every egg capture, the game makes a call into Angel to increment a "TotalEggCaptures" value for the player. I had the game open on one monitor and the Angel dashboard open on the other. Every time I captured an egg, the dashboard would flicker with activity, which is really neat. I could see the session being created, the commands being issued, and the transactions being performed. It is really pretty cool. I'd like to see how it looks on a larger scale with more players.
Early tests show that the average transaction takes around 20ms to complete, from the time the Angel Service accepts the SOAP XML to the time it responds to the client. That time does not include "time-on-wire" or any game-related functions. We'll most likely have to multi-thread this so it won't block the game's main loop thread and possibly halt rendering for a few milliseconds--that would be bad. Right now, Angel causes thread-blocking.
So we've still got some work to do with fixing some of the inner-workings, possibly making it faster, adding multi-threading, and changing the way the games interface with the Angel client DLL. We'll be pluggin away at this for at least a few more months I'm sure. The bottom line is that the proof of concept is there, it works, and it works well. The data collected by the client DLL and the web interface for administration and reporting work very nicely together.
Last Updated ( Thursday, 05 February 2009 01:52 )


