• Register

Build and drive robots to solve puzzles as you transform between human and machine. Set in a cyberpunk world, MechoEcho is a block construction game and an accurate physics simulator. In 30 challenging levels plus Sandbox, you create original machines, explore, and run for your life!

Report RSS MechoEcho Devlog #1 – Character Rendering & Animation

This is the first of a series of articles about the development of MechoEcho. These articles are an opportunity for me to provide insights on the game tech and gameplay, as well as new updates about the development. Today I’d like to talk about the characters’ rendering effects and animation.

Posted by on

Devlog #1 - Particles Animation

In the game, the characters are made of particles, however they are still modeled as 3d meshes. These character models can be fairly simple because it’s hard to see small details in-game when the particle system is running. The same is true for the animation rig (the skeleton used to animate the models). Different characters in the game will be distinguished by their size, shape, and particle colors.

My modeling and animation tool of choice is Blender. The nice thing about Blender is that it is completely free, has a vibrant community, and is highly customizable. Blender also does a nice job at mapping the model mesh onto the rig so I could easily drag the rig bones and watch the model move.

Devlog #1 - Blender Character Rig

For the Greenlight Trailer I made the animations by rotoscoping existing footage of people running and walking. Rotoscoping is neat trick that allows a programmer to make his own animations in a few hours. However, for the final game, a professional animator will be hired.

Once imported in-game, the model initially looked rather unimpressive: all you could see were bunches of dots over the mesh vertices [Figure A]. To make it look better, I had to do some research.

Devlog #1 - Character Rendering Steps

University websites are a great place to look for inspiration when designing effects for your game. I was lucky enough to find a paper on realtime (fake) fluid simulations on the website of the Computer Faculty of UBC, which I implemented on the GPU [Figure B].

The next steps were to replace the particle dots with sprites, then add normal maps, lighting, and color [Figures C, D, E]. Even so, the effect looked good in motion but not quite right in still frames.

It turns out that without shadows the depth perception was entirely lost. However, having self-shadowed particles was not an option due to performance costs. Luckily, my engine already supported Ambient Occlusion [Figure F], a post-processing effect that works on the final image and selectively darkens certain areas that would be less likely to be exposed to light. Best of all, since the effect was already being applied to the rest of the world, applying it to the particles came at no extra costs.

Devlog #1 - Character Rendering Steps Animation

Let me know if you have questions or suggestions!

Thanks & Credits:

  1. “Curl noise for procedural fluid flow”, Robert Bridson. PDF
  2. The model of Echo is based on a model courtesy of CG Cookie, Inc & Eat Sheep.
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: