How The Game Is Played

http://blogs.sun.com/gameguy/date/20080614 Saturday June 14, 2008

Its an XML... its a YAML.. no, its SADDL!

So, I've been meaning to check out YAML for awhile. XML can be handy but its SO verbose and so human-unfriendly. A friend suggested I check out YAML. Since I was writing a configurable UI system for my current project I figured now was a good time to try it

YAML is *better* in the area of human writability but it had a big flaw in my mind. By default, order has no significance. In order to make order significant you need to clutter up your file with this extra lines containing nothing but a dash. Two levels deep on my menus was already ugly. I was dreading going three.

What I *really* wanted was something that was like a Windows INI file or a Java properties file, but that had some of the characteristics of YAML such as hirearchical data blocks and the ability to represent objects.

Thus was born SADDL. That stands for either "Simple Application Data Description Language" or "Still Another Data Description Language." Ive been evolving the unspecification in an open soruce project as well as a currently about 80% complete reference implementation. I call the document an unspecification because it is not a formal specification. Honestly, I hate formal specs. IMO all they tend to do is obfuscate the facts to anyone but an academically trained reader. I am also not a formal spec trained writer. I am trying however to make the unspecification easy to read and logically complete. If you spot any holes, let me know!

The SADDL project can be found at:
http://code.google.com/p/saddl

A travelog of alternate realities

So,
Lost of people around here have heard me snort whenever second life is mentioned as a good example of a "virtual world." You will get the same reaction from most gamers. I could try to explain why, but they say a picture is wroth a thousand words.

So here is a little journey in stills across two current, real virtual worlds in two games today-- City of Heroes and Age of Conan. Please realize that as impressive as these are, they don't really do the games justice because there are all kinds of in game animated effects you cant really see in stills. Ripples on the water, things like that.

Also please keep in mind that there are no backdrops. Everything you see in the distance is real geometry that
can be approached, walked on or otherwise interacted with. The jaggies you see are because these are full screen sized shots that I set for reduced size in the web page so you could look at them easily in a browser.
























http://blogs.sun.com/gameguy/date/20080613 Friday June 13, 2008

Fun with Project Darkstar and JMX

Hey All,

This is just a sort of a random update, but I thought it was neat enough to share. I'm currently multi-tasking and one of the projects I'm working on is the server side of a complete casual game example for Project Darkstar. It is our intent to show it at the AUstin Game Developers Conference in september and release it as open source for other developers to take and modify.

As part of the demo w wanted to be able to peek under the hood at what the app was doing while it was running. After some poking around (and a pointer from a co-worker) I discovered that Java 6 has a *wonderful* tool built in called JConsole.

It is a complete, extensible, JMX viewer you can fire up and just attach to your VM. For anyone who doesn't know, JMX is the monitoring API for Java. You get all sorts of useful VM stats like memory consumption and number of current threads, but the best thing is that extensibility. By writing very little code you can expose your own information to the Console!

For my demo I have written a little Project Darkstar service thats starts an MXBean and registers it and then handles data requests from thw NMXBean. A service is necessary because the data comes from a Project Dakrstar managed object and you need to be able to run transactional code to read a Managed Object. I will be posting the actual code in tghe next day or so, its remarkably small and simple!