For the last couple of months, we have been working on restructuring the tech “behind the scenes” for the Campaign part of the game. This is also why you haven’t seen any visible improvements in this part of the game since early summer. We’ve been working on two major areas. I must warn you that this post might be a bit technical, but still give it a try…
Robotlegs and Signals
Until now, the Campaign part has more or less been a prototype and we’ve not focused that much with the technology behind it, but just tried to get the gamedesign right. Now that we are moving towards the final stages, we have to stop, take a step back and look at getting the code “right” in order to accommodate future features and optimization.
So far we haven’t used a particular pattern. But now we wanted to use MVC (Model View Controller) as an architectural pattern. This gives us a more flexible application. There’s a lot of MVC frameworks for Flash ready to use. There’s no reason to invent our own, but at the same time we did not want to get tied down by a heavy framework, were we would run into limitations. So we choose a light-weight 3rd party framework called Robotlegs, where we do get a lot of features, but still are able to mold it into the shape we want without being too restricted. Along with Robotlegs we also incorporated Signals which is a light-weight 3rd party messaging tool.
Both the projects lets us stand on top of the shoulders of others, and saves us time creating boilerplate code. This means that it will increase the production speed. We are currently in the final stages of refactoring the code and introducing Robotlegs/Signals into the project. There will still be more refactoring as we go, but now we can focus on creating new features for the Campaign part again.
The first new feature we will implement is the command structure, so that team/clans can organize themselves, and we can test how it works in real life.
The Animation RIG consists of animatable bones with a lot of technical constraints/tools/helpers (more details in a future post). This RIG is the one that is animated but this RIG doesn’t go into the game.
The Deformers RIG consists of a “boiled down” set of bones that is controlled bone by bone by the Animation RIG. In this way we keep the skeleton for the actual in-game character a lot “cleaner”. This RIG goes in the game ( invisible to the player ) and is the skeleton that “deforms” / “skins” the actual character mesh and clothes.
We are in the early stages of RIG v2.0 and are test-implementing parallel with the game in order not to break the current RIG. More to come…
Each week we’ll feature one of the developers from the team and tell you a bit about who they are and what they are working on.
First of all, what is your gamertag in H&G ?
What is your position at Reto-Moto ?
– My title is Lead Animator. I am heavily involved in designing and developing both Rig and Animation for H&G – both Pipeline and actual production.
For how long have you been working here ?
– I started working at Reto-Moto on the 1st of May 2011.
What games have you worked on ?
– I have been in the animation business since 1995. For the first 8 years doing Animated Feature Films / Shorts / Commercials. Since 2003 I have worked in the Computer Games Industry. Released games include : “Total Overdose”, “ChiliConCarnage”. Canned or unreleased games include “Bonnie & Clyde”, “Faith & a 45”, “Butch Cassidy and the Sundance Kid” …amongst others.
Which tools do you use for making Heroes & Generals ?
– I use SoftImage for Rigging, Skinning, Animating and scripting tools. Also I do a bit of Photoshopping and will probably use some video editing tool (undecided).
The render now supports the newest 3D technology, as seen in movies such as James Cameron’s Avatar.
Below you can see two screenshots from the game demonstrating this. When you click on the images they will open in anaglyph red/cyan mode, so you can get an idea of the effect, with a simple pair of traditional 3D glasses.
IF you have a PC and monitor capable of using the more modern shutter-glasses you can download the images in .jps format here – Tank and US Truck 4×4.
A JPS file is a stereoscopic 3D JPEG file and can be viewed with the NVIDIA 3D Vision Photo Viewer.
We would like to thank Phil Scott and Phil Wright from NVIDIA for their support and supply of hardware to make this happen.
I’m currently experimenting with an automated realtime LOD (Level of Detail) generation. Normally in games the level builders will create a simpler version of the objects used in the game to be shown when far away. This is needed to keep a high framerate as the number of objects that are visible increases with the viewing distance, and the number of objects and their complexity directly impacts the performance of the rendering.
As we plan to have destruction and fires built into the game, we require a system that can capture the result of these modifications to the world instead of having the level builders doing a predefined set of objects, hence the automated realtime LOD system that I’m currently working on.
Here are some very early first screenshots showing a technique called volume slicing where the model is projected onto a set of billboards that is then drawn instead of the objects themselves. The nice thing about this technique is that it doesn’t require any expensive analysis of the objects. The bad thing is the cracks that is obvious when viewing the model from angles that are not orthogonal onto the billboards. I’m currently considering to combine this with relief mapping to reduce the cracking.
Here are a few links to papers that deals with automated LOD generation
After Henning implemented the vector-to-scalars and the Vector_State->Intersection_Point this stuff is possible. The shader blends some green mushy algea stuff on the lower part of the object so the effect will always be in line with the water on the level no-matter where the the object is placed :-)