Going Retro: Using Pixel Art on your Virtual Table Top

I recently experimented with using pixel art to create a lo-fi (and pretty comfy) aesthetic in Foundry VTT. Let me lay it out for you!

Some more sample maps:

And a dungeon example, based on a One Page Dungeon by Watabou:

What I Made

View post on imgur.com

The above example is running in Foundry VTT, but I see no reason why it could not run in any other Virtual Tabletop.

Why I Made It

I love making high-fidelity tabletop maps in Dungeondraft with asset packs such as those of Forgotten Adventures. It allows me to world-build in a very literal sense; the desk in the mayor’s office will have letters on it, opened and unopened, his glasses right next to them, all lovingly placed by me. It’s awesome!

It does, however, have a few downsides:

  • It’s time-intensive. It’s time I love spending, true, but time, nevertheless.
  • There is an enormous supply of Forgotten Adventures assets, but the moment I want to divert from the art style, I run into problems. What if I want the party to face, say, a two-headed wolf? I either have to Photoshop the wolf token, or use the wolf token and say “imagine the second head”.
  • The realism of the scenery makes me a bit lazy with describing scenes and can become a bit of a crutch. If I have a scene in mind that I can’t properly visualize using my toolkit, I’m less likely to run that scene.
  • My perfectionism can get the better of me. I refuse to re-use random encounter maps, because you might notice that there are two identical highly detailed trees.

So, I thought, why not go completely in the opposite direction? If I want my games to feel ‘authentic’, ‘old-school’, and harken back to a time when our imagination was that much more vivid, perhaps I could use an aesthetic that would be conductive to that mood. An aesthetic that invites imagination, but still has some visual flair of its own. An aesthetic where I could just duplicate trees, as we all understand that it’s obviously not the exact same tree, it’s the symbol of a tree. And so I landed on pixel art, aiming for a vague retro vibe reminiscent of games like Exodus: Ultima III.

Fun fact: I never played Ultima III, and the aesthetic that this mimicks is one I never experienced first hand.

How I Made It

My process consisted of three parts:

The Pixel Art Itself

I’ve dabbled in pixel art (and game making) before, before TTRPGs became my main hobby-focus. So, luckily, that meant I had some idea where to start.

I used Asesprite for sprite work, but any graphic program (Photoshop etc.) would work just as well. I set 16×16 as my sprite dimensions, and when done, would upscale it to 64×64 since Foundry VTT requires a grid of at least 50×50. Remember to use Nearest Neighbor for upscaling!

I used Lospec for palette inspiration, but I also looked at Dwarf Fortress, for instance the Wanderlust palette.

With the palette and dimensions set, I started looking for visual inspiration. Kenney makes amazing free pixel art, and I used his 1-Bit Pack as the basis for my sheet.

This piece by McNoodlor was also a major inspiration. Sadly, they seemed to have disappeared/abandoned that username in 2018, but in an old thread I found I do see them considering their work “a contribution to the commons”, so their work lives on in this project.

Both Kenney and McNoodlor had character sprites in their sheets, but I found their styles – clearly visible eyes – not quite my thing. So, I made my own, with colors and small details differentiating between character races. The colors chosen here are a lot brighter than the background and objects, and not consistent at all with whatever the hardware limitations of our imaginary retro RPG device would be. I just liked the colors.

Humans, Elves, Halflings, Dwarves, Goblins & Kobolds

Making The Map

So, we have a tileset, now we need a program to use them with. For this, I use Tiled.

I load up the terrain sprite sheet as a tileset, 64×64, and create a new map.

First, I pick one of the background colors and use the paint bucket to fill my new map.

Click to enlarge

Next, I create a new layer; this is where I put the floor details.

You can use the Stamp tool and set it to Random and select multiple tiles (hold CTRL and click) for a randomized brush:

Let’s draw some grass and some happy little trees:

So, what works best for VTT’s, in my test, is to not have every wall be a full ‘block’, but only show the walls that our overhead-side view-ish camera looks at.

I do want some walls to be visible, which is why the spritesheet has a (somewhat disorganized) section of walls:

I’m going to add these on yet another layer, above the rest, so that should sprites overlap, the walls are drawn on top.

I first create the back- and front walls, leaving a gap for the door:

And then I use the thin side-line pieces to add the sides of the walls, which ends up looking like this:

We still see some slight inconsistencies in the green areas marked above. We have special parts for that:

Better!

Now we can switch back to the Floor Details layer for furniture and decoration:

I’ve also gone back to the Floor layer to chance the background color for the house.

And that’s… basically how you make a map!

Integrating it into your VTT

So, I use Foundry, and that’s what this example will be focused on. Roll20 obviously handle tokens, walls and maps as well, but Foundry VTT has a few neat options:

  • FX Master allows for scanlines and noisy static, emulating a cool old-rpg-effect. Use the Predator Filter.
  • About Face allows for mirroring player tokens, through Flip Horizontally. Not required, just neat.
  • One of the screenshots above shows the wall config I use: I follow the ‘upper wall edge’ with the actual wall tool, the rest is invisible walls.
  • Add some fitting music, like the amazing tracks that Vaya’s Blade makes over on Bandcamp.

Resources

Now comes the fun part: I’m sharing all of my resources thus far!

I’m not sure if the .tsx file works; you might have to add ‘LoFiFoundry.png’ into Tiled yourself.

I'd love to see what you make with this, or stuff you'd like in a next version of the pack!

Leave a Reply