This is my personal site with information on various projects I’m working, I’ll probably eventually set up some kind of tech blog here as well.

Projects

  • Scripting Language

    I wrote a scripting language in Rust that I use for all my game dev projects.

    It’s statically typed but with type inference, has an incremental garbage collector, and compiles down to a bytecode I wrote so that it can be executed by a virtual machine I also wrote in Rust. This makes it super easy to hot swap out scripts in game without reloading the whole game, and also made it pretty easy to set up a read eval print loop. I’m not ready to release it publicly yet, but here’s a few snippets to show it off:

    import dbg;
    
    fn main() {
        dbg::println("Hello, world!");
    }
    
    Read more...
  • Way Of Rhea

    I’m currently building a narrative puzzle game Way of Rhea, more info here. The game is being built int my engine.

    The original prototype pictured below was built in nine days using in house tech for a Playcrafting expo.



    Screenshots

    Read more...
  • Brain Machine Interface

    During the day, I’m working on a brain machine interface at CTRL-Labs, Wired and National Geographic already have good write ups explaining what it is so I’m not gonna duplicate that content here.

    As tech lead of the apps team, most of my work at CTRL-Labs revolves around building tools that game developers will be able to use to interface with the device, and building games with the device myself to figure out what it’s good at and what needs work. We’re a start up though, so at the end of the day I end up doing a little bit of everything from modifying how how we interpret the EMG data to building tools for internal use.

    Me, controlling Pong without a controller. Photo by Alex Welsh.
    Read more...
  • Game Engine

    I’ve been working on a (primarily 3D) game engine for a while, written in Rust and primarily powered by my scripting language. It’s also the technology behind Monsters and Sprites. Here’s some screenshots of a renderer I built for the project back when I was working in C++ (the scene is just a bunch of rectangular prisms with some Pixar textures on it, obviously with better art it’d be a little more impressive):

    I know what you’re thinking–waay too much bloom. IIRC I was testing out an adaptive exposure shader, and took this screenshot right after turning away from a dark area.
    Read more...
  • Misc

    Sometimes I make random stuff, like art assets for games. This page is just some stuff that didn’t really fit in anywhere else.

    I was jealous of Firewatch's trees so I made a low poly tree (440 tris) with some free textures from textures.com because it was too snowy to go out and photograph leaves.
    I made a cool looking guitar..for some reason.
    Read more...