Game Development Community

dev|Pro Game Development Curriculum

MMORPG Contest - Week 3

by Tony Richards · 11/21/2006 (9:44 pm) · 8 comments

Wow, it's nearing the end of week 3 of the MMORPG Contest... 71 days left? Well, that's what the site says, but I think it's closer to 69 days left... but who's counting anyway? hehe I am, that's for sure :P

Lets see, where to start?

Buildings
First, the first building is almost finished... a few more finishing touches, a bit of texture cleanup and it's done. I wish I would've been able to work on it more this past weekend, but unexpected events came up and it just didn't happen.

Since I'm using TGE 1.5, I'm not using any lights inside the map editor and only using the game engine lights. I'm not sure if this is going to hurt render time, but if it does then it's a simple task to go back and add some lights in Quark and remove some from the Torque map editor.

The style is basically set... kinda a rustic look with mostly stone and rough-hewn lumber. Only about 4 hours total went into it, and that should be cut down to about 1-2 hours per building now that the basics are done.... well, for the first building set. If we have time, I'd like to have another building set that's more like a castle built from either stone or large blocks.... but we'll see.

www.fractureduniverse.com/screenshots/Building1/images/screenshot_001-00003.jpg
For more pictures, click here.

Music
Jervin, our sound guy, is doing awesome... four background music tracks are finished. One is so-so, two are good, one is great... not bad... I'm looking forward to more of his work. In the next few weeks I hope to have some time to create a demo video and include some of his work... if not, then I guess you'll hear it when we publish our first downloadable / playable demo in the next couple of months.

Character Models
Well, I thought the art pipeline was almost finished, but I've been working on cleaning up the character art creation process. My first attempt took about 4 hours for a single non-animated model... now, in about 5-10 minutes, I can create a nude (ok, so clothing is the next step, but I have a good idea on that... more later), animated and fully textured model. The time variance is mostly playing around in MakeHuman, which is actually the fun / creative part anyway. I just wish MakeHuman had a zoom button so I can see the face closeup when I'm using the morphs.

I now have nearly 100 different animations, mostly gender neutral, but I have 6 walk / run variants for male, female and brute. The rest of the animations are deaths, melee combat and spell casting. Since all characters use the same bone structure then each of these animations are exported as individual dsq's and can be used by all humanoid characters.

At the moment, I'm not planning on having any horses or non-humanoid characters... not enough time.

For now my polygon budget is 5000 triangles for player characters at the highest detail level... I'll adjust this as necessary.

So, what does a 5000 triangle model that only takes 5 minutes to create look like? Sorry for the partial nudity...

www.fractureduniverse.com/screenshots/sample1.jpg
As you can see, it still needs a bit of cleanup... still a work in progress. But, it's the technique / process that I'm working on perfecting. The plan is once it's perfected, I can teach pretty much any Blender monkey how to do it and I can get 100+ or more character / NPC models in game with a minimum of effort... the toughest part is going to be the non-skin texturing. The biggest limitation is the models need to be mostly humanoid (although there are Naga / snake and mermaid type MH targets, so mostly is the key word here).

Skin texturing is easily done using a SSS script. Clothing will be a little more difficult, but only marginally.

So... my plan for clothes is this. Create the clothes using the MH mesh, then use the MakeTarget script and export the clothes as a new MakeHuman target. This will make it so we can create a certain type of clothing and it can be applied for any model, no matter the size or porportions, male or female or brute.

For texturing, any skin that's showing will use one texture, then any additional clothing will use a secondary texture... the secondary texture can be selected for slightly different looks / colors in the character editor... this will take a bit of code, but it shouldn't be too difficult to accomplish.

AI / NPC
I finished more data model changes in the NPC / AI / Quest subject area and updated the online php editor to match the updated design.

I've got rudimentary A* path finding implemented using the boost::graph library. I added a GM mode to the game and the path finding nodes can be edited from a client and stored in the database. Once they're in the database, you can use the PHP MMO Editor to create node groups. The node groups have properties / attributes to allow them to be selectively used by certain NPC's. This allows a NPC to walk around / patrol an area. Non-grouped nodes are assumed to be general-purpose path-finding nodes which are used for object avoidance and general movement.

The NPC conversation tables hold the conversations and other state transition information for doing things like assigning quests, story telling, hading out quest rewards, etc. These conversations are edited using the PHP MMO Editor, then when in GM mode, the GM tells the NPC AI to refresh the conversation tables (either globally or for a single NPC).

The plan is to have more GM functions to allow GM's to fix / modify things on the fly... we won't normally use this in a production environment, but it makes game development a lot easier when it's used the dev / alpha environments.

Infrastructure
Quite likely, before the end of the contest, I'll purchase two additional servers. I'll use my current on as the primary web-site, download and possibly authentication server. One of the new servers will be the primary game server and the other new server will be a secondary game server and primary AI server. If I finish everything I have planned for the AI, it'll be a bit CPU intensive, but it should be the nicest AI seen in an MMO... more akin to an RTS type AI.

Also, one of the additional servers will act as a backup database. I've got MySQL configured with replication for backup purposes, but if there's enough database access to warrant it, it might be nice to divert some of read-only database calls to a replicated server and free the master server up for writes....

Anyways, nothing is set in stone in the infrastructure area... way too soon to tell what is going to be needed, or even if it'll be needed... if we only get 100 or so players signed up, my existing server will definitely do the trick.

Misc
I didn't like the MMOKit movement, so I fixed a couple of things to make it more to my liking. First, instead of completely removing the guiNameHud or whatever it's called, I added a new parameter to all gui items called "IgnoreMouseClicks". If this is set, then the gui object passes mouse events to it's parent... this allows me to use the WoW style movement and not have to worry about the user clicking on a hud object and not getting the appropriate response.

Also, another (possibly a bug) feature that I fixed was this... sometimes the mouse drag event is fired without the mouse click event firing first. The end effect is that if the user is moving the mouse before clicking, the WoW style control wouldn't work... there's still some slightly flaky behavior that needs solving, though... maybe someone has some pointers.

Well, I guess that's about it... lots of work done, but lots more still to be finished. Hopefully, with the upcoming long weekend, we'll see a few more buildings finished and possibly a finished character model.

Now, if only Arcane-FX would be finished before the end of the year.... :P

Back to the fun...

About the author

I am the founder of IndieZen.org, a website dedicated to the Indie 2.0 Revolution where a number of Indie game development studios and individuals collaborate and share a suite of custom built open source game development tools and middleware.


#1
11/21/2006 (11:36 pm)
My god you write interresting blog posts :)

I really enjoy reading them, make me wanna do my MMORPG even more :)

Im new to TGE and the mmokit, so it's nice to see what can be done with it, very inspiring! (which i can't spell :P)

Keep up the posting, il be here everytime reading it :)
#2
11/22/2006 (7:18 am)
Excellent job Tony!
#3
11/22/2006 (7:37 am)
These are good blogs. Keep at it Tony!

I find one thing curious, your looking at buying 2 more servers for a project in a contest that has a grand prize of only $1000? Seems like your spending much more than the contest will return.
#4
11/22/2006 (7:41 am)
Mads Just read my mind and wrote it for me..
very interesting and inspiring, think you have your first fan :P
#5
11/22/2006 (9:58 am)
Great work !!!

Good Luck!!!
#6
11/22/2006 (8:32 pm)
the '+' and '-' sign are the zoom in and out in makehuman. it's described in the tutorial on the wiki page.
#7
11/23/2006 (7:39 am)
@Anthony - Ah, thanks! I didn't even know they had a wiki... was looking for docs too. I'm not at home, so I'm posting a "bookmark" here.

MakeHuman Wiki
#8
11/30/2006 (2:25 am)
@Tony - Awesome progress! Just curious, how did you rig the MakeHuman model to your 100's of animations? I'm assuming you created these animations separately and by hand?