Project #2: Post-mortem

What went well?

MonoGameMicrosoft’s XNA iswas a fantastic framework for indie developers in both 3D and 2D games. My first for-reals game (Pendulous) was written with XNA which enabled us to release for Windows, Windows Phone, and the freakin’ Xbox 360 with relatively few code changes. Amazing! As with many things I love, it has since been defunded. But! MonoGame has done a great job re-implementing the API on top of SharpDX/Mono (cross-platform managed DirectX). I was able to pretend the pain of losing XNA was gone and use MonoGame almost exactly as I did the XNA toolset. There are a few holes in the content pipeline side of things, but all-in-all MonoGame is like sitting in front of the fire with your favorite dog after you thought it ran away.

Game Jam! – This isn’t something that necessarily went well during the project, but the issues that are outlined in the “terrible” section below brought forth inspiration to put together a gamejam/hackfest/whatever tool set. A friend pointed me to deepnight a couple weeks ago and I got totally lost in his world. His game “Law Breaker” is a single-screen Grand Theft Auto that feels like Pac Man robbing banks. Anyway, the fact that he could put something like that together in a couple days got me taking a hard look at my toolset and realize it needs some serious upgrades. More on this later…

What was terrible?

Pre-Planning – Man, I did not do this well. You can read about my expectation reset here.

Burnout – I hit 44 hours with Mars Commander which isn’t terrible for the scope I was trying to hit, but it was spread out over three months. My time log is filled with entries that are only one or two hours long at the most and in the final month I only ended up working on the project a couple times a week. These projects deserve at least a couple full weekend days to get them out the door before my brain moves on to the next shiny object in view.

Start Stop Continue

START putting together a game jam toolset for the next hair-brained idea. I’ve already started putting together a game engine written with MonoGame so I don’t have to go through writing yet-another 2D game engine in C#. I also need to put whatever code elements I use up on GitHub. These days if I don’t see a tool or library on GitHub, I question its validity.

STOP rushing pre-planning. Not taking a hard look ahead really hurt the project this time around.

CONTINUE with cross-platform tools. This is the way of the future my friend. I hope the next software something I do is done in Xamarin so I can see what that world is all about.

Project #2: Alpha Release

Mars Commander Good Enough

“As your nation’s most technologically advanced accomplishment, the HUB, lands on the surface of Mars, millions of your fellow citizens cheer. As another nation’s most technologically advanced accomplishment, their HUB, lands on the surface of Mars, a million of their fellow citizens also cheer. Find a partner to face-off and claim this planet of resources for your own and remove all foreign threats.”

Done! Okay, not “done” in the classic sense of the word, but done enough for alpha testing (i.e. “Is this even fun?” and “Arrr, thar be bugs”). It works best on a Windows 8.1 tablet with two human players. Each player starts with a HUB and the goal of the game is to destroy your opponents first HUB.

The six units included in this alpha release are:

  1. HUB – The Hub is your primary unit and the only unit that can create and throw other units. Each time you throw out a new unit, you are unable to use the Hub for some amount of time (3-20 seconds, depending on the last unit thrown). The new units will also need a few seconds to charge once they get deployed.
  2. EYE – The eye let’s you see a great distance but can be easily destroyed.
  3. AA. This is your anti-air unit and will fire a tracking missile out if anything gets close it.
  4. BMB. The bomb is the cheapest to use but the hardest to aim. It packs a wallop if you can get a direct hit.
  5. MSL. This missile is expensive to use and doesn’t hit as hard as the bomb, but it will find a target and launch itself directly at it.
  6. CRW. Oh man, the crawler is dangerous. Put this kid on the ground and she’ll crawl forward until she hits something – then BLAMMO.

Here’s some gameplay of the using all of the units. You’ll see I missed with the crawler (the red circle) so I had to throw a bomb at it to make it go off. As with the previous video, I’m using the mouse just so you can see where you would normally touch.


Installing a Windows Store App without the Windows Store

Since the Windows 8 store doesn’t currently support closed/hidden/beta releases (but the Windows Phone store does – weird), you can download the app package directly. Installing takes a couple extra steps but we’re all about learning new stuff here. Here’s something new! In the app development world we call the act of installing an application from outside a sanctioned marketplace (e.g. Windows Store, iOS App Store, Google Play) “Side-loading”. It’s inconvenient on purpose since your eschewing all of the protections you would normally get when you install from an app store.

I tried real hard to keep all the viruses and information stealing malware out of my alpha game, but let be known that I make no guarantees and you should install this package at your own risk and all that.

How to install Mars Commander Alpha on your Windows 8.1 device:

  1. Download the app package from here: Mars Commander Alpha for Windows 8.1.
  2. Extract the file somewhere.
  3. Right-click on the file MarsCommander_Win8_1.1.0.1_AnyCPU.cer and select Install Certificate.
  4. The Certificate Import Wizard will open.  Select the Current User store location and click Next.
  5. Select Automatically select the certificate store… and click Next.
  6. Click Finish and then OK when the install completes.
  7. Open PowerShell and change directory to where you extracted the files.
  8. Run “import-module appx”.
  9. Run “add-appxpackage MarsCommander_Win8_1.1.0.1_AnyCPU.appx”.
  10. Some stuff should blip on your screen while it installs and if there are no errors you should see Mars Commander in your app list! Huzzah!

(Thanks again to Matthew for trying to warn me ahead of time that I was going to go way over 24 hours on this one (he was right) and being a constant source of support and design advice.)