Rune Skovbo Johansen
Creative Programmer & Designer
runevision
Menu

Blog

3 New Features

Jun 22, 2008 in ,
I have just improved the system with three new features:
  • Support for using walk cycles backwards. So for example a forward walk cycle can be used as a backwards walk cycle too (in lack of something better).
  • Auto-synchronization. All walk and run cycles are now synchronized so you don't have to tell your animators "all animations must start on the left foot" or similar.
  • Slightly more intelligent foot placement. It attempts to avoid ledges. The system now traces two rays per foot per frame in order to make this possible.
(More details below.) These improvements have been of benefit for the Soldier guy in particular, that only use 3 animations: idle, walk, and run. He now walks much more fluidly in all directions, though still not nearly as well as the Hero guy, with 9 animations. Click the image below to view the demo.


Instructions repeated for your convenience:
When manual control is turned on, you can control with either the keyboard (arrow keys for walking direction, and optionally WASD keys for facing direction) or with an analog controller, which I highly recommend. With an analog controller, such as an XBox 360 controller, the direction and speed can be controlled precisely with ease, while independently controlling facing direction with the secondary stick.

The terrain can be dynamically controlled with the sliders at the top. You can create stairs, slopes, and various combinations. The terrain will reflect the changes once the character has walked a little distance to the left or right. The sliders will also be changed at random while not in manual mode.

Support for using walk cycles backwards
Since one of the goals of the system is to make great animation available to even small developers with limited resources, the ability to use the same walk cycle for two things is very handy. Not only can a forward walking animation be used as a backwards walking animation too, but the system can also use a blend of the forward and backward animations for walking sideways. The forward-backward blend results in a sort of neutral stepping on the spot motion, which is better suited for adapting to side-stepping than either the forward or backward animations alone.

Auto-synchronization
This one solves a whole host of problems. If animations are not properly synchronized before they are blended, it results in all kinds of weird motions, quirks, and problems. The traditional approach is to make sure the animators animate the cycles synchronized, so that for example all walk and run cycles starts with the left foot being on the ground, approximately under the character. However, this manual synchronization doesn't always work out very well. Also, when considering the backwards support feature mentioned above, the restrictions are even tighter.

This is why I have implemented auto-synchronization. The system now calculates an offset for each walk and run cycle that makes it match the other cycles as well as possible. At runtime in each frame, these offsets are applied individually to each motion prior to blending them.

The auto-synchronization works by comparing the stance times of each leg in each cycle with the stance times in the other cycles. (The stance time is the time in the cycle when the foot is standing most firmly on the ground.) The offsets are calculated by applying a kind of spring system to the stance times in each cycle, so that each stance time is attracted towards the stance times of the same leg in the other cycles. Over a few iterations (less than 20 in my tests) the stance times get increasingly closer until they are practically overlaid. Each iteration is O(N^2) where N is the number of cycles, because each cycle is compared to each of the other cycles. However, since this calculation can be done once at pre-compile time, it doesn't have any speed penalty at run-time.

More intelligent foot placement
The feet now land on the ground a bit more intelligently. For each foot two rays are cast towards the ground; one from the heel and one from the toe-tip. Depending on whether one of them or both hit a usable spot, the foot is placed either between the two points or on one or the other. This prevents the most glaring intersections with geometry. However, a more sophisticated system might still be implemented at a later time.

Help me test the system
I make the Locomotion System as my Master Thesis in collaboration with Unity Technologies. It will be available for free for users of Unity once it is finished.

As a part of my thesis, I want to test the usability of the system. If you are a Unity user and would like to try out the system and help me by evaluating it, please let me know! The system is not ready for testing yet, but it won't be long now.

Also, comments are much appreciated!
Read More »

Flipside Interviews and Articles

Jun 21, 2008 in , , ,
And now for something completely different. Well, slightly different anyway.

FLIPSIDE posterIn May last year I was Lead Game Programmer on the one-month student game production Flipside. The game has just one level, but it has a unique premise accompanied with a fantastic and crazy artistic style. Read more about it on playflipside.com or get my own angle on it on my website.

It ended up winning of the 12 Independent Games Festival 2008 Student Showcase Awards and we went to GDC in San Francisco to show it off at the IGF booths. (Note that we live across the Atlantic Ocean in Denmark.) We didn't win the Best Student Game Award though.

However, we got a lot of attention. Since a video interview with us have just been put online by Noesis Interactive, I'll use this opportunity to just mention some of the places where Flipside has been in the media.

ModDB.com / Noesis ModTV Interview
June 2008

The popular games and modding site ModDB.com features a video interview with Thomas Pilgaard and Rune Skovbo Johansen about the making of FLIPSIDE.

Click the image to view the full video interview

Politiken (DK)
Section 2, May 15 2008

The daily newspaper Politiken has an almost full page article about the essense of nordic games, and Flipside is used as a prime example, with two big screenshots from the game.

Click the image to view the full article

ModCenter.com Interview
February 29, 2007

ModCenter, "your one-stop resource for all your game development needs", features an interview with me about the making of Flipside.

Open ModCenter interview in a new window

Games for Windows (US & CA)
Issue 15, February 2008

US and Canada magazine "Games for Windows - The Official Magazine" has a half page review of FLIPSIDE in their February issue. Sorry for the poor quality scan.

Click the image to view the full article

PC ZONE (UK)
Issue 184, September 2007

UK magazine PC ZONE has a full page review of FLIPSIDE in their september issue. PC ZONE is sold in about 40.000 copies monthly.

"Flipside is such a highly stylized and impressive mod, with such a simple and original premise, that it almost feels wrong to be playing it for free"

Click the image to view the full article

PC ACTION (German)
September 2007

German magazine PC ACTION has a half page review of FLIPSIDE in their september issue. PC ACTION is sold in about 80.000 copies monthly.

"WERTUNG: SEHR GUT"

Click the image to view the full article

PC GAMES (German)
September 2007

The magazine PC GAMES has a half page review of FLIPSIDE in their september issue and they have FLIPSIDE included on their cover DVD. PC GAMES is sold in about 175.000 copies monthly.

Click the image to view the full article

ModDB.com
June 2007

The popular games and modding site ModDB.com features an article on FLIPSIDE in their REVIEWS section.

"The game, quite simply, looks amazing. Everything about it, from the textures that look pasted onto cardboard cut-outs to the manic, false grin on the main character's face, makes FLIPSIDE infinitely more interesting to look at than the standard mods we see these days. When I first flipped the world over to see the darker perception of reality, I literally gasped out loud. It's a magic moment and one that everyone should experience."

Click to view the full article:
Open ModDB.com review in a new window

Ok, nuff' ego-tripping for now...
Read More »

Adaptive Walking Preview II

Jun 10, 2008 in ,
I have not been good at updating the blog lately, but here's a new preview of the Locomotion System! Now characters can walk in any direction (forwards, backwards, sideways, and anything in between) with any speed. Characters can also start and stop walking with proper transitions. Click the image below to view the demo.


When manual control is turned on, you can control with either the keyboard (arrow keys for walking direction, and optionally WASD keys for facing direction) or with an analog controller, which I highly recommend. With an analog controller, such as an XBox 360 controller, the direction and speed can be controlled precisely with ease, while independently controlling facing direction with the secondary stick.

The terrain can be dynamically controlled with the sliders at the top. You can create stairs, slopes, and various combinations. The terrain will reflect the changes once the character has walked a little distance to the left or right. The sliders will also be changed at random while manual mode is not enabled.

Models and animations
The demo shows off three characters, all kindly provided by Unity Technologies. Press ENTER to switch between them, or press the switch button.
  • The HERO character has 9 animation: 1 idle, 4 walking, and 4 running. The system automatically blends between the relevant animations based on direction and speed.
  • The SOLDIER character only has 2 animations: 1 idle and 1 walking (forward). The walking is extrapolated by the inverse kinematics in the Locomotion System to also work for sideways and backwards motion, but it doesn't look as good as when animations are provided for those directions.
  • The HERON character also only has an idle and a walking animation. (Note that the Heron model is facing in the -Z direction, so it's a bit odd to control.)

Features
A lot of the features I set out to implement are done by now. Still missing are:
  • More intelligent foot placement mechanism that avoids ledges. The current system simply traces a ray from the heel of the foot.
  • Some way to avoid feet and legs intersecting when walking in certain directions (usually sideways). Regular blending inevitably leads to this glitch, so special logic is required to handle this.
I will post more details on the technical details later.

Request for models!
I have tested the system with several biped (two-legged) characters but i am in DIRE NEED of animated models with more than two legs to test with! If you have any characters I may use as test data for this project, it would help me a lot. Models will only be used for testing and not in public demos unless explicit permission is given. Also, I will put a thanks in the Master Thesis.

The models can be anything really: animals, aliens, robots, or whatever, as long as they use legs to move around with! I can import models up to Maya 8.5 and in .fbx format. Animations work best with the system if:
  1. There is at least one idle animation and one walk or run animation. But the more, the better!
  2. The feet don't intersect too much with the ground (though a little don't hurt).
  3. The feet move backwards (for e.g. a forward walk) at a somewhat constant speed while on the ground (though the system can fix small variations).
If you are in doubt, just send away! Even animations that don't work still show me something valuable about the limitations of the system.

Help me test the system
I make the Locomotion System as my Master Thesis in collaboration with Unity Technologies. It will be available for free for users of Unity once it is finished.

As a part of my thesis, I want to test the usability of the system. If you are a Unity user and would like to try out the system and help me by evaluating it, please let me know! The system is not ready for testing yet, but it won't be long now.

Also, comments are much appreciated!
Read More »