Tom’s Homepage

Hey! I’m Tom Wright. I am a software developer, gamer, and hobbyist game developer. Here you can find links to my projects, and some writing on topics related to software and game development.

If you’d like to chat about anything related to topics covered on this site, feel free to DM me on Twitter.


Virtual Tabletop

I've built a lightweight Virtual Tabletop (VTT) for playing tabletop role playing games like Dungeons & Dragons.

I've found that most solutions currently available for playing D&D online emphasize preparing set pieces and using detailed premade assets. This results in a very beautiful map for players to explore, but requires a lot of up-front preparation (or purchasing of assets) by the Game Master, and discourages improvisation. I've been developing a tool that recreates how I use a markerboard and generic miniatures / tokens in my in-person play.

The goal is to provide some general, easy to use tools which make it easier to run a game with minimal prep, and avoid locking the players into a path which leads to the big set piece you prepared.

You can check out the beta here.

At this point, the site is far enough along to run our games every week, and recreate how I was running combat in person with a dry erase battlemat and tokens. I'm planning to fix bugs and add features from time to time... but I’ve been happily running our game on this in its current state.

PICO-8 Advent Calendar 2019

In 2019, I contributed two games to the PICO-8 Advent Calendar.

UFO Santa Candy Blaster is an action game about smashing candies by dropping presents on them.

Santa has to send presents to more people than ever... thankfully he's got a UFO to help him get around faster. But these flying candies keep getting in the way! Throw gifts at the candies to pop them and collect coins. You can spend coins to buy upgrades and blast even more candies! Will you make it to the ultimate upgrade??

For an extra challenge, try completing a run without letting any candies escape through the top of the screen!

Snow Tower is a challenging arcade platformer about climbing an endless tower by freezing bugs.


Misinterpret your friends' drawings in Comixup!

In this take on the the classic party game Telephone, each player receives a prompt and draws it. Each player passes their drawing to the next person, who tries to guess what the prompt was. Then they pass this new prompt along to someone else to draw. At the end of the game, review the chains of drawings and see where it went horribly wrong!

Before the project stalled, I was also planning to develop a new Mixup game mode, where everyone makes some drawings based on a theme. Then it's up to you to remix everyone's drawings into a comic strip and add text. Players hand out ribbons for their favorite comic and other quirky rewards. Who will win Best in Show?

Play it right here at

Barrier Blast

Avoid the monsters and rack up a high score. You'll have use your magic carefully… attacking removes your own shield.

Barrier Blast is an arcade style game for PICO-8 which I made in 48 hours for the GMTK Jam in July 2017. The theme of the jam was dual-purpose mechanics. In Barrier Blast your magic is used for both defense and offense, depending on the situation. Fireballs approach the player slowly and wait for the perfect chance to attack. Later levels up the challenge by forcing you to lower your defenses, requiring careful setup to make sure you aren't attacked while your barrier is down.

Play it right now in your browser at

The Remains of El Dorado

Explore the lost city. Find the amulet.

The Remains of El Dorado is a roguelike game for PICO-8. You’re seeking The Amulet of the Sun which will bring you great fame and fortune… if you survive.

Play it right now in your browser over at

Other Projects


lwe is a small experiment to create a cursorless text editor. Instead of having a cursor which is moved around the screen to mark where text will be inserted, the input location is queried after inputting an editing command. For example you can press c to select the “change” command, and then use the location input system to determine the range of text to change. After that you are placed in insert mode, replacing the text you selected.

It’s an interesting experience using this editor, as it makes it very easy to quickly page through the file you're editing and make small changes.

View on github


A 3D falling sand simulation

This simulates some simple cellular automata in 3D, similar to 2D falling sand games. The rules for each type of cell are implemented in Lua. The simulation is rendered with OpenGL and features screen space ambient occlusion.

View on github