Archived

This topic is now archived and is closed to further replies.

EDI

A Multi-Clothing Character Woe =D

Recommended Posts

Hey all, I''ve got a little problem, like most things i''ve seen it coming down the pike, but other things were more important at that time (arn''t they always?), so I thought a few of you could give me a little oppinionated guidance=D The Problem: Using 2D Characters (sprites) with many possible articles of clothing/weaopons/etc. My Possible Solution: Using separated clothing/character sprites, and overlay them on the fly *either cached onto one large image, or drawn overlayed each frame* The problem with that solution: Our game deals with many creature types, even on the most scaled down level we at least have to have a human man and a human woman, since the body types differ a single set of weapon/clothing overlays wont fit right on them, so i can forsee this being a huge graphical undertaking. so i basicly want to know if i should scale back even more to simply allow the main character to only have custom clothing types, or if there is some method i am missing. thanks all=D Raymond Jacobs, www.EDIGames.com www.EtherealDarkness.com

Share this post


Link to post
Share on other sites
Overlaying sprites is the only method I know of for giving a character custom weapons/clothing. I would cache the sprites whenever a main character changes in this way; they''ll probably be wearing/using those items for a while.

Of course, you could use colormapping to change a character''s dress, shirt, hair, etc. While it wouldn''t be the same as giving them a truly new outfit, it might help vary the game without needing extra graphics.

Share this post


Link to post
Share on other sites
gotcha,

i did some calculations on how many graphic ''sheets'' ill need, and the numbers dont seem very promising


for character body alone
{
idle
idle with one handed weapon
idle with two handed weapon
idle with shield
idle with one handed weapon and shield


walk
walk with one handed weapon
walk with two handed weapon
walk with shield
walk with one handed weapon and shield

hack with one handed weapon
hack with one handed weapon and shield
hack with two handed weapon

block with shield
block with one handed weapon and shield

gethit with one handed weapon
gethit with two handed weapon
gethit with one handed weapon and shield
gethit with shield

}


we are planning to have 30 characters in the game, so with 19 sheets per character that is 570 sheets of animation for the characters body alone, not counting the armor, boots, gloves,weapons and helmets that are in the game and would need diferent renderings for each character

so doing it this way isnt practicle.

I think im simply going to have the main character be able to use any type of weapon and such, and have a ''single look'' for other characters.

god i hate constraints =/

the answer to this is 3D i feel lol

Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com

Share this post


Link to post
Share on other sites
quote:
Original post by EDI

god i hate constraints =/




Heh heh. I hear you.

Isometric can complicate things slightly in another fashion, since sometimes the order in which you draw the various components has to change depending on what direction the character is facing, and depending on how you create the graphics. For instance, if the character is holding a shield in front of their body. Facing "up" (north), the shield must be drawn first so the body is drawn correctly overlapping it, whereas facing "down", it must be drawn after drawing the body. You might be able to get away with only using those parts of the shield that are visible during a given frame as the sprite for that frame, but then you have to worry about different body-styles or armor which obscures different parts of the shield image when facing "up".

It all gets out of hand quickly. You were right in guessing that doing this in 3D is simpler. It''s just a question of whether or not you want all the other trade-offs that come with 3D.


Golem
Blender--The Gimp--Python--Lua--SDL
Nethack--Crawl--ADOM--Angband--Dungeondweller

Share this post


Link to post
Share on other sites
Do your characters really need unique body sheets? If you use a generic body for each gender, you''ll simplify things quite a lot in the clothing department. I know you said you have different creature types, but surely not every one of your 30 characters is of a different species / gender / body type. I''d try to figure out what bodies could be shared. It may be more than you think -- for example, multiple anthroporphic species could be simplified into a single digitigrade body type, with different heads and tails.

Also, I''m not sure that you need separate animation cycles for all the permutations of weapon/no-weapon and shield/no-shield. Why not just seperate hands and/or hands-holding-stuff onto their own sheets? As VertexNormal points out, you''ll need to figure out the draw order, but it shouldn''t be too difficult. And even if you need to make seperate overlays because the characters'' body types / animation cycles differ, the graphics themselves should be the same -- it''s just a matter of choosing the right frame of the object, and positioning it correctly on the new sheet.

It''s still a huge graphical undertaking, as you said... but not impossible.


"Sweet, peaceful eyelash spiders! Live in love by the ocean of my eyes!" - Jennifer Diane Reitz

Share this post


Link to post
Share on other sites
I have one idea. In the long run it would save time, but it would require alot of initial development time, so it is may not be practical, but here goes:

Model the characters and weapons in 3D. You can use a custom morphing and/or texture mapping algorithms to handle changes between body types and genders. This way you create single instances of everything and let the computer handle how things go together. Then just render the 3D model to a buffer which can then be placed in your isometric rendering.

edit:fixed typos


[edited by - CrazyMike on March 18, 2004 4:46:40 PM]

Share this post


Link to post
Share on other sites
Logodae:

all the characters in the game are of signifigantly different body types, so we really cant reuse things, due to height/size.

yes, I had a plan to break bodies into, head, torso, larm,rarm,lleg,rleg to cut down on the ''linked neccesity'' of certain animations, but i wanted to be sure there wasnt an easier way first.

CrazyMike:

I assume you mean store people and weapons as 3D Models then pre-render them at runtime apropriately? If so ive thought of that, but the overhead of building a good enough renderer and skeletal animator doesnt seem worth it. good thought tho=D

Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com

Share this post


Link to post
Share on other sites
quote:
Original post by EDI
all the characters in the game are of signifigantly different body types, so we really cant reuse things, due to height/size.

Frankly, you might want to reconsider that. Even if you eliminate clothes / weapons sets for non-hero characters, 30 walk cycles alone is an obscene amount of animation.


quote:
I assume you mean store people and weapons as 3D Models then pre-render them at runtime apropriately? If so ive thought of that, but the overhead of building a good enough renderer and skeletal animator doesnt seem worth it.

You might consider actual pre-rendered 3D graphics, though. It won't cut down on the quantity of art you'll need, but it may simplify the process of creating it.


"Sweet, peaceful eyelash spiders! Live in love by the ocean of my eyes!" - Jennifer Diane Reitz



[edited by - Logodae on March 18, 2004 5:25:39 PM]

Share this post


Link to post
Share on other sites
as for cutting down 30 different characters into seemingly cookie cut people really isnt an option, given that we are only going to have 30 different types of people means they each need to be as diverse as possible.

right now we use Metacreations Poser 4, so making the animation isnt ''really'' hard,but obviously doing 500 sheets of animation is too much. and the thought of distribution size is an issue, as well as image caching.

I really think i have resigned to only having the main character able to use anything. and everyone else is set as they are.

this is of course a drawback, but it seems my only option, short of living on the street for 4 months and hiring a full time artist on my 30k salary (hah, i think that would support an artist) to make every piece of imagery.

yeah, the solution really needs to be one of code, some smart preproccessing solution, I really like the idea of doing an ''on the fly 3D render, but again time constraints vote against it''

any more ideas?


Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com

Share this post


Link to post
Share on other sites
quote:
Original post by EDI
Logodae:

all the characters in the game are of signifigantly different body types, so we really cant reuse things, due to height/size.

yes, I had a plan to break bodies into, head, torso, larm,rarm,lleg,rleg to cut down on the ''linked neccesity'' of certain animations, but i wanted to be sure there wasnt an easier way first.

CrazyMike:

I assume you mean store people and weapons as 3D Models then pre-render them at runtime apropriately? If so ive thought of that, but the overhead of building a good enough renderer and skeletal animator doesnt seem worth it. good thought tho=D

Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com




How about this idea: For each character type, define how each piece of clothing equipment is transformed and rendered. For some creatures, you might scale the sprite, rotate them and put them in a position (relative to the character), and that way you can program your way out of extra art.

Share this post


Link to post
Share on other sites
Might not work in all cases but for every clothes/character combination store a h/v scale and offset values for overlay drawing. In cases where it doesn't look good do custom overlays.

edit - how can i put this best... "DOHH"

[edited by - infinisearch on March 20, 2004 9:00:58 PM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
y dun u use 3d? 3d will really simplify things. wif isometric/overlays u will use up lots of VRAM 4 storing gfx.

Share this post


Link to post
Share on other sites
AP:

the reason why i dont use 3D is primarily because i spent 2 years making a 2D Isometric engine, so i would rather get a game out now and have somthing to show for my effort than to drop what im doing and spend another year making a 3D engine=D

sounds logical dont you think? lol

Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com

Share this post


Link to post
Share on other sites