When a man says he will do something he will do it. No need to remind him every six months! My StarCraft II info app for Windows Phone has finally been released. It was supposed to be released in 2012 but... I had more important things to do, OK? Stop judging! As Steve Jobs supposedly said – Great artists ship. Am I not a great artist? Surely I must be. After all I shipped.
If you have a Windows Phone 8.1 or Windows 10 Mobile device you can download
SC2 Master from the Windows Store. If you do not have one of these hard to come by elegant phones from more civilized times you can at least look at the screenshots.
What Is SC2 Master
The app contains information about units and buildings statistics. You can see some lore info, build time, cost, damage, researches, damage per second, different damage bonuses, etc. All this is presented in the pretty old-school Metro UI (as opposed to the new, boring layout Microsoft try to push for Windows 10 apps). The info for units is not that different from the one you can find on Liquipedia. Speaking of Liquipedia every unit or building has links to the corresponding pages on both the Liquipedia and the Battle.net. If you want more detailed info or you think there is a mistake you can always cross-reference. By the way the Battle.net info is out of date. Seems like they did not update it for the clock changes in LotV.
The Terran unit list screenThe Unit screen General tab. At the botton are the Battle.net and Liquipedia links for the unitThe unit screen Production tabThe unit screen Research tabThe unit screen Combat tab. It uses the Liquipedia notation (x2) means two hits with each attack, (+1) means +1 damage increase per standard upgrade The app also has a built-in update mechanism so hopefully when Blizzard releases an update I can update the info immediately without need to go through the store publishing process.
How Was SC2 Master Built
Back in the day I was checking what apps related to StarCraft II could be found in the Windows Store. It turned out that those that were available had out of date info. So I wanted to create an app that would have an update mechanism for the game data so updating it for new patches would not have to go through publishing a new version. Additionally I had this idea to create a 1 vs 1 battle simulator. Say you want to know what happens if a Zealot fights a Zergling. You select one then the other and it turns out that the Zealot kills the ling in 3 hits. Then you check what happens if you add 1 attack upgrade and see that the Zealot kills the Zergling with 2 hits. Then you know upgrading Zealots with just 1 attack against Zerglings is a very good idea. Of course this is common knowledge but probably players can discover more of these dependencies if they could easily experiment with the results. In order to build this I needed not only data for display (like the one on Liquipedia) but an actual programming model to represent the units in the game. And so I started building one. I even switched my full time job for a part time one to have time to work with C# and XAML rather than boring enterprise Web projects. However it turned out that SC2 was a complex game and there are a lot of characteristics for units that need to be described and modeled. The work was tedious. I built the model and hardcoded the Terran info. In hindsight I should have generated the model from game data but at the time I did not think SC2 contained THAT much info. It seemed like building a generator would take more time than just writing the info myself. HotS was released with a lot of changes so I had to rework the info that I already had because of all the changes. This killed my enthusiasm. There would be more setbacks that required rework like Microsoft changing things between Windows Phone 7 and 8 and the release of LotV. I managed to finish the app with the help of my friends Ivelina Georgieva, Peter Tonchev and Vasil Vladimirov. The app logo was created by Milena Ivanova. Without them the app would never be finished. Currently the app does not have the feature that required the OOP model I built but the model is there and while it is not perfect I am quite happy with it. Also let me tell you that building a UI for end users always takes the longest for any kind of app compared to other parts of the development process.
The Future
Here is my roadmap for the app
1. Keep the app updated with the latest info. Fix info mistakes.
2. Fix small issues like missing pictures and minor bugs.
3. Build the battle simulator feature.
4. Migrate to Universal Windows Platform. I am not sure the app will get a Windows Desktop release because of the differences between mobile and desktop UI but the development improvements for UWP are significant. Statically typed binding and live editing of XAML will make development much easier. (3 and 4 may be done in reverse order)
5. Port to other platforms like Android and iOS with Xamarin.
Of course considering the current pace of development the roadmap will probably never be executed but at least I have a plan. Nevertheless I am really proud that I managed to ship (with a little help from my friends). Most developers probably know how hard it is to actually ship a side project and do these 20% of final work that take up 80% of the time.
So if you have a Windows Phone go to the store, download the app, write a review and send me feedback.