Run Frank Run: Visuals Updated!

el_bearduno's picture

The beardiest back for an update on the one and only, Frank from Earth! Frank is still a humble little pug in a small project at a tiny company. The last few weeks we've been working to polish our doggy friend. Most recently, we've been experimenting with the overall look of the game.

New Fancy Shaders

When we first started up we were using the Unity standard shader, which was not the prettiest thing but got the job done. After I became aware of the horrid look I'd given to the beautiful art provided by our amazing artists, I put a bit of time into the visualizations. This was a few months back. I added a self illumination to all the 3D models to get a similar look to the 2D assets we have un the game. Over the past 2 weeks we've been exploring some of the toon shaders on the unity asset store. We started with the NPR Cartoon Effect. This was okay but seemed to lighten up our textures unintentionally. It also didn't allow for normal mapping, which, in my opinion, was the most detrimental. We finally settled on Toony Colors Pro, a popular, full featured, toon shader. There is still refining to do but for now it's looking okay. Bonus new spaceship asset!

Updated Animation Blend Behavior

For the longest time, I haven't been terribly happy with the transitions between our animations. We've always had separate run and walk animations. Until now the way we integrated them matched the way the Unity Animation systems was designed. Let's call this the Threshold Switch method. The Unity animation system is based around a state machine that is linked to animations. We said that there is a walk state and a run state. When Frank starts moving, we play the walk animation slowed down. We then speed the walk animation up until a point where we switch to the run state and play the run animation. We then speed that animation up until top speed is reached. Here is what it looked like.

Threshold Switch

Not pretty, I know. Not the worst thing in the world either, at least for development. It's not natural at all and, to me, was distracting.  After having an "Ah ha!" moment, the fix took about 30 minutes to implement. Here is the result of the new implementation of a Constant Blend

Constant Blend

What we're doing here is always playing both the run and walk animations whenever the pug is moving. They are synced perfectly so that the run and walk are the same length and the loops start at the exact same time. Then we just use the animation scripting interface to change the walk and run weights based on the player's speed. Here is an example where you can see the walk and run animation layers' weights changing with the Frank's speed.

Constant Blend w/Animation UI

See it in Action

Welp, that's about all the update I have to give for now. We've also been working on a new world design and some cool new level generation code but I'll save that for next time. Here is a teaser with faceless cats. Don't worry though, we just haven't made the faces yet :D

Add new comment

Basic Editor

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain Text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.