Animators, animations, state machine charts… oh my.

An animator contacted me and after a some discussion we decided to give working together a go. One of things he asked for was a state machine chart – essentially a glorified flow chart/brain map. After settling on a piece of suitable software – yEd Graph Editor – I began creating a chart based on existing work.

The chart (see right) so far includes :

  • standing
  • crouching
  • walking
  • running
  • sprinting
  • prone
  • prone on back (supine)
  • prone on right/left side (urban prone)
  • leaning
  • sitting

The additional prone positions are included to increase player freedom and fix two common flaws.

Any rapid change in aim beyond a certain limit will result in switching to a position that allows aiming in the new direction. No more getting caught out because you couldn’t turn around quickly – a common (and artificial) way to balance prone.

If the environment prevents traditional prone, but another suitable prone position is available, it will be used. No more ‘You cannot go prone here’ messages.

The player will also have the option of going straight to these other positions, based on movement direction, environmental factors and key combinations.
For example, the player may opt for an urban prone position allowing them to keep as much of their body behind cover as they peak around a wall.

The chart is up to about 200 animations (green shapes), but 140 of those are 1-2 frame animations used for aiming and other blends (aqua shapes). That brings down the real animations required to 60.

Not bad, but far from final.

Have a kitten.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s