The story behind MTGA Assistant
By: andreliverod - 02 Jul 2020
As many of you know, our extension MTGA Assistant is not a native Windows app, but is instead built on the Overwolf Software Platform. In this article, I will talk a bit about how the app was built and why we chose to join the Wolf Pack.
To understand the why, we have to talk about all the challenges that come with building an extension as a Windows app:
- You need to be proficient in languages like C++, C#, or Python, and knowing how to code a Windows application from scratch.
- Design a good User Interface in your application
- Writing the code and managing an update system, unless you want users to download and reinstall the application every time.
- Keeping up to date with changes in the Operation system.
- Knowing how to inject your application into a game like MTGA Arena (Some extensions solve this by running a standalone app)
- Unless you want your users to get warnings about running unsigned applications when you start the app you need to buy a certificate for your Windows app.
- Then comes the question, can you monetize the app and how do you go by doing that? Premium functionality? Or maybe you just use your app to drive traffic to the website that has ads?
- Maintaining a support infrastructure for all of this
As you can see there are several issues when it comes to making a native Windows app, for us, starting on this venture was completely out of the question. With all the work on AetherHub we put in, there was no way to even start considering doing this as there would not only be a lot of work, but also a lot to learn. While the backend of AetherHub is built with C#, building a Windows app is something different than working on the backend of the webserver.
Making Windows software is not easy
Joining the Wolf Pack
Overwolf reached us to us in 2019 and I was a bit skeptical to it all since I was so busy keeping up with things I wanted to make for AetherHub and in my mind, the train had long left. Magnus, however, was sold on the idea. I decided to not pay much attention to it and let him do all the communication and explore that pathway while I focused on AetherHub.
In a couple of months he mocked together a little app test that embedded some small windows into MTGA, it did not do much but I was still a bit shocked that it went that smoothly and that's when I started paying more attention to what Overwolf actually can do. They address all the points in the above section and makes it super easy to make a game extension, they specialize in being an application layer between the game and developers:
- User Interface is just a webpage, Overwolf puts over the game or runs as a native desktop app.
- They handle all the updates of your app, all we do when updating is to zip the files and ship them.
- Overwolf runs its own Windows app that can contain multiple game extensions, no worries about keeping up to date with the OS, no need to buy any app certificates.
- It can detect when a game launches and then starts the appropriate game extension.
- They help you monetize with ads or premium functions. Since the whole app is just a webpage you can embed regular google ads into the app.
- Overwolf has a large support team that handles errors and work closely with us when there are problems, and there is also a community of devs in their Slack channel.
I realized that this is huge, everything would be very familiar to work with, and AetherHub was at a level where we could do minimal upkeep and focus on making an extension that leveraged one of the largest MTG content sites on the Internet. To say it was smooth sailing from there on would be a huge lie, there was of course challenges. The main one was that Overwolf needed to read the MTGA Log files and create events, which turned out to be a huge miscalculation from their side. If you look at the logs MTGA produces, even as an MTG Player and coder, your first thought will be wtf is all of this...
Reading and parsing and making an API for us was not a task they would be able to do and this put a dent in our plans, but still, we really wanted to make MTGA Assistant happen so we pushed on. We found a log parser we could use that was written in C# and with this we had access to the log file, and now we had to write our own custom parser for the events and with this, we had everything we needed.
In hindsight, making our own log parser was a good thing anyway as having to rely on Overwolf to code every small little thing we required would take a lot of time and a lot of explanation. Not only that but with the pace at which Wizards does changes to the log it would be impossible to make changes at the speed we can today.
We are very grateful for Overwolf, that have given us the chance to make an amazing app for MTG Arena. We would never have been able to do this if it wasn't for them! We know that a lot of people do have another view of Overwolf than we have, so I wanted to delve a little into this to clarify our view on the case.
The big bad Wolf
Unknown to me there is a bit of controversy around Overwolf, mostly from the earlier days of the company. What I know is the awesome people I have worked with for almost a year now. But I have heard several complaints about their apps and way they do things on Reddit during the time we launched MTGA Assistant, and have been in several calls about this with their marketing team and their CEO Uri Marchand. The next section will be in a complaint/answer format to address the complaints I have gotten about Overwolf personally on Reddit, they have not been about MTGA Assistant but about Overwolf and other extensions.
Overwolf is bloated and bundles crappy software that is impossible to uninstall.
In my talk with Uri, I learned that Overwolf started out with making game extensions and have evolved several times since that, in 2011 we started to see what Overwolf is today with their launch of social overlays for games. They did establish several partnerships with other companies and tried to grow, and did in fact bundle software with their app originally before it was the software platform it was today. Partners like TeamSpeak was part of the bundle and their methods for handling the uninstallation was messy early on.
In my time of developing with Overwolf I have uninstalled and reinstalled a dozen times to test different scenarios with the app, while I have no issues now I do understand that the old Overwolf is probably not the company they are today. Seeing as they are a big software company that recently acquired CurseForge from Twitch, the level of professionalism I see today is not what they were back then as a small dev team trying to have the ends meet. Unfortunately, this is what several users will remember them as.
I monitored Overwolf and it ran all kinds of scans on my registry and system.
Yes, it does, while not surprising to me I kind of understand where this is coming from. Nobody likes software that crawls through your system registry. But as a Software Platform, like the App store on your phone, it needs to find all your the games installed that are supported. It has to know when said games launch to run the appropriate extension and also look at which directory they are installed. This makes it possible for us to read both log files and other system files we use for MTG Arena data.
It contacts suspicious servers on the Internet
While I am not sure what differentiates a suspicious IP address from non-suspicious one but this is a necessity both for updates, checking statuses, and displaying ads which are normal google ads located on ad-networks. I think the user claiming this noticed that an IP address was located at Tel-Aviv in Israel which is where Overwolf has their headquarters.
They are selling your data, please read the fine print. If you are not paying for the product, you are the product.
I think this one is the one I heard most often, and I find it the most obnoxious and annoying to address since it is in a kind of way true. You are as much of a product when using MTGA Assistant as when you browse AetherHub.com. We make the extension completely for free but in exchange, we serve a couple of ads at strategically places when you run the extension. When I say strategically I do not mean by smearing it into your face, I refer to placing it in non-intrusive places.
There are so many ads in Overwolf!
This I 100% believe, but this is not up to Overwolf, this is a decision the app developers make. Overwolf does not force you to monetize, you can make an app completely free of ads or you can show the user an ad every 60 seconds. Well, at least you could, today they have way stricter quality control than they had in the earlier years so this would probably not pass. But you can still embed more ads than most of us would find acceptable.
I was banned from Counter-Strike for using their extension
Speaking about the quality control from the last question, yeah this was actually an issue. You give developers access to making apps, they can in some games make exploits. As we did with MTG Arena, you can make your own parsers that can read game files and make exploits. They have taken a lot of hits from developers doing things like this on purpose and also making mistakes that have caused users computers to run at 100% CPU because of silly loops. What Overwolf has today is a very strict quality control team that ensures that the developers follow the rules and avoids mistakes like this.
The software uses a lot of resources
Again this comes a bit back to quality control of the apps that now is a lot better, and also improvements Overwolf have done over the years to their client. It also has to do with how intense the different games are and what has to be done to detect events. In MTGA Assistant's case, I think we are doing pretty well. But there is always room for improvements and I still think there are several tweaks to be done. Nothing will ever be perfect, but I can say that in my case and the users we have used for testing that it does not use a lot of resources.
Overwolf crashes often I had to uninstall
This can be several things, it can be the apps fault and code that has errors. In our case, a lot of things have stopped working due to MTG Arena devs pushing updates that have completely changed the log, file structure, or other things in the system that causes either the extension of the Overwolf client to crash. Sometimes it can also crash the game, we had this issue earlier with an update that made MTG Arena crash for some users. It is at these times I am very glad that we have the ability to auto-update when we need to change things and if the error is at the Overwolf side it is easy for us to talk with their devs and sort things out.
This is just the beginning
I think there are very few complaints about Overwolf that I have not heard, but I do not want to open my Reddit logs and relive the experience. I think this would cover most of the issues, if you have other issues that you had found bothering, please do not write them to me but head over to the Overwolf Support team, I am sure they would want to hear you out.
So to summarize, we would never be able to make MTGA Assistant without the help of the Overwolf Software Platform! Right now we have over 20.000 installs and there are new ones every day. We still have big plans for more functions we are putting into the extension, but we are happy to say that even at the level we are at today, we are known as the most feature-rich extension out there for MTGA Arena. A big thanks to all of you guys over at Overwolf!
We like our new pack and would not have it any different
ENTER THE BATTLEFIELD PREPARED
Try out our MTGA Extension today
Founder and CEO of AetherHub.com, he likes to play with fire and also has a Twitter account he posts his stuff on. If you are interested in supporting him on Patreon you will also receive an AetherHub.com premium subscription!
"Nuts & Bolts Spike spends his energy looking within. He tries to understand his own internal flaws and works to improve them"