Stumbling Toward 'Awesomeness'

A Technical Art Blog

Monday, March 2, 2009

Make a 3D Game for the Right Reasons! (My SF4 post)

I ran out and got Street Fighter 4 (SF4) just like everyone else. Street Fighter was ‘the game’ you had to beat all the kids in the neighborhood at for an entire generation (sadly replaced by PES), and I have very fond memories of playing it.

SF4 is the first 3D game in the series created by Capcom, in the past, Street Fighter EX was developed by Arika, a company formed by one of the creators of the original game as well as many other Capcom employees. Even though porting the franchise to 3D was largely considered a complete and utter failure, they decided to give it another go, this time ‘officially’.

Strengths and Weaknesses

As artistic mediums, 2D and 3D are very different. 3D art is perspective correct, it is clean, sterile and perfect. It is much simpler to do rotations and transformations of rigid objects in 3D, this is why Disney started doing vehicles as cel shaded 3D objects in their later films. However, it is very difficult to add character to 3D geometry. As an example, think of Cruella Deville’s car from 101 Dalmatians, it has character. (When it’s not overly-rotoscoped from a real life model)

2D lends itself to organic shapes, which can be gestural, and are ‘rendered’ by a human being; so they’re never perfect. 3D is great for vehicles and space ships, anything that generally lacks character. 3D is also the only way you are going to get a photo-real gaming experience. For instance; when we were making Crysis, we knew this was the only way, there was never a question of which medium to use.

When I go on my ‘2D/3D rant’, I usually hearken back to something I love, so let’s take a look at the transition of an older game from 2D to 3D: the Monkey Island Series.

Many years ago developers felt that in order to compete, they had to ship games with the latest 3D technology. This is really unfortunate, and leads to them choosing to sometimes develop an ‘ok’ 3D game over a ‘beautiful’ 2D game. I believe in Curse of Monkey Island (last 2D title in the series (so far)), in the options menu there was an option to “Enable 3D acceleration”, upon clicking it, the words “We were only kidding” and other phrases pop up next to the radio button. The developers were already feeling the pressure to release a 3D game.

2D games are still profitable, just look at Xbox Live, where 2D games like Castle Crashers have been some of the top selling titles this year.

Lastly, lets not forget that 3D games are actually cheaper, or have been, historically. However, maybe not with some current-gen titles; where garbage cans have 4k texture maps and take two weeks to sculpt in Z Brush. But animation is definitely easier than it ever was. Of course the other side of that argument is that you can now have 6k animations in a game.

Street Fighter 4 Is A Three Dimensional ‘2D’ Game

Before going on, it’s important to note that in SF4, the characters still move on a 2D plane as they always have. It’s actually nearly identical to all the other games in the series as far as design.

As always, you are pitting your guy up against someone else, and both of your characters are the focal point, they are the only interactive things in a game which centers around them. This is a series that has always been about character, and has always been 2D with great hand drawn art. Remember: Capcom offered fans a 3D game and they did not want it.

So, SF4 is a game that takes place in 2D space and focuses on only two characters at any given time. This is great news, it means you can really focus on the characters, moreso than almost any other game genre.

The Constraints of a 3D Character Art Style

3D characters are driven by ‘joints’ or ‘bones’. Each joint has some 3D points rigidly ‘glued’ to it, because of this, 3D characters, especially in games, look rigid; like action figures. In my opinion SF4 characters feel like lifeless marionettes. In a 2D game, you can quickly and easily draw any form you want. The more you want to alter the ‘form’ a 3D character, the more joints it takes, and the more complex the ‘rig’ that drives the character. Also, on consoles, the number of joints you can use are limited. This is easily distinguished when comparing 2D and 3D art:

Notice how the 3D characters look lifeless? They don’t have to, it’s just more difficult. Whereas before, adding a cool facial expression meant simply drawing it by hand. Now it means sculpting a 3D shape: by hand. It’s tedious and difficult. Also, notice how in 3D Chun Li’s cloth is ‘clipping’ into her leg, or Cammy’s wrist guard is ‘clipping’ into her bicep. 3D is much more difficult to get right, because you are messing with sculptures, not drawings. You could also say the foreshortening on Chun Li’s arm in 2D looks weird; there are trade-offs, but in a 2D pipeline is also much easier to alter character proportions and fix things.

There are entire web pages dedicated to the weird faces of SF4 characters. It seems one of the easiest ways to make a character look in ‘pain’ was to translate the eyeballs out of the head: it looks ridiculous when compared to the hand-drawn hit reactions:

Whereas before you had one guy drawing pictures of a character in motion (maybe someone to color), now it takes a team to do the same job. You often have a modeler, technical artist, and animator, then hopefully a graphics engineer for rendering. That’s a lot of people to do something one person used to handle, and it introduces not only beaurocracy, but a complicated set of choreographed events that culminate in the final product.

This is a Capcom press image of Chun Li and it highlights my point exactly. It is harder and much more complicated to sculpt a form than draw it. Not to mention sculpt it over time, using complicated mathematical tools to manipulate geometry. However, it’s not an impossible task, and to think that this is ‘ok’ enough to release as a press image for an upcoming AAA game is crazy.

It’s not just deformation and posing, but animation in general. There is a lot of laziness associated with 3D animation. Let me be more precise: it is easier to ‘create’ animation because the computer interpolates between poses for you. As an animator, you have to work much harder to not fall into this ‘gap’ of letting the machine do the work for you. Playing SF4 you will see sweeps, hurricane kicks, and various other animations that just rotate the entire character as if on a pin. They also share and recycle the same animations on different characters, this was not possible in 2D.

One thing I find interesting is that, though the new game is 3D, it really has no motionblur. The 2D games had Chuck-Jonesesque motionblur drawn into the frames to add a quickness and ‘snap’, but it also adds an organic quality that is lacking in SF4.

EDIT: Having now logged a lot more time playing, there is indeed a weird kind of motion blur, it’s barely noticeable at all and looks almost hand painted/added.

Another odd thing, I can spot mocap when I see it, and I think the technique was used on some of the background characters, like the children playing under the bridge. The motion is so stellar that it puts the main characters to shame. That’s kind of sad. Though, all new characters introduced on the console seem to have much better animation, so maybe this is something Capcom have worked on more.

So Why Make A 3D Street Fighter?

If you aren’t going to make a game where characters can move through 3D space (no Z depth), why use a 3D art style, especially when it is harder to create expressive characters?

I will offer some reasons to ‘reboot’ the Street Fighter franchise as a 3D fighter:

  • Finally use collision detection to not have characters clip into one another as they always have
  • Use physics to blend ragdoll into hit reactions, also for hit detection and impulse generation; maybe allow a punch to actually connect with the opponent (gasp)
  • Use jiggly bones for something other than breasts/fat, things like muscles and flesh to add a sense of weight
  • Employ a cloth solver, c’mon this is a character showcase; if NBA games can solve cloth for all on court characters, you can surely do nice cloth for two.
  • Markup the skeletons to allow for ‘grab points’ so that throw hand positions vary on char size and are unique
  • Attach proxies to the feet and have them interact with trash/grass on the ground in levels
  • Use IK in a meaningful way to always look at your opponent, dynamically grab him in mid animation, always keep feet on slightly uneven ground, or hit diff size opponents (or parameterize the anims to do these)
  • Play different animations on different body parts at different times, you are not locked into the same full body on a frame like 2D
  • For instance: se ‘offset animations’ blended into the main animation set to dynamically create the health of the character, or heck, change the facial animation to make them look more tired/hurt.
  • Shaders! In 3D you can use many complex shaders, to render ‘photorealistic or non-photorealistic images (like cartoons)
  • You can also write shaders to do things like calculate/add motionblur!

Unfortunately: Capcom did none of these. Sure, a few of the above would have been somewhat revolutionary for the franchise, but as it stands, 3D characters add nothing to SF4, I believe they actually degrade the quality of the visuals.

EDIT: After playing more I have noticed that they are using IK (look IK) on just the head bone, shorter characters look up when a large character jumps in front of them.

posted by Chris at 12:15 PM  

7 Comments »

  1. Totally agree. Coworkers have tried to convince me otherwise by showing me Dhalsim. Yup, his arms get longer, but still not convinced.

    That being said, I am a sucker for 3D particle effects and the dynamic camera moments.

    Comment by Jeremy Sabo — 2009/03/19 @ 3:07 AM

  2. […] Crytek, and now works for Industrial Light & Magic as a Creature Technical Director. I believe he outlines the problem very well, and since I’m not a big fan of repeating what has already been done, I’ll just link to […]

    Pingback by Kung Fu Kingdom » 2d Hand Drawn Art vs Rendered 3d Models — 2009/10/21 @ 1:31 AM

  3. Hello,
    Sorry if I didn’t read all of your post, but i read most of it.
    So maybe I mist it,
    but the thing you get in SF4 is the animation fluidity,
    I would have been very long to draw all the frame to get disney like fluidity if it was 2D.
    And the animation id very good in this game, every frame look nice, I think that SF4 have some of the best animation in the video game industry.

    Comment by Francis — 2009/12/02 @ 3:40 AM

  4. Great article on the problems that are inherit to 3d. Even better is your breakdown of the things that you would have liked to see from this game as a technical director. Thanks for sharing!

    Comment by Engin — 2010/01/03 @ 9:01 AM

  5. When I first saw sf4 was going 3d i thoght ‘if capcom is really leaving 2d behind, is because they are really gonna benefit from the possiblities of 3d’ and then I thought of exactly all the things you mentioned in the end.
    Really, I’m not into fighting games very much, but I really like animation and stuff, and my expectations were high for this game. Capcom had no excuse. Is a game, like you said, about 2 caracters on the screen, and that’s all. It is a HUGE franchise. Great art has always been part of the series. Japanese people are also suckers for cool animation. They were Capcom.

    big let down

    Comment by james stjnt — 2010/02/11 @ 1:21 AM

  6. Thought I might address some of your points. I’m a TA at a games company

    * Finally use collision detection to not have characters clip into one another as they always have

    Hugely processor intensive if your doing this for all limbs. It could work on a non competitive game, but for a game like sf that gets played at events like evo you cannot have any procedural motion or movement that messes with exact frame timing. Fighters have to be reliable, the same every time down to the very frame otherwise the hardcore fighter crowd will not take it seriously.

    * Use physics to blend ragdoll into hit reactions, also for hit detection and impulse generation; maybe allow a punch to actually connect with the opponent (gasp)

    See above, yeah great for non competitive games, but that’s not SF

    * Use jiggly bones for something other than breasts/fat, things like muscles and flesh to add a sense of weight

    They may be using these also for hair, and clothing, though I’m not 100% certain. Its actually pretty difficult to tell if some of the jiggle has been baked into the animation or is being simulated on the fly.
    Adding physics simulation in real time is going to have some overhead, game dev is always a battle between pretty and performance.

    * Employ a cloth solver, c’mon this is a character showcase; if NBA games can solve cloth for all on court characters, you can surely do nice cloth for two.

    Because sf needs to be frame specific and therefore cant have any dynamic movement based on physics you can get away with a hell of allot with animation blending and canned physics. Load up Chun li and watch her pretty skirt fly around as you move.

    * Markup the skeletons to allow for ‘grab points’ so that throw hand positions vary on char size and are unique

    This could be done without altering the frames, so yeah, good idea.

    * Attach proxies to the feet and have them interact with trash/grass on the ground in levels
    * Use IK in a meaningful way to always look at your opponent, dynamically grab him in mid animation, always keep feet on slightly uneven ground, or hit diff size opponents (or parameterize the anims to do these)

    Already does. Go into training and jump up and down, watch you opponent move his head.

    * Play different animations on different body parts at different times, you are not locked into the same full body on a frame like 2D

    They already do this. They play facial animations whilst executing other anims. Don’t believe me… Go into training mode, record player 2 doing a series of light punches. Now exit recording mode and as player 1 execute an ultra. Watch player two execute punches and at the same time play a “scared” facial animation.
    Also, blending multiple animation at the same time is not always the greatest thing to do. Allot of the time it can just muddy the two animations.

    * For instance: se ‘offset animations’ blended into the main animation set to dynamically create the health of the character, or heck, change the facial animation to make them look more tired/hurt.

    The hurt was originally in the game design, it was removed for various reasons.

    * Shaders! In 3D you can use many complex shaders, to render ‘photorealistic or non-photorealistic images (like cartoons)

    Um, got the PC version? just go into options and choose a different shader. You can make it look painterly and a few other styles.

    About the rigid mannequins statement; I understand where coming from but the sf4 rigs are pretty flexible. Some of the most flexible rigs I’ve seen. I’ve heard they ability to scale and position every node independent of the nodes hierarchy. If you look closely every punch and kick is actually scaled to give it more impact. The bone transforms were used extensively for face posing.

    Comment by Adam Maxwell — 2010/02/12 @ 1:03 PM

  7. Woah man, let me first say, thanks for the reply! I will try to address some of what you said:

    Re: collision, cloth, jiggle performance overhead
    There are only two characters on the screen.. I dunno, to me this seems doable.

    Re: Play diff anims
    I wasn’t really talking about the faces, more body parts.

    Re: shaders
    Sorry, didn’t play the pc version, though I would be interested in seeing what percentage of players did.. I think console was the base experience, this is what I posted about.

    Comment by admin — 2010/04/25 @ 4:38 PM

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress