Game design, game programming and more

Building Linux virtual machines on Windows

TL;DR: Want to build Linux virtual machines to run on your Windows computer? Check out linux-vm, which contains everything you’ll need.

Edit: The original scripts (“build-linux-vm”) no longer work. I’ve rewritten the project and created a new GitHub repository (“linux-vm”) that *does* work, and changed the links in this article to point to the new version.

For most of my career as a game developer I’ve done all my programming on the Windows platform. But I regularly discover cool open-source projects in Unix land that I’d like to experiment with. With few exceptions most of these projects aren’t designed to run on Windows. But there is a solution: run a Linux virtual machine.

One of my good friends turned me on to using Oracle VirtualBox, an excellent (and free) virtual machine emulator, and Vagrant, an application to build virtual machines from a set of configuration files. Thanks Jamie!

There are some good tutorials on the Intertubes that cover building VMs using Vagrant:

My contribution to the open-source ecosystem isn’t a tutorial, it’s a template with instructions. Fork my GitHub project [edit: old version which no longer works] build-linux-vm [edit: rewritten version which does work] linux-vm, which has complete instructions for downloading and running all the software you’ll need. You can use the VM as-is, though you’ll want to make a couple of changes to personalize it, including setting your account name and SSH public key, otherwise I will be able to logon to your VM!

If you’d like to make suggestions to make the project easier to use, I’d be glad to hear from you!

About Patrick Wyatt

As a game developer with more than 22 years in the industry I have helped build small companies into big ones (VP of Blizzard, Founder of ArenaNet, COO of En Masse Entertainment); lead the design and development efforts for best-selling game series (Warcraft, Diablo, Starcraft, Guild Wars); written code for virtually every aspect of game development (networking, graphics, AI, pathing, sound, tools, installers, servers, databases, ecommerce, analytics, crypto, dev-ops, etc.); designed many aspects of the games I've shipped; run platform services teams (datacenter operations, customer support, billing/accounts, security, analytics); and developed state-of-the-art technologies required to compete in the AAA+ game publishing business.

Speak Your Mind

*