Product not found

Game Development Community

Plan for Ted Southard

by Ted Southard · 11/12/2004 (2:34 am) · 4 comments

My last .plan talked about the AI functionality I was working on for the game, and since then I've planned out a few adjustments for the 4th generation of the AI that I'm working on. Mostly, I'm looking at an accurate emotional model that I can use to model more complex emotions. I could add layers to it going in both directions, with more "pure" emotions and added layers of complex emotions, but that would only be something to do from a research standpoint. So as it stands, I'm trying to hold the line between accuracy and too much complexity, too much of either meaning less fun in the game. This next test of the AI/AE solution will tell me better if I'm on the right path.

For the rest of the game, I've finally sorted out a problem with the shortcut bar, where the player can use up and down buttons to scroll through their inventory. It's a terrible hack because the database keeps returning -1 rows in my query results, but it works for now. Eventually, it'll have to be fixed though, because it's slow, and it can be optimized to return only the data it needs instead of the data for the whole inventory now. In any event, it's nice to see the inventory icons scroll :) Next is saving the rearrangement of the items and setting up the actions that they can perform. That's a doozy since "improvised tools" is something I want to pull off in the game.

Another thing I started working on was something I haven't found much information on yet: DTS morphing. For the character customization screen, the player needs to be able to change the physical characteristics of their characters using sliders. Things like height, weight, jaw, nose, etc., would be controlled like that, providing a way to create unique characters. That characer model would then be saved to disk, or have it's attributes saved to the server to be retrieved upon the player's login.

To that end, I'm intending to implement some "target morphing" to the characters, using a "neutral" model and several "targets" that represent each different attribute of the model's geometry. As the player moves the slider, the neutral model is influenced more or less by the morph target, modifying it's geometry and changing it. When the player is satisfied, he/she can save the model to disk, and/or the server, making it persistent and retrievable. Another option(to keep the data transfer lighter) is to have only the procedural representation of the model saved to the server, so that when the player logs in, that data can be transmitted to the client and the client can build the model using those parameters.

So far, I'm digging around in the mesh classes, mainly crashing TGE with the little test function I'm inserting at different points. Once I find where/how to get at the data, the rest should be a piece of cake. And moving beyond the main goal of character customization, but it also opens up for realtime deformation effects and other things that can benefit from manipulation of the mesh vertices. Can someone say "Code Pack"? ;) Of course, how many people would actually need this kind of functionality?

And lastly, the next build of mapExporter is being rebuilt, as it was almost ready for primetime last month when the dev machine's HD took a dive, and I intend to get it out the door by December. A bug fix or two, more light entity support, and support for triangulated "polysoup" objects is in the works. Also, I'm going to try and get the brush tagging functions to tag every object in a group, as well as put a "detag" function in there as well, to make it easier to undo mistakes.

#1
11/12/2004 (4:06 am)
Say, did you make it to that game developers' meeting in the city last time? I wasn't able to before but want to try for the one the 16th of this month. If so I'll look for you :)
#2
11/12/2004 (2:09 pm)
@Jerane: There was about 8 of us there, but it was pretty productive. Made a few contacts, and we're planning a collaborative game sometime in the near future with some of the guys that showed up who do flash games. From what I hear, this tuesday's going to be a big meeting, because they're renting the bottom floor of the web cafe($3 a person to cover it, but I'm fine with that).

One of the things that was brought up last time, and I wholeheartedly agree with is that for all the talent in the NYC area, there's very few game development companies. Everyone has to move to other parts of the country to get into the industry for the most part.

Edit: Of course, after I've said this, I just found out that my new job scheduled me for Tuesday night. So, I may not be able to make it(depends on how open to reason my manager is to moving the day)
#3
11/16/2004 (10:21 pm)
Definitely interested in being able to customize characters, Big issue is the amount of additional info that has to be sent to other players. Be interested in seeing what you find out.
#4
11/17/2004 (12:11 am)
Well, ideally(and I do strive to try to ideals unless they turn out crappy) what you would do is have the client have all of the necessary morph targets and functionality to do this on the fly, and then transmit the "DNA" of the characters to the clients and have them build the characters before they come into view. It helps take some of the load off the servers from transmitting the actual models, because that's just a waste.

What should happen is that a client in a particular zone would, upon entering that zone, generate all of the mob's and players around it that it needs to, update all their positions/actions/etc, and then drop into the area. After that, it would get notifications that another player/mob is entering the zone, and then it would build that model as well. For players zoning into the zone, it's easy because you have time while that player zones and builds all the models on it's end to build that model. For mob's, the client should be fast enough to do the build before the mob is in the zone without trouble. I don't think that lag would affect this in a way that would make it prohibitive.

That's the idea, at any rate ;)