Vie for Supremacy with World of Warships Ships
Wouldn’t it be great if you had a tool that increased your chances of winning games by letting you know which strategies to adopt? For instance, which ship should you battle in for naval supremacy? In a game like World of Warships, such information could spell the difference between winning and losing.
Fortunately, you won’t have to guess as the World of Warships Ships handles all the nitty-gritty aspects of the game so you can focus on having fun. With it, you can gain access to player stats, graphs, per ship data, and more. Let’s see what else this app has to offer. But before anything else, make sure to download the app!
(1) Tell us about yourself (name/nickname, hometown, age, occupation, favorite games that you play and what platform(s) you play)?
I’m a developer of 6 years and nickname/ign is slai47. I’m originally from Grand Rapids, MI, and am a Kotlin Android Developer working on a few contracts right now. I used to play World of Tanks and World of Warships a bunch, hence why I built apps for them. However, my current time sinks are Warframe, 7 days to die and Killing Floor 2. I used to be a console player, but I finally built my own PC and it has been glorious since then. I always have a side project but not too many games let you have an API to consume and build an app out of. Wargaming was nice enough to do all that and more.
(2) Do you work independently or in a team? If in a team, how big is it?
I’m a solo developer on most of my projects but if you want, the code for WoWS and WoT Community Assistant has been open-sourced and I’m willing to work with whoever wants to. The link to its repo is here if you want to learn. This is a bit outdated, but it teaches you the standard things you will do in the job of an Android developer such as using an API as well as threading and handling views. I even listed out what I would do if I had the time to tackle it.
(3) What inspired you to create an app specifically for this game? When did it cross your mind to create your app?
I already made an app for World of Tanks and Wargaming put up an API for World of Warships as well. I wanted to see and compare myself to my past games and the tools for most players were limited. On top of that, most of the tools there were rough on mobile. So I built it out whenever I got mad at the game. I would occasionally get so frustrated that it would inspire me to work on the app. It’s weird, but that’s me.
(4) What programming language or tool did you use to create this app? Do you have any favorite PLs or tools in particular?
Android Java and Android studio. My favorite has to be MVI which is the architecture the app was built in. It decouples the code perfectly so that it separates the concerns and reasons for each class and method. In regular terms, it buckets and puts things where they need to be or should be so it’s well-organized and not connected to each other. This way, it’s easy to expand on or change without having the whole system break down.
(5) When it comes to designing the user experience/UX of the app, what motivated you or what influences did you have?
I wanted to make it stupidly simple. But then again, try doing that with over 150+ points of data. I had to break them down and put them in similar areas without overloading the user. This didn’t help when I put data in one area but Wargaming’s website decided it should be in another! If I could go back, I would really try to separate data more so it wouldn’t be such a blob of information at times.
(6) From the developer’s and gamer’s perspective, how do you think the app affects the overall experience of the game?
The best thing is that even if you lose, you can still learn something. Could you have done more damage? Could you have pushed harder? Could you have maybe tanked more or stayed back? I found myself using this app to watch my per app stats so that I can see what changes and how I compared to the average. This really helped me notice when I was playing too aggressively or lackadaisically. It also helped me find the ships I did well in so I could play them when frustrated or if I need to grind out experience. Japanese Cruisers were my jam, even though they had some of my worst win rates, but aspects such as the highest damage, kills, and survival rates more than makeup for it.
(7) Is there any margin of error when it comes to the app’s performance and provided information?
There will always be. The app is completely on its own. It gets all its data from third parties so things change or aren’t updated. For a while last year, the app didn’t have anything updated on the average statistics and ships wasn’t showing up or being added into the players’ overall stats. I had to build out a new system to keep it updated or the app was dead! A similar fate happened to World of Tanks Community Assistant but that was around a long time. I fixed it but it won’t be much longer until another API goes down and it’s done for. Performance-wise, the app I think does pretty well for the amount of information and graphs on it.
(8) What were your biggest challenges for this project? How did you overcome them?
The data! Saving a player’s entire profile is around 2.25mb uncompressed. Saving over 10 to 20 of these takes up a good amount of space and Android will clean that for you if you get too big. I wanted it to keep it small. I had to build out a layer of code to compress the player and ship objects down to prevent using too much file space. This turned into changing a “max_damage” variable to md or something close. But it shrunk it down to a responsible 1.4mb, which after doing all this work most phones started having more than 16gb on them so it really was for nothing!
(9) Are you expecting the game’s expansions to change your app’s dynamics and performance? Is it something that you’ve already prepared to tackle?
The app is in a re-factory/status time right now. I don’t play the game anymore, so I have a tough time working on it and the player base is shrinking so I don’t think it’s worth it. My stats show the app is holding strong but isn’t growing much. I would love to go back and tackle some of the code base with new libraries and strategies I’ve learned but I’m not sure if it’s worth it.
(10) Are there any exciting new developments for your app that you would care to share?
It has been open sourced, so if you want to learn or even take over the project, have at it. I will help where I can.
(11) Could you share a few quick tips to new players of the game?
Nope. Go ask Mejash, Flamu, NoZoupForYou, Ohjeezums or Notser for help.
(12) Any advice you’d like to share to aspiring game app or web developers?
Do what you find fun and it doesn’t need to be some masterpiece of your art. It just has to be yours. Make it happen and get it into the players’ hands. As much as you are the developer, it’s the users that really push the rudder. They can be your greatest assets in your work.
Good Things Come Out of Bad Situations
Good things are sometimes born out of frustration. Sometimes, it can be a catalyst for change. Though slai47 may have gotten mad at World of Warships at certain times, his overall love for the game compelled him to make a game-changing app like World of Warships Ships. Make sure to do yourself a favor and check it out.