Today, indie developer
notdead LLC launched
COMPOUND—a randomized, rogue-lite, free-roaming shooter for Meta Quest 2 and Meta Quest Pro. With difficulty settings ranging from easy and medium to hard and spicy, you can play your way—and for those of us who want to interact with everything the virtual world has to offer, you’ll be pleased to know that the food items are indeed consumable. But perhaps most striking is the game’s unique pixelated aesthetic.
We sat down with solo dev Bevan McKechnie to learn more about this project that’s six years in the making and share some lessons learned with the broader VR developer community. To read more about the game, be sure to
check out the main blog as well!
What was your inspiration for the art style?
Bevan Mckechnie: The first games I ever played were games like Day of the Tentacle, Commander Keen, and Wolfenstein 3D. These early ’90s PC games were usually limited to 256 colors or less, and of course the pixels were extremely “chunky” by today’s standards. But the colorful and abstract look still holds a special, nostalgic place in my heart today.
A few years later, the “Build Engine Trinity” of Duke Nukem 3D, Blood, and Shadow Warrior got me hooked on the FPS genre, and, while they’re not pixel art in the strictest sense, I think there’s quite a lot of influence in the visual style of COMPOUND from those games, too.
A lot of game devs want to deliver on nostalgia with pixel art. What are the major hurdles to achieving the look and feel?
BM: The obvious deciding factor is, of course, the quality of the pixel art. I don’t claim to be a master, and there are some insanely skilled people out there, but I personally believe quality pixel art looks its most cohesive and unique when a limited palette is used to maximum effect.
A major issue that is unique to VR, however, is that the aliased “chunkiness” of pixel art is at odds with the anti-aliased, smooth edges needed to make a convincing and comfortable VR experience.
What tools and methods can developers use to get around this?
BM: A naive approach would be to simply remove any kind of texture filtering. This is very easy and will preserve the colors perfectly, but it will also introduce unacceptable levels of aliasing and nasty pixel shimmering, which is distracting and unpleasant in VR.
Another approach I’ve seen is to scale up all the textures while preserving their chunky look. This looks great from long to medium distances, but massive amounts of memory and storage space are wasted, and the illusion is ruined when harsh texel edge blurring makes colors muddy and messy when viewed up close—just when you want assets to look their best.
The approach I arrived upon is, as far as I know, a novel one. I use modern anisotropic and trilinear texture filtering to keep the textures looking clean at a distance and at shallow angles, but each material uses a custom-built shader that calculates the texel density per pixel and interpolates the texture coordinate towards the center of the nearest texel accordingly.
This is a difficult balance because, if you overdo it, you’ll end up with pixel shimmering, and if you don’t do it enough, textures will appear soft and blurry. I eventually stumbled upon an algorithm that dynamically finds the perfect Goldilocks zone for the texels to appear perfectly square and crisp while still keeping a clean anti-aliased edge that looks great in VR and gives a higher perceived screen resolution. It took a lot of math and even more trial and error, but this solution is the best of both worlds and is also very performant.
The pixelated burgers look good enough to eat—and you have to if you want to survive. What role does color play in delivering on pixel art?
BM: Color is absolutely vital to the look of COMPOUND and pixel art in general. Older console and PC hardware of the early ’90s was only able to display a very limited range of colors, so at first it was done out of necessity, but on modern hardware a limited color palette is a design choice that serves all sorts of useful functions.
COMPOUND uses a palette of 51 colors exclusively, and this intentional limitation not only makes the pixel art look authentic, it also helps every asset in the game world have a consistent and recognizable look. In my personal opinion, visual consistency and coherence is even more important than the quality of the individual assets as it ties the entire scene together as a whole greater than the sum of its parts. This is why “asset flip” games are instantly recognizable and generally don’t look very pleasing—despite the individual assets being of average or above quality, because everything is made by a different person and in a different style.
Finally, using a unique custom palette for your game is important in my opinion as it makes screenshots and gameplay of your game instantly recognizable, which helps a lot for organic growth and recognition in these times when just getting players to click on your game is half the battle.
If you’re interested in creating assets in this style, I wrote a very detailed article for Sketchfab’s “
Art Spotlight.” You can also check out a tutorial video I made going through my process of making a very simple asset in real time with detailed explanations below: