Art Spotlight: Low Fi Spider Tank

Back to overview

About Myself

Hello! My name is Bevan McKechnie. I’m 35 years old and I work as a solo indie game developer in the Kanagawa prefecture of Japan. I got into game development way back when I was an early teen, making mods for Quake. I am a self-taught programmer, though I also thoroughly enjoy pixel art and 3D modeling as a hobby. For the last few years, I have been developing an action roguelite FPS built from the ground up for VR, called COMPOUND. Please check it out on Steam!

Inspiration & Getting Started

Ever since I first played them, I was fascinated by early first-person shooters such as id Software’s Wolfenstein, Doom, and Quake, and classic build engine games such as Duke Nukem 3D, Blood, and Shadow Warrior. Unlike modern games, these games have low resolution, unfiltered textures and a limited shared palette (usually 256 colours or less), which give them each a very unique and coherent visual style though recycled colours. Much later, I discovered the incredible work of Andrei Mishanin, which revived my interest in this aesthetic and showed me how great those old blocky textures could look when wrapped around a simple 3D mesh. I chose this art style as not only do I personally enjoy the aesthetic, but it’s a great fit for VR game development. It looks best with extremely lightweight unlit shaders and low polygon models, which massively reduces the load on the GPU, helping achieve the very high resolutions and framerates required for VR. It also makes for fast asset creation which is a boon for solo developers such as myself.

My Process

At the core of my process style is the pixel art, and unlike standard modeling processes, I usually start with drawing pixel art which later becomes the guide for the 3D geometry and the base for the textures. I personally believe that the best pixel art is about squeezing out as much detail and expression as possible within very strict limitations. These limitations include not only image size, but also colour count, and abstaining from using any kind of translucency or tool that automatically generates colours, like antialiasing or blurring. Ideally, each pixel should be placed individually, only using tools that remove some of the busywork and produce the same result as manual pixel placement (i.e. fill tools or line tools).

For those interested in this form of pixel art, I strongly recommend reading this detailed and easy-to-understand tutorial written by pixel art master, Cure.

Step 1

low fi spider tank concept

I start by designing and drawing a complete pixel art image of the model I want to make, sometimes from different angles. For this part of the process, I use Aseprite, an excellent program dedicated to pixel art. It is important to know that while paid tools bring some convenience, even simple tools like Microsoft Paint are more than adequate to produce excellent pixel art. I have a limited palette which is common across every model and texture in COMPOUND, shown here:

pixel art color palette

The shared palette helps bring the separate assets of the game world into a coherent whole. For this reason, I also avoid using any kind of translucency or shading effect in-game, which would muddy and blend colours.

Step 2

low fi spider tank blender

I use the pixel art image from the previous step as a background guide to make the model in Blender, making sure to match the vertices and edges to the pixel art exactly. It helps if you line up the grid with the pixels on the quad—that way you can just snap to grid to get a pixel-perfect edge. This also ensures that model geometry is never more detailed than the pixel art image, which helps retain the chunky pixel art look. It is also very easy to project the image onto the model to have a rough approximation of what the final model will look like, as shown here. In Blender, this can be done by selecting the model and background image in edit mode and unwrapping using “Project from View (Bounds)”. At this stage, if I find any problems I will edit the pixel art image first, then modify the model to fit the new changes.

Step 3

pixel art spider tank textures

When the geometry is complete, I slowly start manually splitting off separate texture islands, making gaps between the islands to allow for texture bleed. During this step, I also draw extra texture surfaces that aren’t visible or stretched in the original pixel art image. To ensure the 2D pixel art look is not destroyed in the translation to 3D, it is very important to keep texel density and orientation consistent, and to match polygon edges to texel edges. Unfortunately, there is no tool to help this process, so it is simply a matter of manually laying out UV coordinates. Having “Snap to Pixels” enabled in the Blender UV editor helps. Another useful trick I found is that you can move UV coordinates that aren’t aligned perfectly with the pixel grid by whole pixels by clicking and dragging the values of the UV vertex in the Properties bar.

blender snap to pixels

Like regular textures, you’ll need to add texture bleed to the final texture image, but manually adding texture bleed is very time-consuming. To help with this, I wrote a plugin for Aseprite which automates this process. You can download the plugin here if you would like to use it.

Challenges

The Spider Tank is a mini-boss for one of the later levels of COMPOUND. The shape and design were a little more complicated than my usual models so first I quickly blocked out some shapes in 3D to get an idea of what direction I wanted to go in before I started drawing any pixel art. As if my process wasn’t already convoluted enough, this time I started with 3D, made 2D art from that and made 3D art again from the 2D image.

Here is the first 3D mockup just to get an idea of how a spider tank might work.

low fi spider tank mesh

I also needed to work out how the leg joints might work so I made a mockup of them, too. I originally attempted a more realistic hydraulic system but decided a simple future-tech servo would be much simpler and would fit the pixel art aesthetic better.

low fi spider tank legs

After I had a rough idea of what direction I wanted to take the design in, I was able to get to work using my usual process, as described above. To make things more manageable, I worked on individual sections of the model separately and combined them at the end.

Setting up the Model in Sketchfab

I use a Classic renderer on the Shadeless setting and apply a single diffuse material. It is vital to set the texture filtering to Nearest to achieve the sharp pixel look, and texture dimensions must always be a power of 2 (64, 128, 256, etc.). Sketchfab has a host of post-processing effects but as I am going for a very retro look, I typically only use a vignette and enable temporal antialiasing to make the edges clean and crisp. Obviously, being a VR developer I make sure to have optimal settings for viewing inside VR. Being able to view a model from different angles and positions in room-scale VR is amazing!

sketchfab VR 3d settings

Conclusion

While I am still very much a student of 3D modeling, I was really pleased with how this model turned out and I learnt a great deal in the process, and, more importantly, I had a lot of fun. Thank you for reading!

 

About the author

Bevan McKechnie

Indie game developer



No Comments

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Related articles