Smite Damage Calculator: Winning By the Numbers
Imagine having an app that could tell you if a particular course of action can or cannot yield your desired results? One that could make you privy of all possible outcomes so you adjust your strategy accordingly! Well, you won’t need to imagine because the Smite Damage Calculator does exactly that.
Created by a teenage prodigy named Dylan, it does the tedious numbers game and lets you know if you can kill an enemy before you even attack. Let’s get to know more about this app and its intuitive creator.
(1) Tell us about yourself (name/nickname, hometown, age, occupation, favorite games that you play and what platform(s) you play)?
Hi. My name is Dylan. I’m from Argentina and I’m 17. I used a lot of nicknames in video games, but I’m currently using “Helio” (derived from the element), usually with an added number like 6 or 7. I’m studying in a technical college here in Rosario, Santa Fe. I only play in PC and I was never a big fan of MOBA games, mostly because I had bad ideas and stereotypes about the persons that play them. I didn’t even give them an opportunity because I couldn’t play something that everyone else was playing already—I couldn’t “follow the flock”. Those are the kind of stupid things you can have in your head if you are in that “cocky and edgy teenager” stage like I was. But one day (thanks to a friend) I tried Smite, and I fell in love with the game. The idea of controlling a “real” mythological god and fight against other gods was interesting. You can compare what you see in the game with the versions you saw in another videogame (God of War for example) or what you heard in school or what you read in some site. You also get familiarized with mythology, in a funny way.
My favorite thing to do in the game is chain other gods such as Ares and melt them slowly with fire, seeing how they can’t do anything to escape their imminent death. Yep, my mental sanity is fine. I also play some single-player games so I won’t rage for being destroyed by another human player. Civilization 3, Caesar 3, FTL, Don’t Starve. All of them are turn-based (or have an easy pause button) and old because my mind and my computer aren’t exactly the sharpest (as you can see, you don’t need to be a genius or have a lot of resources to code anything).
(2) Do you work independently or in a team? If in a team, how big is it?
I coded this little app alone. But I’d like to work in a team as everything would be easier.
(3) What inspired you to create an app specifically for this game? When did it cross your mind to create your app?
Well, this game is pure numbers. Numbers everywhere! The items you can buy, the damage your abilities can inflict, the health and protection of your enemies, the statistics of the characters, all are numbers! All the calculations behind any mechanic are well known for the community. You could know EXACTLY what will happen before you attack an enemy. You could know if you will kill him, and therefore you could know if it’s a good idea to attack him. But you would need to do a lot of, not difficult, but tedious mathematical calculations. And this is a real-time gam, so you won’t have enough time to take a calculator and put pen to paper just to calculate possible outcomes in every one of the situations you encounter. If you only had to press a few buttons to make all the math instead, maybe you could have a certain legal advantage over your opponent (you would be using the mathematical formulas used and provided for the game itself, so it wouldn’t be illegal). With an application running on a mobile phone while you are playing, you could do this. In the beginning, I thought of doing this just for my own fun, putting in the App the data for my favorite characters. Later on, I wanted to add all the playable gods and make a real Play Store App. Maybe it could be useful for other players… and then my hell began!
(4) What programming language or tool did you use to create this app? Do you have any favorite PLs or tools in particular?
I coded the app with Python, using a free library called Kivy. Then I compiled the app with Buildozer, using a Linux virtual machine. Those are the main pillars of the process. I know that there are better options to create and keep an Android app, with Java and its monster Android Studio being the most popular. Actually, I tried using it. But my computer is garbage (Thank God I can play Smite) and the program worked too slowly for me. So, I returned to Kivy, that literally only required 2 opened windows in a very simple development environment program. You can find it as IDLE. For a simple project like this, Kivy worked very well for me, and I’m sure that there are a lot of functionalities that I have yet to use.
(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 design something you could use in the middle of a game. Taking into account that a Smite game can be fast and frenetic like any other MOBA, I tried to make the calculation screen as intuitive and simple as possible. Also, I had zero experience designing interfaces, so I tried my best keeping what I said in mind.
(6) From the developer’s and gamer’s perspective, how do you think the app affects the overall experience of the game?
It’s completely useless. I started with an idea, but then I wanted to add more and more too complex functionalities, like an “Items” Tab where you can choose the items you will buy in the game. It could seem interesting and useful, but it wasn’t in the practice. It’s a slow part in the app. It moved the project away from the initial reason to be of the app: be used in the middle of a game. And it was more difficult to code than I thought it could be. A lot of times, I wanted to just delete all my work and abandon the project out of frustration. It wasn’t a fun hobby anymore.
But there it is in the Play Store! I learned a lot of programming with it, and it could be useful for someone else, I don’t know. I stopped trying to update it when I realized the bad cost-benefit relation it had. Maybe I’ll return to it in the future—if the game stills alive, of course! For now, I’m working on a related project of the same game with a more focused objective. But curiously, I’m starting to have the same problems.
(7) Is there any margin of error when it comes to the app’s performance and provided information?
Yes, the calculation isn’t totally perfect if you are very strict. I guess it’s common sense, you won’t try to get 100% fidelity if that will cost you a lot of time and work, and if you aren’t sure about the app achieving certain success in the future. I asked myself a lot of times: “Will someone notice this? Should I spend all this effort in these little and maybe insignificant details?” I had to find the balance between accuracy and my comfort and happiness while I was working.
(8) What were your biggest challenges for this project? How did you overcome them?
The fact that I was using rather unpopular tools to do the job! I haven’t had problems finding information about Python. The Kivy libraries used to create the interface are less known, and you can find less about them, but it wasn’t a problem either. The real problem was converting your finally-coded app into the .apk file. The programs I used were a bit outdated, and a lot of things in the guides simply didn’t work. Some errors with the compiler kept me stuck for a week or two. But well, I don’t remember how the hell I finally fixed them, to be honest. I came to a moment where I just wanted to finish it and go ahead.
(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?
Yes, I know the game is changing constantly and I prepared myself a bit for that. For example, all the gods’ stats (maximum health, maximum protections, damage of their abilities, etc.) and items stats (power, cost, protections granted, etc.) are registered in an .xml file. So if some of those things change in the game (I think it happens every month), I just have to edit the corresponding file. But other changes like the addition of a new god, a new item, and changes involving how a particular ability works, you can’t just edit a number. It requires more work—sometimes too much work if you are alone.
(10) Are there any exciting new developments for your app that you would care to share?
Yes, I’m excited with a new App. There are certain gods in the game that, if you play them in the correct way and under the right circumstances (Loki, Ymir, Kumbhakarna), allow you to instantly kill a “squishy” god (“squishy” = with little to no defense) without them even being able to react. The abilities combos used are also easy and fast, so this strategy it’s just better. The problem is that these attempts to kill your enemies are a certain kind of kamikazes. So if you attack and you don’t kill your target, you will be the killed because you are a squishy too (buying a lot of attack to being able to instantly kill someone = buying no defense to stop being instantly killed), and these easy combos are generally melee so you put yourself in a very bad position. That could happen because you attacked before time, you thought you had enough damage, but you haven’t. So, this app will tell you exactly when to attack. That’s basically the new project. It could sound the same as before, but I’ll be more smite-focused in this and I think that the final tool will be cleaner and polished.
(11) Could you share a few quick tips to new players of the game?
Don’t use this app and learn to play like a normal person. I started to code this because I was bad at playing, so I don’t have any special advice about the game that you couldn’t already find on another site. Well, except for this: play Ares. Real men play Ares!
(12) Any advice you’d like to share to aspiring game app or web developers?
Start with little and simple apps. Don’t add overly complex, ambitious, and maybe unnecessary things to it because you will get tired soon. Keep in mind that you won’t really be satisfied until you see your app finished. If it’s big and complex, it will take you more time and maybe you could abandon the project before even finishing it. Even if you put all your blood and sweat in the app, the final result might not be what you expected and you would feel a bit frustrated. Perhaps I’m exaggerating, but what I want to say is: exactly what you want, what your users could need, and don’t move your north point from there. You’ll have time for improve it, add new things or start again with another project, who knows! Just do something, don’t let that idea die in your mind. After all, you’ll learn a lot about programming even if the app doesn’t achieve that success you wanted.
Smite Thy Enemies with the Damage Calculator
Smite lets players take on the role of all-powerful mythological characters in straight up MOBA fashion. With such a dynamic gameplay at your disposal, you’re sure to need all the help you can get to wield god-like power in your hands. The Smite Damage Calculator takes all the guesswork out of the equation, leaving you with clear cut options to choose from.
As Dylan attests, you don’t have to be a genius or even have a lot of resources to create something worthwhile. With hard work and determination, you can achieve practically anything. Be sure to download the app here before embarking on your journey as one of 51 available gods in the game.