Deployment Considerations

Creating games is one thing. Creating software that others can run is the other.

In my LD experience I have the feeling that I was able to play maybe 30% to 50% of the games whose page I visited. The reason is that many people do not consider how others are going to play their game.

I use a 32 bit Windows XP virtual machine to play Windows games, I do not want to use my regular machine to run unknown software, I do not really think that anybody posts malware, I just have a better feeling using a VM. I also run Linux in Live USB mode to play Linux games if I encounter one. HTML5 games I play on my regular Windows 8 machine, hoping nothing bad can happen to me :-)

The top-most problem I have with Windows games is that they use either Unity or Game Maker 2, both of which have cancelled XP support in some of their recent versions. To stay backward compatible as far as possible I would suggest using older versions of these engines. I have yet to see a game that really NEEDS the new features that are introduced, that make these engines incompatible with XP.

Another big problem is 64 bit only builds. You may not realize when building on a 64 bit machine that your compiler might just target 64 bit by default. This creates problems for a lot of people, there are a lot of 32 bit systems, especially on lower-end hardware like netbooks.

The easiest way for others to play your game is the browser. If you create an HTML5 game that seems to be the optimum with regards to deployment. Still, you might run into other problems like performance, controller support or incompatible browsers.

I test my software on all my machines, virtual and real, to make sure to catch as many potential user problems as possible. Since I use the Go programming language and not many people create games in Go, I have even created my own game libraries over the years just to make sure that my games can be deployed on any Windows machine and on Linux and Mac.

These libraries include loading Windows DLLs for Direct3D9, DirectSound8 (supported from XP up) and bundling resource files into the executable so that users can just download my game and run it. A setup program or a zip folder are fine in my opinion, if the game then runs, but having just a single executable is the second best option to release your jam game right after the browser option.