A few people have shown some interest in some upcoming enhancements to the launcher. The launcher serves as both as a tool for updates and information and as the first impression new players get to MB2 it is therefore important that the launcher gives a clean and seamless experience. In its current state, the launcher is not fulfilling our needs or the needs of you guys as our player base. So today I am going to show you some of the improvements and bug fixes which will be coming soon, as well as some longer ambitions and new features that we hope will appear in the not too distant future. This is mostly centred around the installation and patching part of the launcher rather than new features. The aim was to first fix the major deficiencies of the launcher to give us a good platform to build on.
Today, the launcher is downloaded as an executable, the installation instructions aren't great, but there's not a lot to say. The download page does state it should be placed in the "GameData" folder but that's not strictly true, but is the easiest way although it doesn't help new players a lot. For non-Windows users, the extra step of downloading the mono framework and using a terminal window to run the binary through the framework is required. Bugs are not unheard of at this stage.
- Poor installation instructions.
- If you've only just picked Jedi Academy up, how are you expected to know what "GameData" is?
- If you're a Mac user, the mono framework may well be unfamiliar to you.
- The infamous "Not enough disk space" bug.
The new version will query the registry for Jedi Academy's install location on Windows systems in order to automatically offer an installation location for the mod if it is not installed to the correct place. This only helps out Windows users, but that is by far the greatest portion of the player base.
The insufficient disk space bug was likely caused by attempting to install the mod on removable or remote media. The bug itself should be fixed, but since this is an impossible bug to verify as fixed, the prompt will be override-able by the user.
In The Future
Hopefully further down the road, the file will be packaged using a platform-correct installer. For instance, the Windows version could be downloaded as an MSI package and provide a familiar installation (and uninstallation) interface which we can use to make the process smoother for new players.
For non-Windows users we will be investigating the mono framework ability to be able to internalise itself into the application. The result would be that non-Windows players would not be required to go away and get the mono framework, as it would work straight from the first download.
The way that patching works today in principle isn't bad. There are some limitations but they are for us as a team rather than for you guys as players. The main problem from a player’s perspective has been that it isn't very error redundant. When that clumsy Gungan trips over the power cable to your computer and you're suddenly left looking at a black screen and have to reboot and reload the launcher the update process doesn't pick up on the corrupt file that you didn't finish downloading when power was lost. Before you know it the rest of the files have downloaded and you eagerly hit launch to enjoy the wonderful MB2 goodness, only to be met with weird bugs, or missing textures, or unexplained crashes. In other ways the patching is too complete. If you've saved a new default configuration for any of the classes, launcher will detect the file needs patching and overwrite it. Finally, if we want to update a 2KB JPEG in a 600MB pk3, you'll find yourself downloading all 600MB.
- Patching fails if you sneeze in the patchers general direction
- Files that shouldn’t be overwritten frequently get overwritten
- Massive file downloads for small asset changes
- Low player confidence in the patching process
The patcher has been completely rewritten with the main aim of being very error tolerant. The new patcher will maintain a local cache of the state of all the MB2 assets, each time you load launcher this cache will be compared to a master list on the update server. If the cache differs from what the server says the file should be, then the file will be redownloaded. The cache will only be updated by launcher during patching, and a file will only be written to the cache once it has been entirely written to disk and it has been verified. The file won't then be checked again until the server is updated or a repair is requested. The net result of this is that error redundancy is provided for incomplete and corrupted downloads without requiring a complete scan. Hopefully this will restore confidence in the automatic updates. Additionally, the patcher will act intelligently with MB2 assets. It will know that it shouldn't overwrite any configuration files, but provide the defaults if they don't exist.
In The Future
I would like to add file level patching in the future. Since PK3s are very easily opened and modified we would be able to cut down on download sizes, times and bandwidth contention by patching files rather than whole PK3s.
We went through the whole support section and looked at everything that had given someone trouble with the current launcher - no matter how small. We really wanted to make the launcher as smooth as possible. Somethings were inevitably beyond our control, but this is our initial list:
- Not enough free space bug
- Launcher occasionally won't allow the engine to be changed
- Launcher and MBII don't talk to each other properly resulting in kicks due to launcher not being detected as running.
- Launcher does not work if you are not running as an administrator
- Launcher occasionally loads into BaseJA for some configurations
- Version detection does not seem reliable
- Launcher can hang around with no UI resulting in a need to be killed from task manager
I'm pleased to say that, with the exception of requiring administrator privileges, everything that was identified has been addressed in some way, although they might not be complete fixes in some cases everything should be a lot smoother in the future. Players will be able to ignore the message about not having enough disk space if the error occurs at all now. The engine not being changeable was linked to incorrectly detecting if JKA was the steam version, we've added some code to properly synchronise the engine with launcher which should eliminate anti-cheat false positives, the patcher has been completely rewritten with reliability and redundancy as top priority, and if you minimise launcher, you will now actually be able to restore it.
Looking to the future
There are a few new features that we would like to add to launcher in the not too distant future:
- The ability to run Open Beta's integrated into launcher
- A server browser so you can hop straight into the action without loading up the game first or relying on external websites and applications
- Default binds for new players
There are of course some other features which are often requested that we are keeping in mind, but these are not even at the design stage yet. As ever we would like to hear your feedback on anything we can do to improve the launcher. We know it can be a sticking point and the last thing we want is to scare new players off before they even load up. The feedback we get here is invaluable for that.