This post is from my blogs on the GarageGames site:
I wanted to withhold my post until the demo level was built, but alas, my uber Alienware laptop is puking bluescreen-hex into my lap every time I try to use Constuctor (or trueSpace, or Age of Conan, or WoW- occasionally). So, a new task on my list is to fast track a new laptop that doesn't go nova on me when I make DX calls more complicated than what Solitaire needs (I'm sure that's next on the blue-screen list).
In any event, I've been able to run TGEA in bursts short enough to work not-nearly-as-impeded and get most of the features from the TGB version of the game ported over. Since I wasn't scripting client/server calls in TGB, that led to some forethought on how to split the functions up between the client and the server portions- or to put it better: How to split the functions so that the client is basically treated as a "viewer" and the server as the "streaming content". That analogy isn't the best, but I'm sure you see what I'm getting at with it.
So, progress has flowed from all corners of the design triangle that are involved in the process: Myself and two friends who just happen to have very complimentary skills (writing "lore" and concept art) to my own (scripting, coding, 2D/3D art, and diarhea of the mouth). Lore is being created for the first continent of the first "world" that will go live, and that is mostly Rick and Chris (the "Lore Designers" I think is a good title for them). A lot of the ideas are ones that I never thought of and really take the cultures and social "issues" of the game in directions that will be quite interesting (especially for the players who think they're logging into a cheesy WoW type MMO).
And on the feature front, it's time for some show and tell:
The log on the left shows off the output of a number of features that were being tested in this image:
1) Inventory functions (equipping, unequipping, deleting items, using them, buff/nerf of stats).
2) My beloved NPC conversation system (I think that's the first time I showed the GUI for it, but it's mature enough to start showing off- and I have another two or three huge revisions to throw at it). The best thing it doesn't
show is that it directly links into the memory of an NPC, and while I demonstrated at IMGDC in March it's ability to store a "familiarity" rating for players... I upgraded that to allow for the NPC to remember what topics you've talked about in the past, and to what depth, which adds a new dimension to the Artificial Emotion system that hooks into the conversation system. There's other, more complex, conversation mechanisms that will be implemented before long, and if they work (and they should), then it will make talking to NPC's as much of a game as any other part of the game. Also, you'll notice that Emotes are tied into the conversation system, and do more than just make your friends do a chicken dance in the middle of town- NPC AI is designed to take these into account (so don't go flipping off the master-at-arms, or else). I really
like this feature.
3) Towards the top of the screen are a triplet of stat-bars for Kork, which appear and disapear when he is selected and deselected. The neater thing is that if you select rocks or buildings, you get stat-bars that are relevant for those objects (mainly just damage). One of the things about the game is to make everything more interactive, so clicking on many objects will bring up context-sensitive HUD components that reflect the status of the object, as well as the options you have in interacting with it. The only problem with this GUI is that it looks like crap, so I have some other designs that are both more sophisticated and better looking. Remember, fellow designers: Every time you create a crappy GUI, God kills a kitten.
4) What you can see without really seeing
: Everything but the terrain is pulled from a "mission table" in the database at the time the server starts up. When the player logs in, they get datablocks and whatever is supposed to "be around". Some people may be a little puzzled as to why I took this route with rocks, buildings, trees, etc, but to explain: In order to maintain a more dynamic world, the server should be pushing out changes to objects in the gameworld that can be persistently changed by players. NPC's are an obvious choice, as are MOB's. But with an even more dynamic environment, just about everything in the zone needs to be spawned by the mission server dynamically, so that changes to its states (destroyed buildings, etc) can be disseminated to players who need to see it, and also saved for persistence. Stress testing will most likely lead to adjustments in this so-far simple system, but I have hopes for it.
5) The Action System is in play here with the use of inventory items, and it is the underlying system for pretty much every single action taken in the game by players and NPC's (and probably MOB's too, because they do that ugly pouty thing when they get left out of a feature and I'm sick of it). Item actions, crafting, combat, magic, emotes, and even dialog break down into actions that can be used "against" targets. This is basically to unify the system so that I don't confuse the crap out of myself while scripting all these different features. Just make it an action, make the action components, and fix fewer and smaller bugs.
So that's the update for now- I wish it were more revealing, but wedding-season has taken it's toll on me, lol. Also, I'm bringing up the new website on a new host so that I can have a shopping cart and
a forum and
do other things all at once. It's even cheaper. Go figure.
The next update should show the work that my soon-to-be new laptop is enabling me to do with the "Danger Room" zone, and the evolution of several ideas, and a few others I only barely touched on here. Kork will still be in it, since I'm still not looking to form the production part of the team just yet, until I have a much better handle on the gameplay. Oh, and I'll have more to say on procedural content
as well by then. I don't want to spew too many ideas without screenshots to back them up at this point, because everyone likes eye-candy =)~