← writings

It's Alive


The Steam Machine was released last month, and I was fortunate enough to snag a unit in the first round of orders. All hopes of a thorough game planning and design cycle are out - I just want to build something. Mostly because it's fun, but also because I'm not super confident that I can publish a game on Steam without running into major hurdles.

Registering as a Steam Partner wasn't as bad as I expected. There are helpful instructions if you're registering as an individual, and although they do collect a large amount of personal information, the process was smooth.

After a few days, the verification process was complete and I was in. For a nominal fee of $100, I could add my own game app.

The first hurdle is that I don't actually have a game yet. But I do want to try getting something running on the Steam Machine. I had Claude put together the "hello, world!" of games, which just renders a triangle on the screen.

The application is written in Rust, my favorite language ever. It uses winit for windowing and vulkano for the Vulkan integration. I remember years ago learning Vulkan and spending a LONG time following the Vulkan "hello, triangle" tutorial. I still don't fully understand how all of the pieces fit together, but it was amazing how quickly Claude was able to stitch something together.

One workflow that I want to set up from the beginning is Continuous Deployment (CD). Anytime a change is merged into the main branch on GitHub, I want that build to be available in Steam. I added a GitHub action to push the build via SteamPipe, although I'm running it manually for now. Once I iron out a few of the kinks, I'll switch this to run automatically.