Wednesday, December 9, 2009

Game Deployment Woes (Just Make It Flash!)

In one of my previous posts I released a Pong clone game that, albeit not polished, was a fully working game and I was quite proud of it. Of course, as sometimes happens with the deployment of Windows-based games, I was dismayed when I learned nobody who actually took an interest (thanks to you faithful few!) was able to run the game :(

That's when the fun began. I asked one friend to make sure he had the DirectX runtime installed and even to reinstall it - no luck. I then learned the C++ runtime was required and had the same friend perform that install - no luck. I tried two different machines with the same installations - no luck. Finally I learned it was not just requirements on the target systems; it turns out I had included a debug version of a DirectX library in my project, which allowed the program to be created and executed, just not in a way that it would work!

You see, as a developer, I have all of the tools required to run any program I create. But other machines don't necessarily have these tools/environments. So I think I'll use the following plan for deploying my next game.
  1. Create a game, coding and testing in DEBUG mode
  2. Change the project from DEBUG to RELEASE mode
  3. Replace DEBUG libraries with RELEASE libraries
  4. Build the project in RELEASE mode
  5. Create an installer project to install the game, the C++ runtime, and the DirectX runtime
  1. Create a Flash game that can be played from a web page in any browser!
Now all I need to do is learn to program a game in Flash...

2 comments:

  1. I remember trying to get your Pong clone running a while back. Never could get it working; that explains why.

    AS3 isn't that hard to pick up once you've learned the language. There's some quirks using the Flash IDE and hooking it to your codebase (check out FlashDevelop for the coding IDE), but you should be able to pick up the syntax in no time.

    Just be careful to structure your code so that it de-references everything- Flash does not allow you to directly delete classes. Google "AS3 Garbage Collection" and read up a bit before you start on any big project, or you'll spend 5 hours rewriting code to fix memory leaks.

    Speaking of Flash, I need to finish a game that's several months past due.
    /off and away

    ReplyDelete
  2. It's cool to see how you are working through the process to better yourself as a game developer.

    Keep moving forward...

    Wishing you and your prettier half a very Merry Christmas!


    Jeff

    ReplyDelete