Sunday, May 12, 2013

Quick update on ML Bot for Magic Online v4

Time has come to share some thoughts about ML Bot for Magic Online v4.

We started the development in September 2012. I remember that the Magic Online v4 client was horrible, slow and crashing every 10 minutes. The situation now is much better and the MTGO v4 client is "usable" - we managed to build a reliable bot on.

In general I am satisfied with the work done so far: the new bot is stable, better coded, smaller and faster than the current one (the one for v3).

We are now in a position where the bottleneck is the Magic Online client. Just to give an example, the new bot is able to read 25 cards from the "You Give" column in 200 ms. 200 ms means "real time" (it's 5x faster than the current bot) - as soon as the customer picks a card, the bot quotes. But...... if you try to input text in the chat, 99% of the times Magic Online v4 freezes. You can prevent this by breaking the text in small chunks.
In a nutshell, you can read the cards in 200 ms, but then have to wait 1 second for the chat to actually send the messages. At the opposite, v3 chat supports heavy text without any problem. I guess time will fix this and similar issues.

The new bot is also better coded. Having good code under the hood means that the software is easier to debug, it's easier to add new features, easier to deploy and adjust.... it's more or less the same difference we had between the old website and the new one (the one we released on February / March).

What I expect for the future? On July ML Bot for Mtgo v4 will be a good product. With the months, it will become an excellent product and will greatly exceeded the current version.



  1. maybe incorporate the whole "type sell to sell your cards, "type trade to trade" etc, all into a single message etc.

  2. Sigh, already tried. I tried a ton of ways to efficiently input text in the chat... but the bottleneck is still there. Everything started one month ago when wotc released the chat with 'variable space' in the bottom part. If you input more than one line of text, the bottom space grows and all the upper part has to be rendered again