[WIP] Release Manager. (Installer, Patcher, Launcher)

edited in Projects
We started release manager for the distribution and management of our game Battle Arena Drones.

High level feature list:

Launcher
WYSIWYG Designer
HTML panels (supports html 3.2)
Unity settings (before executing to replace the unity launcher dialog).
Patching (as small as possible).
Ability to shutdown the game when we in maintenance.
The updater does not require administrator rights to update the application.
Native launcher that does not require additional software to work.
Promo image that can be changed online.
Small installer (that will download the full latest version)
A way to update the launcher layout and design online and not require a re-installation of the software.
On start up checks all files to see if there was tampering or corruption, downloads a fix if a file is corrupted.

Manager
A graphical interface showing the current release and available versions.
A diff compiler that creates as small as possible updates. (our updates dropped from an average of 60mb to 1mb)
An instillation compiler that creates the initial installation for each platform.
A convenient and safe way to upload the release and take them live.

Unity
A small prefab that synchronizes the in game unity settings with the launchers settings.
Fixes the issue of fullscreen/windowed mode command line interface not working.

This is the launcher in action downloading the current full version of our game.
image

Unity settings currently supported
image

Manager
This is where new release are added, compiled and made live. Also from here you can upload the release to your online hosting.
image

Uploader
Here you configure your FTP and the corresponding URL that the launcher will use to download details. There is a test feature that enables you to quickly test the configuration and lets you know what step is not working. (credentials have been obscured for obvious reasons)
image

Designer
This is where you design the launcher, the launcher is online but cached on the clients machine. New version can be uploaded and the client will get the new details.
image

Packager
This is where you create installations for your game. It uses WIX on windows and you will need to download WIX and install it for the packager to work. There is also the option of creating a raw package and doing your own installation.
image

Really small patches
To show how small patches can be here is a comparison for Battle Arena Drones using a standard file diff and the advanced diff that is part of Release Manager

Standard File Diff:
These are the file sizes from a straight file compare kb per kb replacing all that have changed.
0.0.6 55,445 kb
0.0.7 55,359 kb
0.0.9 64,612 kb
0.0.9a 1,205 kb

Advanced File Diff (using Release Manager):
These are from the Release Manager using a more sophisticated file compare function.
0.0.6 922 kb
0.0.7 276 kb
0.0.9 2,774 kb
0.0.9a 7 kb

Looking for feedback and feature ideas.
launcher.jpg
1100 x 700 - 441K
unitysettings.jpg
1096 x 696 - 450K
project.jpg
1920 x 1040 - 317K
upload.jpg
1920 x 1040 - 604K
package.jpg
1920 x 1040 - 642K
design.jpg
1920 x 1040 - 1M
Thanked by 2Fengol mattbenic

Comments

  • Is this Java or .NET?
    Thanked by 1tbulford
  • Its a native executable does not require either Java or .net
    Thanked by 1Fengol
  • Very impressive! Did you leverage existing stuff to help build it? Building a WYSIWYG editor is a lot of work!
    Thanked by 1tbulford
  • Nope it was build from the ground up. Editor was not in fact the most work. Its all the intricate bits that just take so much time to do. Especially when you testing upload and downloading stuff.
  • edited
    Nice man! That's crazy loads of work right there. Never mind the Diffing patcher and downloader, packager, etc.
    Thanked by 1tbulford
  • Nitrogen said:
    Nice man! That's crazy loads of work right there. Never mind the Diffing patcher and downloader, packager, etc.
    Patching and updating is the heart of the solution but since Unity's game launcher where you can configure your game looks like %#$*. The launcher needed be be build as something nicer. Medium term plan is to reuse a lot of the design tools for Parley's dialog engine designer. I know Unity has one already but Parley is not really unity only.
  • Is this a thing other people ( aka me ) can use yet? Looking for options on Cadence.
  • Is this a thing other people ( aka me ) can use yet? Looking for options on Cadence.
    If you don't mind been a tester and giving me as much feedback about ease of use and so on, then certainly. Its still not as User friendly as I would like since there are some concepts that are a little difficult to communicate. Wiki still needs a lot of work.
Sign In or Register to comment.