Skin Deep: Blendo Build Machine


Skin Deep will be released April 30, 2025! In the following weeks, I’ll be writing about the processes and development of Skin Deep.

Wishlist Skin Deep here!

To view all posts in this series, click here.


Blendo Build Machine

Today I’ll be writing about the Blendo Build Machine tool. Here’s what it looks like:

Yup, it’s one huge button. “Create build.” That’s it!!!!

Goals

I wrote this tool to solve one issue: how to give the development build to every teammate.

(For context, “development build” here means a build of the game with the most recent code/content/etc.)

Approaches

Here’s approaches I considered:

  1. Use the cloud: Someone remotely initiates a build, and then a computer somewhere in the world creates and distributes the build.
  2. Use myself: Have me create each build and then distribute it to everyone.
  3. Use teammate’s computer: Have the teammate create their own build.

I think all three of these are viable, and all have pros and cons. I think it depends on what you’re looking for and how you all work.

I chose option #3, of having each teammate create their own build on their own personal computers.

How it works

You click the giant Create Build button:

The tool then:

  1. Grabs latest source code: it uses SVN to get the latest content & latest source code currently in the repository.
  2. Compiles the latest code: immediately afterward, it uses Visual Studio command-line tools to compile the source code. This results in a new game executable.

The end!

Wait, that’s it?

Yea, that’s it.

To be clear: this tool ultimately boils down to automating some button clicks. Here’s how you’d manually do what this build machine does:

  1. Right-click on project folder.
  2. Select SVN Update from the context menu.
    • [Wait for latest data to finish downloading, 1-60 sec]
  3. Open the .sln file in Visual Studio.
  4. Press F5 to compile a new build.
    • [Wait for build to finish compiling, ~4 min]

I don’t think every process needs to be automated. But there’s a couple things in this specific manual process that make it worth automating:

So, for those reasons, it made sense to automate this process with the Blendo Build Machine.

Options

Here’s the options for the tool. It’s mostly self-explanatory. There’s a fair amount of knobs you can turn to make it work for how you like to operate.

I personally like to have the tool just automatically start the process when I run it, and then automatically run the game when the process is all done.

Notes


Nuts and Bolts

Blendo Build Machine was made with Winforms. It was written in C# with Visual Studio 2015.

If you think any of this is useful, please feel free to adapt it to your own project:


Et al

Laura and I used the Blendo Build Machine when we worked together on Tall Bagel, and we’ve since used it on other projects we’ve made together.

Can this tool be used for your game? Maybe! Who knows.

I personally think it’s fine & good to make a tool specific to your process/project, and then to never re-use it again. I find these tools to be relatively quick to make, so it’s very feasible to make a one-off thing.

I think you gotta just figure out what works for you!

This page is based on the Journal theme by Damien Caselli.