The Week of Awesome II - Deployment Prep

Published September 16, 2014
Advertisement
Well, today I have spent about 3-4 hours so far working on my deployment process. I started out going down the path of the built in click-once installer for XNA since it would make sure all the prerequisites would get installed like the .Net Framework and XNA redistributable. It was easy to kick off a "Publish", but it wasn't including the dynamically loaded content like textures and sound effects. The items in the standard content pipeline were fine, but the dynamically loaded files weren't even in my project so the click-once installation had no idea about them.

So, I dug through several internet posts and figured out how to include those. It took way longer than I expected it to because of several little issues. The main time waster was because by default, adding graphics and sounds to the project auto-magically crams them into the content pipeline which is slightly different than including them as-is so the deployed project wasn't working.

I had almost all the kinks worked out when I started thinking that perhaps an installer that fiddles with a judge's registry wasn't the best idea for a game jam. Luckily, the click-once path wasn't completely a waste of time since the include method also put them neatly into my release folder ready for zipping up.

Next, I wanted to make sure there weren't any weird DropBox issues, so I uploaded my file from my computer, and downloaded it to another. The "direct public link" way of sharing was blocked as a malicious file by Chrome. dry.png I think it just changed the extension from .zip to something weird, but at this point I was getting pretty frustrated.

Sharing the folder with another drop box user worked just fine and Chrome graciously allowed the download. Unzipped my in-progress game, ran it, CRASH. angry.png So, I spent a little time knocking out a simple bit of error logging since it went off into the OS ether (actually the event log that I forgot to check because of steadily building rage).

Once I got that redeployed and ran, it reported the test exception that I was throwing in my main game loop... RAGE. So after removing THAT, and redeploying, it logged an exception about an xml settings file that I hadn't included. Then it worked just fine. \o/

As frustrating as it was, I'm thrilled I decided to do this before the actual event. If these were the last few hours of the jam, it would have been ten times as frustrating and time may have even ran out on me. I still plan to have my friends try to run this test project later in the week to make sure there aren't any more gotchas. In the mean time, I'll be tweaking some generic code libraries for a few extra features and bug fixes.

If you're reading this, and you're in the game jam, you may want to get a test project running on a computer besides your own before we begin. But I won't urge you to do so since there's money on the table and you're my competition. Good luck though! smile.png

- Eck
4 likes 3 comments

Comments

Orymus3

I'm growing increasingly worried about my build deployment process and source control method for this project...

I feel like there are a thousand spider legs on me now, thanks for causing me a panic attack! :P

Seriously though, very nice thinking: better safe than sorry!

September 18, 2014 01:02 PM
Eck
Eck

What's doubly awesome is more of my friends tested it for me, and they found yet ANOTHER issue. I was registering a GamerServicesComponent for an out of the box on-screen keyboard that was a convenient way for me to implement a TextBox control. But apparently it uses an XnaLiveProxy.exe that is ONLY included in the full development tools (70 MB) install for XNA (and therefore NOT included in the redistributable libraries). It's intended for testing xbox games.

Hopefully, the success of my game won't hinge on needing a TextBox control. :) After I rip that code out, I plan to redeploy another blank project for them to test for me. I hope it's my last deployment issue. >.<

I think you'll probably be fine Orymus3. I haven't used Unity yet, but my gut tells me you'll have an easier time deploying than an ancient and dying technology like XNA. After the competition, I plan to give Unity a good hard look because of your little blurb about it in your Prologue journal. I'd just like to use all the core xna libraries I've written to do SOMETHING before throwing them all away.

Orymus3, if you want to slap together a quick unity project and have me try to run it, just let me know.

- Eck

September 18, 2014 04:02 PM
Orymus3

I think Unity will be seamless for the most part. I'm still hesitant on whether I want to format it as a web player or an actual application, I guess it will depend on the theme, and whatever amounts to the smallest amount of risk.

Also, Unity was a Godsent to me mostly because of where I'm coming from (Dart Lang). I'd assume that XNA is a bit closer to game development, so it shouldn't be as much of a difference, but still: having open source code to thousands of similar products really help and Unity's greatest strength is really its popularity.

Not sure I'll have the time to test a build before the competition starts actually (I'm doing my best to manage Real Life until then to insure I get as much time for this as possible, sadly means I can't get started on anything before then...)

September 19, 2014 03:32 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement