Posted by jeffpk
on August 30, 2004 at 2:09 PM PDT
I'm back after an extended absence with some new weblog goals and directions...
Hey Guys and Gals!
I'm back after an extended absence and I am going to try to hit once a week blogging again. They may not be as well thought out and structured as the essays I've done in the past but I hope to at least keep them interesting.
As part of this I am beginning a disorganized developer's journal this week. So having said that, lets dive right in......
I have two projects to talk about right now. My official Sun project and my unofficial late night project.
My Sun project is the Sun Game Server Technology (SGST). This is a baby of mine that actually predates to before I came to Sun. It was started as a late night project of mine back when I worked for the Total Entertainment Network, one of the earliest providers of Internet game play for packaged games. It grew out of my work on Dark Sun Online and my conclusions about what was required to really make writing and running MMOLGs manageable.
The SGST white paper which talks about what it does is here:
I have just finished a white paper on the basics of how it works that is slated for the ACM journal on entertainment technologies. When thats released I'll try to get a link to it posted in the blog as well.
This week we are completing the schedule to get us from the engineering prototype we have now to an SDK usable by you wonderful folks out there. After that, we go back into heave development mode.
My midnight project is JNWN. This is an Open Source OLRPG game client that can be fed data from the NWN aurora tool set. I've been doing some NWN hacking for Avlis
(http://www.avlis.org ) and its reminded me of how much I love the NWN tools, hate the NWN server, and despise NWNC.
In the scale of stupid ideas NWNC, the scripting language of NWN, ranks somewhere right after the decision of Hitler's parents to have children. Its a bad, quirky, sub-dialect of C that runs on a slow interpreter and pretends to be object oriented just enough to frustrate you when the underlying system doesn't act like objects should. The API is spotty and incomplete and in general it just a pain to try to program.
Considering the JavaVM was available to them for free and has none of these problems this was definitely a case of reinventing the wheel and making it triangular.
Now NWNC is the scripting language for the server, which is where the game logic runs, but as the comm protocol is sealed you cannot replace the server without re-writing the client. Add to that some true annoyance in NWN client limitations (like there is no reasonable way to let the user edit text) and the conclusion I came to was that Id need to re-write the client.
About the only really good thing about NWN really is the Aurora tool set. Luckily the file formats at least are open. Ergo, the JNWN project.
I have completed a first pass at a resource manager that mimics their resource management scheme and gives access to the data in the files. I also have a test program which is a resource browser. Its incomplete currently (only handles three data types) but I intend to add to it as I need it.
Ill be posting the undocumented code shortly to a new jnwn project here on java.net. I hope to do some commenting in the next few weeks.
RANTS RAVES AND OTHER NONSENSE
Finally, Im going to close these with odd game industry observations.
DOOM3 is out to much noise. Looks really pretty, not my kind of game. I'm sure Doug Twilleager or Chirs Melissinos will tell us all about it.
I'm still playing and enjoying City of Heroes. Ms. Terry my controller is up to level 17. One more and she gets the Illusion Controller's dream power-- phantom army.
I DO think the developers are having a bit of trouble with ignoring the lower levels in up dates. Not everyone shoots their characters straight up to 20+ and its a bit discouraging to see all the cool new stuff being added only for higher levels. I'd encourage them to invest some time and money soon in giving some updates to the lower levels.
Thats it for this week''s ramble.