Gone most of January

Yeah, I never use this blog.  Well, I am using it now to let anyone interested know that I will be on vacation from Jan 3 to Jan 25th.  I will be visiting friends for a wedding celebration in India!  I finally got my visa (so I didn’t waste $1200 on that plane ticket) and so everything is set to go.  See you at the end of January!

December 17th, 2007 at 1:23 pm | Comments & Trackbacks (0) | Permalink


Testing 1 2 3

Testing

December 17th, 2007 at 1:19 pm | Comments & Trackbacks (0) | Permalink


Avatars v4.1

Ok so I have been working with Shamus trying to develop a new avatar system for use in AW. My job consists mainly of two things, as I see it.

1) Make cool new avatars in the skin and bone style that look great and animate nicely while being very efficient as far as textures and poly’s are concerned.

2) Export said avatars into some intermediate format that contains all the necessary data, including: mesh data, texture data, skeleton data, and vertex weighting data. The format should be as easy to read as possible.

As Shamus has mentioned we have narrowed down to two candidates, .x and Collada, as we are trying to avoid binary formats if possible. So far I can only export ALL the necessary data in the .x format from Blender, the program that I currently model in. The Collada exporter for Blender does not export vertex weight info , so that is on the sidelines for now, leaving us with the .x format only. The X format has been around for a while (since DirectX 2.0 I think) so it appears to be well documented and used. Truespace has a .x exporter as well, which may be nice if people stick with that prog as well, though I do not know how well it exports bone info, since I no longer use it primarily. In any case we are trying to get data in a usable format, so currently we are going with X.

SO. As far as the avatars themselves are concerned, since it is an entirely new style of avatar/animation I have not tried to conform to any standard of the old avatar system, but have set some preliminary standards for myself to guide the process.

MESH

The mesh should be VERY low poly. These will perhaps be the base avatars for much of the universe and should be as efficient as possible. Animated geometry takes more resources to render than static geometry, so every poly counts for extra when it is on an avatar. I would like to be able to render close to 50 avatars in a scene while maintaining acceptable frame rates. I have created a single mesh Male and Female which look life-like for just over 1000 triangles. These each have movable eyes, opening mouths, individual fingers, and the female has long hair. These models are “bottom layer” or “skin tight” bathing suit models with other clothing shapes to follow. The triangle count is important, as one polygon could be made of 2 or more triangles, so triangles are the only “true” way to measure the avatars complexity.

BONES

The avatars should support full body animation, including facial animation, for emotional expression. Bending must be as natural as possible at complex joints like the shoulders and elbows while performing a wide range of motions including extreme motions like stretching and crouching. Facial animations should include the following: moving eyes, blinking eyelids, movable eyebrows and expressible mouth including smiling and opening.

So far my base models are performing well under these animation conditions though the exact amount of bones to use is still up in the air, especially in the face. I will try and get some screen shots if I get permission to.

EDIT: It appears that TS only exports directx in its binary form…bummer.

February 20th, 2007 at 3:49 pm | Comments & Trackbacks (2) | Permalink


Negative…he only impacted on the surface.

Yeah thats how I feel right now.

Ok, so I havent written in a while.  Work has been kindof a drag but we are pretty well done with our project except for tweaking.  On a positive note, I have been making many particle effects recently for one of our games, which I enjoy tremendously.  Of course, enjoyment is tempered by everything being required yesterday, which kinda takes the fun out.  In the end I was happy with the results of the majority of them.  Some of the effects are ganked from old stuff so don’t think it’s mine if a few aren’t up to snuff :P  The particles have to be my favorite addition to the browser, there is so much flexibility in them.

Anywho, we are turning our minds to some of our back burner projects.  And it is nice to have some breathing room to plan out some concepts.  I really miss planning.  This seat of your pants stuff gets a bit old after a while.  I really miss the days when Shamus and I could plan out stuff on the ol’ whiteboard.  i think I need to draw thing out in order to wrap my brain around them.  It helps to bounce I ideas off of people too, which we get to do a bit now.  I think it is time to consider a real vacation before the next wave sweeps us out to sea.

OK enough pouting like a girly-maan.  I really am looking forward to pushing our other projects and glad to hear input all around.  Shamus wrote some good starter material, and we had a couple unnofficial meetings with Rick to toss around ideas, and it seems like we are condensing some good ideas.  Here’s to the next stage!

January 17th, 2007 at 6:12 pm | Comments & Trackbacks (3) | Permalink


Name Change

As you may have noticed, I changed the name of the wishlist page to ‘Feature Watch’. I never really liked wishlist, but could not think of anything better at the time. Wishlist just seems to imply pining for something that you wish you could have but just can’t, and wasn’t quite the tone I wanted. And I thought it was a bit of a mess. So I am fixing it.

I know we talk a lot about the features we want to have, and yes, we do wish for them in a sense, but I really want a place to compile my own thoughts on what would be a good feature from the content developers standpoint, so that the benefits and cost can be weighed.

Thus the new title.

Same purpose, different name; hopefully more clearly stated.

January 2nd, 2007 at 6:19 pm | Comments & Trackbacks (2) | Permalink


Feature Watch - Specular shading and/or environment maps

OK, Shamus explained a bit more to me about how these particular features function. I should explain that I only have a rough idea how many 3D functions work, having no programming knowledge. However, I do try my best to follow along with modern 3D capabilities, and have I think, a good idea of the end result that can be achieved using said features. Again, my goal is not to inform and teach, so much as prompt discuss of what may be viable for AW, and what could be useful from an artist viewpoint.

The Feature:

Disclaimer aside, this feature basically allows materials to appear more or less “shiny” ; say, polished metal, glass, polished stone, ice, water…you get the idea.

The Details:

An object so lit seems shiny because it has highlights which are anisotropic, or directional dependent, as opposed to standard lighting which is isotropic, or directionally independent. Without the fancy-pants words, this means that anisotropic lighting changes as the angle to your eye changes; for instance, when you walk around a shiny car and the highlights move and shift as you do. With current lighting the shading is static no matter where you move, which is just fine for “flat”, or matte objects like rough wood, dirt, grass, and many other things besides.

Implementation:

This potential feature would not, of course, be a replacement of our current lighting, as if with something newer and better. Instead this sort of feature is like an extra tool in the modeling toolbox, giving more variety to how surfaces can look. I like the idea of changes like this that automatically make things look a bit different or more real. Nice textures are difficult and time consuming to make and when the engine can lend a hand with a bit of wow, it really helps; having more options for the artist to make compelling environment easily (read: quickly). Currently any variation is done all in textures, and as such any “shiny” object always looks a bit fake.

Also, you wouldn’t want to start throwing this on every object because it looks cool. It would need to be used subtly and sparingly to give greater environmental depth. This doesn’t reduce its value however, combined with the shading fix could give a wide-ranging facelift, without anything really even standing out as being different.

The Breakdown:

Adds a new material option; giving more or less shininess to an object, adding realism and depth to the environment, along with a small bit of wow for consumers (corporate or otherwise).

January 2nd, 2007 at 3:08 pm | Comments & Trackbacks (2) | Permalink


Oops

Ok, I opened up commenting in my options (didnt realize that it was off). So you can now comment freely… I hope. Feel free to comment retroactively! I have been waiting to see what everyone thinks of some of these topics, and was a little disapointed that no one answered. Turns out it was my fault.

…Oops

December 28th, 2006 at 10:17 am | Comments & Trackbacks (2) | Permalink


Blogtastic

I am really starting to enjoy writing for this blog. Not that I am a narcissist. In fact, I am sure nothing that I write would be of interest to outsiders, and dont really want unneeded attention.

What I do enjoy is just the process, semi-regularly, of reflecting on the events of the week and and simply writing some bits down. The process is fairly therapeutic. It sort of ties up the loose ends of my consciousness. If I ever go on vacation somewhere interesting it might be nice to give a journal a try…

December 27th, 2006 at 7:17 pm | Comments & Trackbacks (0) | Permalink


Feature Watch - Smooth shading across UV boundries

First entry to the Feature Watch page.   Feel free to comment on the viability of these potential features.

The Feature:

This fix/change/whatever is fairly self-explanatory, lets call it Smooth Seam for short. Currently any UV border creates a “seam” which breaks the smooth shading across an object. This occurs when two different textures meet, or even when an object has one texture but different UV mappings of that texture, i.e. a vertex gets two different UV coordinates. As far as my knowledge goes (not very far), this means that renderer actually has to actually make two vertices,one for each UV coord, thus breaking the smooth shading.

I believe Shamus has already solved this with the skin avatar browser, and It seems that there would not be too much involved to implement fully.

The Details:

What would I like to see in this feature? Well I guess I would just like a small RWX extension command for the entire model like:

#! SmoothSeam on

I say the entire model because I cant think of a need for a per clump use of this feature. As a matter of fact, I would like this to be a universal browser feature, excluding facet shaded surfaces of course, then it would make many old objects look better to, without having to change them. Any desired breaks in the smooth shading could be achieved easily by breaking apart the mesh.
Unfortunately, no one else seems to be passionate about this issue. It would provide a great improvement graphically, without much effort, and really add a polish that we simply cannot achieve without this feature. I actually consider this more of a bug fix than a feature. Many of the new games that I see are built in a world that is wholly smooth shaded. It makes everything blend beautifully together without the jarring edges which breaks the illusion.

The Breakdown:

Difficulty: I am gonna say “easy” until someone more learned says otherwise. And hey, some of it is already done!

Benefit: Wide. It would make nearly every object we make look better to one degree or another.

December 26th, 2006 at 12:36 am | Comments & Trackbacks (2) | Permalink


The Return of the WoW

Today was a great day. I did some neccesary things in the morning, took a nap in the afternoon, fired up my World of Warcraft character that I havent used since I came back to AW in June, and went to a friends house in the evening for Karayoke. And now I am posting a little blog to round things out. No stress, no thinking about work, just relaxing, without vegging.

Warcraft was fun to get back into, but I had to obercome some hurdles to do so. Like I said, I havent played since June. We were working pretty hard for so long that there was no time and once I got out of the habit, It was hard to get back in the swing. Blizzard also came out with a new supliment in the meantime and as such there were major changes to all of the characters in the latest patch.

Because of the changes, all characters had their talent points refunded. What does that mean? Well, talent points are used to buy special abilities for your character. These talents often have prerequisites of other talents, thus forming “trees” of talents to choose from, which serve to specialize your character. Actually, each class has availible three “trees” from which he/she may draw talents, drawing from any or all trees as desired. For example, the three trees for the mage class are Arcane, Fire, and Frost. The catch is that precious few points are alloted to a character based on his/her level. Even at the highest level (75 with the latest patch, used to be 60), a character will only have enough point to fill prehaps one and a third trees.

So talent points are pretty rare, and thus they must be spent wisely. Also, you cannot change your talents after you choose them without spending lots of gold to do so, and it costs more each time you do it. This prevents people from dramatically altering their character willy nilly, while allowing you to change talents if you really messed up, or dont like what you chose. I like the system. It works.

Now, the first time I bought all of my talents I had to think very carefully about it. I am not inclined to choose things like this hastily. I have been known to spend hours choosing my characters name and apearance. Add to this mix the wide array of talents and the inticate way in which the talents effect each other and you can see how this would prove to be a mental block for me returning to the game, since i had to do it all over again, and with new talents, while feeling satisfied that my character is rather well optimized.

Now the math that is involved in the intricate relationships between talents is astounding and completely beyond my humble abilities. Thankfully, we have the good ‘ol internet so I cand find a guy (or gal) that happens to be way more obsessed than me and also a math wiz, with charts and tables and templates for characters that will be good for this or that style of play. After all, despite my nature and the facinating nature of the math, I just wanna play the game. And since talents have a major impact on the power of your character, I cant just leave them to be picked later without crippling myself.

So, in the end I leapt the hurdle, bit the bullet, looked up the info, bought the talents, hopped on my horse, proceded to one of my old haunts, and got killed by a monster 4 levels below me, since I was so rusty.

…and I still love this game.

EDIT:  Heh, it turns out that I got wasted by that low level mob because when my talents were refunded, the skills that were acquired via those talents were reduced to their starting levels and had to be repurchased.  Oops…

December 24th, 2006 at 12:15 am | Comments & Trackbacks (0) | Permalink


New page - Artist Wishlist

The page explains it well. Stuff I think might be best for us to implement, from the artists point of view.

I thought this would be better than the forums for developer discusion.

December 23rd, 2006 at 2:04 am | Comments & Trackbacks (0) | Permalink


Presets, Particles, and object Rotation.

Trying to put a quick post in while I can, my hands are a bit blistered from pulling on this oar, but the end of the current phase of the project is in sight. Just a matter of touching up at this point and waiting for the storm. The storm at this point is the potential glut of users we may get at Christmas. Oh and the mind numbing task of creating new houses for said glut.

The new preset feature really helps in this area (thanks Chris!), but it is still a very manual procedure, considering that once a lot is buil it is really just another mass of objects in the world and there is no good way to go back if there is a mistake. This has happened a few times and is perfectly natural since it is such a complex set of objects and there are bound to be things overlooked, despite having been careful.

The problem is the sheer number of presets needed. There are five characters, with two houses each, and each of these with a preset for each of the four cardinal directions (n.s.e.w). That makes forty lots that need to be changed every time there is a wide change needed. The forty presets then need to be saved to be used, not mentioning the fact that any homes already built in world would need to be changed manually.

Saving 40 presets doesn’t seem so bad but it is very difficult to find a position where one can select the 100+ objects on the lot without missing (which deselects everything), and without skipping objects. Especially since as we know, you cannot move while selecting in AW and the objects block each other. My solution was to make a tall “selector” object, one in each cell, which I can then click and select each cell, of course I then have to deselect the selectors, heh, but it is still much less frustrating than the hit or miss of grabbing the actual objects, and more sure. Anywho, if we can rotate a preset to match the position of the target object in the future, it would cut down the presets to 25%. from 40 to 10, which would be a big help.

Actually, this inability to match object rotation as opposed to absolute world rotation is also a problem for our particle system. I wonder if the problem could be solved at once, and if they are related. Any thoughts Shamus?

December 22nd, 2006 at 4:13 pm | Comments & Trackbacks (1) | Permalink


First Post…ever

Well this is the first time that I have ever used a blog. Alright, now that you are all done laughing. I guess that the purpose is to talk a bit about my work and keep people updated, I am not sure who would be interested, but maybe people can get some modeling info here in addition to the AW Forums. Currently I need to get back to work so I will have to wait till this evening to repost. I will try to get a short intro page up and post a sort of work status…Until then!

December 20th, 2006 at 12:10 pm | Comments & Trackbacks (0) | Permalink