Animation, it has to be said, has never been my strong point. I enjoy drawing the sprites and working with limited colour palettes but actually making the damned things come to life was always somebody else’s job. So imagine the headaches I’ve been having trying to bring this bloody walker to life.
In the movie the animators used tried and tested stop-motion techniques to great effect. Given the dated nature of the technology it might be easy to fall in to the trap of thinking that we have a certain amount of grace in terms of execution since the technique can look quite crude. Don’t be fooled ! The sequence in the movie was inspirational because those things looked real. Re-creating the effect is very hard and made somewhat trickier due to the way that my animation code works.
In my code I cache each frame and apply a frame delay (measured in game ticks) globally to each frame in the set per sprite. The AT-AT currently has 15 frames all set to a delay of 10 game ticks. This doesn’t give me much room for movement in terms of fine tuning the walker’s motion short of duplicating frames to give the effect of pausing the sprite. Currently most animated objects have a frame delay of around 10 game ticks. Applying this kind of approach to the walker will make it look awful and far too robotic. In the movie the walkers moved with a certain amount of fluidity but still didn’t appear to shuffle forward until each giant foot had hit the floor. My code applies the object’s speed property with every frame – although the move increment is actually handled by the move() function as opposed to the animate() function.
It’s clear that I need to break the generic nature of my code for the walker and only nudge it forward every n frames, otherwise it will appear to slide across the snow which is dreadful. Making “walking” objects “stick” to the floor in games is a full time job.
I’ve watched The Empire Strikes Back countless times and never really focused on the intricises of the AT-AT motion. The first thing that struck me was the synchronous way that the legs move. It’s quite strange at first since you expect the walkers to move much like a horse. The animators at ILM must have considered this themselves. But there’s two things that a more conventional motion raises. Firstly, the speed that the walkers would be upon the rebel base (if the AT-AT walks so easily why doesn’t it just canter along ?) and secondly the clumsiness of a 100 ton metal machine trying to negotiate an icy terrain. It makes perfect sense that the walker moves quite tentatively.
To begin with I sketched out how I imagined the walker would move. Simple thumbnail images that I’ll scan in and upload some day. They depicted a rather static looking metal camel where the movement of one leg didn’t really affect the position of the others. What’s more the torso, neck and head all remained perfectly level.
Then I watched the sequence in the movie again and saw that there is the slightest adjustment of the 3 trailing legs as the moving leg shifts in to position. This, I figured, was subtle but not so subtle that I could drop it altogether. It’s pretty vital to the AT-AT’s credibility as a game sprite that the legs move intelligently and look linked. I also noticed that the torso rises and falls quite clumsily as the legs shuffle. In fact the entire machine looks awkward but as I mentioned it’s probably 100 tons of metal on fragile legs walking on ice.
The head and neck moved more through the purpose of lining up the gun turrets with the rebel snow speeders. The motion of the legs doesn’t appear to affect the “bobbing” of the head to any great degree. (Blatantly disregarding the internal shot through the walker’s wind screen where the horizon bobs up and down).
So the key to achieving credible and realistic motion with the AT-ATs appears to lie with the relationship between the legs and the legs and torso. By replicating the walker’s clumsy leg-by-leg motion I pretty much capture the essence of their “personality”.
I had considered dropping the AT-ATs altogether but they were the primary draw for me in the first place. Plus what is the point of setting a game on Hoth if you don’t include them ?
The transition from Photoshop to game might just take some time though and test my art skills in a way that they’ve never been tested before.
A final word on the creation of the sprites themselves.
I deliberately split out each section of the walker. Head and neck, torso and four independent legs. I also split the legs in to thigh, shin and foot. This was a conscious effort to enable a more fluid animation not to mention it makes like a ton easier when it comes to animation.
As you can see from the shot above I used age old pixelling techniques to build each area of the sprite. The rivets and red markings are purely artistic license. In fact much of the panelling is an approximation of the actual vehicle. All in all the techniques used are a hangover from my days creating DOOM and Quake textures on a 486 :)
In the top image taken directly from Photoshop you can also see that I always work with reference and an actual size window. The larger window is the one with I apply the brush to. I also make a point of unchecking “Resize windows to fit” on the Zoom (Z) tool. That way I can maintain the layout of my Photoshop session as I move around the sprite.
The vital keys to my pixelling in Photoshop are Z (Zoom), B (Brush), ALT (Colour dropper whilst in Brush mode) and H (Hand) to move the sprite through the window. You can also use SPACE when in Brush mode to acheive the same effect as H.
My choice of colours is always simple and always contains very dark and very bright colours. I love contrasts and you may be interested to see that the greys are not always grey. Occasionally a bluish or redish grey may creep in. I enjoy pixelling and always apply broad brush strokes to block in the bigger areas. The real fun comes when I get to boil each area down a bit and apply the details such as highlights, rivets and decals.
Some of the metal decay was applied with a broader brush set to Multiply at about 8%. I was initially reluctant to do this but the effect was used sparingly and doesn’t (I don’t think) detract from the deliberate pixel work.
All comments, criticisms and questions welcome.