|
Post by Tean on Apr 22, 2008 17:14:14 GMT -5
This is gonna be a uber-long post directed mainly at Callisto, but others are welcome to jump in if you know what you're talking about.
GUITAR HERO MODEL & ANIMATION INFO
It comes to no surprise to most of us, but everything in the Guitar Hero series uses event-based animation. So basically the characters, stages, etc are "dumb". They just follow what the .mid tells them to do.
Character animations follow a parent/child format. At the root is the body. The body animations control walking, hair (in Harmonix games), eyes, mouth, etc. The body has two 'children', the left and the right arm. The right arm controls strumming, and seems to follow events in the mid file. The left arm controls where the hand would be on the neck (again according the .mid). The left arm has one child, the fingers, which move as the .mid file tells it to.
Stage-based animations are also controlled by events, with the semi-exception of the "rock" animations, which are based on three stages: failing, doing okay, and rocking (red, yellow & green). Other than that it's pretty straight forward. Lights, crowd, etc. All controlled by the .mid.
SUGGESTED FILE FORMAT FOR GZ2
I'm probably gonna get flak for this, but I would strongly recommend the MD3 format (Quake 3). I've been modding games for 10+ years, and this does all you need it to do. Some guys'll say "Use MD5" or something like that. It's pointless to do so. Putting next-gen capabilities in a community-based game is overkill, especially considering that communities can rarely create content of that level.
So, a quick rundown of MD3's capabilities and pros:
**Open Source - The entire source for loading, animating, etc is available through Quake III's source files *****Well Documented - Probably one of the best documented on the net **Level of Details are built in **Supports parent/child based animation *****Animations can be named to follow .mid events **Lots of pre-built models - Plug n' Play Quake 3 models **A large community of pros. Makes it easy to create and animate any model **Lots of free tools. No need to buy 3DSMax to create content **Quake III's shader system could also be ported, allowing for bumpmaps, specular maps, etc. **Would work for characters, guitars and stages **Animations are keyframe-based, meaning any idiot can build them
Now if you'll indulge me a hypothetical:
I talked about default_anims.md3 before. That that would contain is every necessary animation for a character. So if you just wanted to add a character with no new animations you could do it by basically dragging and dropping.
But say you want to do Venom from Marvel Comics. Most of the default anims are fine, but you want his tongue to come out when you activate star power. Simple. You only need to add one animation and call it star_power (for example). Venom would use the default animations, except for star_power, where it would overwrite the default.
Anyways, it's really just a suggestion, but it seems to stand to reason. It's really easy to do the stages, guitars and venues with one system.
|
|
|
Post by moonflow43 on Apr 22, 2008 17:41:55 GMT -5
a very well thought out and organized post. i really do hope to see stuff like this in later releases of gz2. lets just hope Callisto sees this and can give some input
|
|
|
Post by iancer on Apr 22, 2008 18:19:07 GMT -5
so would we have .bsp stages? could we use q3 stages...that would rock! i so second this idea its the perfect solution to stage support... LETS DO IT! LETS BEGIN IMPLEMENTATION!
|
|
|
Post by flipsk8r1409 on Apr 22, 2008 18:19:12 GMT -5
yes that is a good idea but we would need some type of limb/bone diargram for the meshes and animations so each animation would fit each character
|
|
|
Post by Tean on Apr 22, 2008 19:39:47 GMT -5
so would we have .bsp stages? could we use q3 stages...that would rock! i so second this idea its the perfect solution to stage support... LETS DO IT! LETS BEGIN IMPLEMENTATION! No, stages would still need to be handled by MD3. HOWEVER, having said that if you wanted a Quake 3 map you could simply use the program 3D Ripper DX to capture the 3D data of that map, then use Milkshape to create an MD3. The whole reasoning behind using MD3 for the stage too is that it's got the built-in animation support. So that means if we have stage MD3s it's easy to built them with animations like in Guitar Hero. **Slightly Off-topic -- 3D Ripper DX can also be used to rip the stages from Guitar Hero III PC when the time comes, but of course you'd need to own the game.
|
|
|
Post by hzac on Apr 22, 2008 19:41:02 GMT -5
I want to play gz2 with de_dust2 background stage
|
|
|
Post by Tean on Apr 22, 2008 19:44:51 GMT -5
Yeah, 3D Ripper DX just needs a DirectX 9 capable program. While Quake 3 isn't DirectX 9, you CAN get around things to get the map into a DX9, Quake 3-based game.
|
|
|
Post by JD2504 on Apr 22, 2008 21:45:22 GMT -5
NICE! ive been waiting for something like this, using an image as bg is geting boring and running a video as bg is imposible now (callisto pleeeeaaaseeee fix this)
i hope this can become true
|
|
|
Post by fatdog on Apr 23, 2008 0:06:23 GMT -5
i'd prefure to stick to the current fbx/xnb system personally
but im a big fan of flexibility so, if this system was implemented i would hope it would be added as an aditional format rather than the main primary format (unless i am seriously miss informed about the limitations of this format)
on a semi related note, is there a way to convert / import the q3 meshes into max
|
|
|
Post by Tean on Apr 23, 2008 5:40:33 GMT -5
Yes, MD3 can be converted into basically any modeling program, and built from almost any program, including the free ones.
|
|
|
Post by CJB100 on Apr 23, 2008 7:20:47 GMT -5
dude if we could do this, it would make GZ the most definately best GH clone anywhere...
And it would be cool to see the characters moving to custom tunes, and possibly have new characters if anyone wants to build them when the time comes.
|
|
|
Post by hulkhaugen on Apr 23, 2008 7:49:10 GMT -5
this sounds good peoples! just had a thought, probably just wasted but still; costum songs doesn't have animations, cuz it's a lot of work to include it. is it then possible to base the animations of the guitar.ogg for those song who hasn't any animations in the .mid? something like a function compared with how disco lights works depending on the music.. probably not even worth a shoot, but now i've already wrote it down, so i might aswell click the post button
|
|
|
Post by Tean on Apr 23, 2008 7:56:26 GMT -5
Sure, it's very possible. I'm not the coder, but would be willing to pseudo-code anything out for Callisto to help him along with that. Basically for customs without animation support (lots of Guitar Hero II customs have it, so it would be best to use those first) the character would strum every time a note/chord was found in the expert part of the chart. Stage background animations would just run like normal depending on how good you're doing, and the lights could have a backup-mode. That is that they would just change every 20 seconds or so. The only issue you'd run into is the guitarist's left hand. It's not gonna move up and down on the neck well since you're only looking at five notes total in a chart. Star power is handled by the player, so that's easily covered as well.
So in a nutshell, stage animations, lights, star power and strumming could automatically be handled via a 'backup' mode if they're not found in the .mid or .chart. The left hand (neck) animations could not.
|
|
akatabrask
Guitar Hero
"I'm not crazy, poor people are crazy, I'm excentric"
Posts: 149
|
Post by akatabrask on Apr 23, 2008 8:29:46 GMT -5
isn't the strumming controlled by the users strumming? I think the caracters in the GH games wont strum unless the player does.
And couldn't the left hand differ from the note/chord typecombo (i.e. green note far down the neck and a blue-orange chord high up and so)?
And third, instead of basing every backup animation controlled by spikes in the song, wouldn't it be easier to set a character or deafult animation to be controlled by the tempo and time signature so that the model for example jumps on every 1/4 note (or 1/2 note if its a really speeded song). As I recall animations in q3/md3 can have different framerates, so it's basically just about having to make a little formula that calculates a new framerate based on the tempo so that the character jumps in tempo.
new tempo original tempo = x
original framerate * x = new framerate
edit: couldn't this be made to the star power claping sound to? I really hate when it claps unsyncronized
|
|
|
Post by mew905 on Apr 23, 2008 8:56:02 GMT -5
Guys, this is XNA, MD3 isn't supported (yet). AFAIK it only supports fbx and .x files, it wont read anything else (otherwise I'd easily be able to get models for my game). However animations can possibly be done based on the notes as GZ reads them, rather than having to define animations. Guitar Hero 3 does it in this way, if you've seen the custom song videos of it. Basically if a green fret is coming up, the guitarist model should move near the end of the neck, and orange should be about midway. Unfortunately unless callisto knows how to read audio pitches from the guitar.ogg + whammy, this is the best we've got.
So I really hate to be the bearer of bad news, but md3 is not possible in GZ2
|
|
|
Post by Tean on Apr 23, 2008 9:40:44 GMT -5
isn't the strumming controlled by the users strumming? I think the caracters in the GH games wont strum unless the player does. I've never watched it that closely (too busy playing ), but you're probably right on that And couldn't the left hand differ from the note/chord typecombo (i.e. green note far down the neck and a blue-orange chord high up and so)? No, because an orange note doesn't always mean the character should play high up on the neck, and a green doesn't always mean low. But, the game could dynamically move the character's arm so often if nothing is found in the .mid file. It wouldn't follow the song like it would if the events were in the .mid file, BUT it would make it look more like he/she is playing. And third, instead of basing every backup animation controlled by spikes in the song, wouldn't it be easier to set a character or deafult animation to be controlled by the tempo and time signature so that the model for example jumps on every 1/4 note (or 1/2 note if its a really speeded song). As I recall animations in q3/md3 can have different framerates, so it's basically just about having to make a little formula that calculates a new framerate based on the tempo so that the character jumps in tempo. Character animation should all be controlled via the .mid file, which is exactly what Guitar Hero does. There are events inside that tell the character to move at 1/2 tempo, when to "wail", when to have the band jump in unison, etc. So basically, yes. In fact that's the smartest thing to do. Everything we need as far as events (or triggers if you want to call them that) is in the Guitar Hero .mid file for each song. Anything customs don't have in that respect can revert to 'backup' events. For people who'd like to know what the .mid can and can't do in relation to animations and what not, take a look at THIS TOPIC from the scorehero forums. Nearly everything in there is controlled my midi events, making things mega easy to do once you actually have the models built and animations to go with them. Note that lighting, the crowd, and other band members are controlled by this too. One example: [solo_on] - Type : Text Event. Causes the character to begin it's solo animation.
[solo_off] - Type : Text Event. Returns to [play] That's what you'd find in the .mid file. So in our character MD3 we'd have an animation called solo. So every time the .mid comes to [solo_on], the solo animation in the MD3 file would play. [solo_off] would turn it back off Now when it comes to lighting and whatnot, all you'd need to do for customs is add section events to the .mid file. Verse, Chorus 1, etc. The lights could be coded to automatically change by the part of the song if the lighting isn't specified. ---------------------------------------- I realize we're getting a little off track talking about midi events now instead of the models, but I think it's important. Basically, in conclusion between the .mid file and using .md3 as our animation and model format we can do everything, and I mean everything that Guitar Hero does. (aside from Boss Battles in GH3, which require actual AI)
|
|
|
Post by fatdog on Apr 23, 2008 11:34:11 GMT -5
im still not really getting the focus on md3 format, all this can be done in fbx which is native to the project, not only can be all be done, but it can be done better, why put extra effort getting an unsupported format working that is not as good as what the project could deal with directly
if u like md3 because u want to take advantage of the exsisting library of models already in the format, if they can be imported into max, they can just be reskinned and exported as fbx anyway
and as quakes models were pre normal map generation they aren't going to look that great
|
|
|
Post by Tean on Apr 23, 2008 11:59:03 GMT -5
Heh, I knew someone would bring up normal maps eventually. True, they aren't generated, but are supported via shaders.
This is not to dog any coder or community game developer anywhere, but have you ever seen a from-scratch community-based game that actually used normal or specular maps and used them well? The best we can hope for from most of the community is bumpmaps. And I'm not saying FBX should be dropped as a format either. I don't want to start a fight here, but we're talking about Guitar Hero, not Crysis. It's smart to keep things simple and have a large, pre-built toolset so the community can quickly and easily create content. FBX works, to be sure. But using MD3 is advantageous due to the fact that it's a well known format. That means just about any modeling program, including free ones can export to it. It also brings with it a plethora of tutorials and how-tos to help folks not so familiar with it. And it's simple enough that anyone can do it. No inverse kinematics or anything like that. Just simple, keyframe-based animation that's easy to create, looks pretty good, and is inexpensive on CPU time.
So again, the biggest bonus is to the modding community. No need to go out and buy 3DSMax, Maya, whatever. Stuff like Milkshape3D can do everything you need it to.
I just wanna be clear this is just a suggestion. I'm sure Callisto has plans already, but this seemed like a nice plug-n-play solution for the community at large, making the work easier to share amongst everyone in regards to content.
|
|
|
Post by fatdog on Apr 23, 2008 13:40:29 GMT -5
well standards are always going up, u really can't say aim low because projects in the past haven't got it right
and on the question of can a community handle next generation level custom content, well UT3 answers that and now the crysis sdk is out people are also knocking out crysis models quite easily, the process isn't really harder than it use to be, it just enables people to take the visuals to a new level if they want
bare in mind guitar hero does use normal mapped characters itself, its pretty standard these days even for games that aren't trying to break boundries
and on the subject of software costs, fbx is supported by milkshape, its an open format, u don't need to use max or maya for this
|
|
|
Post by callisto2002 on Apr 23, 2008 13:41:14 GMT -5
TeanNice idea for bringing this up. I'm all for having an animated stage and models. I'll look into it some more before voicing any preferences for a particular format. Bonus question: Does anyone have any possible game content (i.e. a guitar playing model or a stage) in md3 format?
|
|
|
Post by Tean on Apr 23, 2008 13:42:18 GMT -5
Touche. I didn't know it's supported by Milkshape. Well, then I'm all for FBX.
|
|
|
Post by fatdog on Apr 23, 2008 14:02:00 GMT -5
sorry if it sounds like i have a grudge against the md3 format, i don't, its just u make it sound like these features can only be supported in the md3 format, while everything that has been stated can be done without it, is it worth while dedicating time to this if there are no valid advantages
|
|
|
Post by CJB100 on Apr 23, 2008 15:25:18 GMT -5
yo fatdog, calm down man he just said that he's all for FBX...
|
|
|
Post by Tean on Apr 23, 2008 15:47:36 GMT -5
yo fatdog, calm down man he just said that he's all for FBX... sorry if it sounds like i have a grudge against the md3 format, i don't, its just u make it sound like these features can only be supported in the md3 format, while everything that has been stated can be done without it, is it worth while dedicating time to this if there are no valid advantages He's not overreacting. He's just arguing a valid point.
|
|
|
Post by callisto2002 on Apr 23, 2008 16:18:23 GMT -5
LOL, I like being lost in these discussions. Again:
Does anyone have any possible game content (i.e. a guitar playing model or a stage) in ANY format? It might sound weird, but the main reason why we don't have any 3D stuff yet is that I'm unable to build it. So I'm most likely to take whatever someone may offer and build something around it.
Bye, Callisto
|
|
|
Post by fatdog on Apr 23, 2008 16:41:30 GMT -5
making a character was on my to do list but for best results it would mean supporting morph target based animation as well as standard keyframes, i'd like to confirm this can be supported before diving into a complete character
i could send a sample file for testing this
|
|
|
Post by mew905 on Apr 23, 2008 21:41:31 GMT -5
I would say just build a quick stick figure with individual fingers and maybe a face. Just to generally test if it'll work. If it does, we can move up from there.
|
|
marss
Guitar Hero
!!!!
Posts: 148
|
Post by marss on Apr 23, 2008 22:49:51 GMT -5
dude if we could do this, it would make GZ the most definately best GH clone anywhere... And it would be cool to see the characters moving to custom tunes, and possibly have new characters if anyone wants to build them when the time comes. lol yess please let's make new characters i have a hatred for the GH characters, specially that punk guy who looks more like a vulture or some weird amphibious bird.
|
|
|
Post by fatdog on Apr 23, 2008 23:17:42 GMT -5
thinking about it, the first version of the meters i sent were morph target based, then the second version were done normally, so those might be all you need for samples of the animation methods the character i had plans to work on for the game is partially made already, just lacking proper textures, normal map and the rigging needs reworking and its a bit on the high poly side at 10k but theres quite a bit of room for optimisation still, heres an early preview anyway
|
|
|
Post by callisto2002 on Apr 24, 2008 11:24:59 GMT -5
fatdogNice... How hard would it be to export a low-poly count version of that guy? Also, does he have separate animations for the fingers?
|
|