Hi there,
First of all, I was Mister Epic back when I was a publisher, and I had a name change not so long ago. However, I thought I would be back with an actual Magnetica TAS. The thing is that I have other projects to work on, and I don't have time to touch that TAS project again.
The goal was to use LUA to create a tool-assisted playaround that read some memory addresses so the TASer could literally decide every marble color that came into the canon! Sure, it's as long as it doesn't break the boundaries of what the game lets the TASer use.
I'm pretty sure this idea alone can make a TAS that is a contender for the "luckiest TAS of the year" award.
I would like to see such a TAS happen, and sadly, as I said, I won't have the time to do it. That's why I've shared everything relevant I could find about the game, so anyone else can take them and actually come up with a TAS!
First of all, I will explain the game basics.
I found some screenshots to give you an idea of how the game looks like.
The game functions a lot like the PopCap game called Zuma. The goal is to flick your stylus from the canon to anywhere else so you can launch marbles to a lane filled with other marbles. If you can match at least three marbles that way, they destroy, and you score some points. If there's a gap in a lane, it might go through two different ways. If the gap is surrounded by two marbles which colors are different, nothing will happen. However, if those marbles have the same color, they will attract together and possibly break, which can create chain combos, and more points!
Alright, that were the basics of Magnetica. I will now explain the trick behind luck manipulation, without any tool-assisted shenanigans.
You probably have guessed that when you shoot a marble from the canon, a random one spawns right in the queue. If you shoot the marble and then tap the canon while the marble is being shot, you can notice the marble in the canon will rumble. That's not even the weirdest part, and I'll get to it right now. If you do that, not only the marble will rumble, but... a new random marble appears! That's right, if you do the same exact shooting, but tap in the canon in-between the shooting and the spawning, you get different marbles! It also depends on the frame on which you tap the canon!
So yeah, that's where I got the idea of making a tool-assisted playaround that exploited that part of the game's code, so I could decide everything about the canon's queue.
I went pretty far in LUA scripting. Like, I was at the point of making macros to make TASing easier. I've already found almost all, if not all, relevant memory addresses. Here they are.
Data Type : Signed
Data Size : 4 bytes
0224389C (35928220) = Marble 1's color
022438A0 (35928224) = Marble 2's color
These two are the most important. However, they can be tricky as well, since sometimes, they swap! You will have to manage that in your LUA script. Here are the values taken by these addresses.
0 = Red
1 = Blue
2 = Green
3 = Yellow
4 = Light Blue
5 = Purple
6 = White
7 = Black
10 = Detonator (special marble that eliminates all other marbles of a specific color)
I have also found some more addresses that can be useful.
022438F0 (35928304) = Amount of marbles that were spawned in the canon
0223AE50 (35892816) = Total frames since the canon was unlocked at game start
The first one can help you find out when a new marble has been spawned. The second one can tell you when the game actually started.
The following addresses aren't important to achieve this TAS, but can be used for display convenience. Say, you want to only see the bottom screen, without missing some information, you can do that as well.
0223AE08 (35892744) = Score
0223AE18 (35892760) = Level
0223AE20 (35892768) = Max Chain
So yeah, that's pretty much what I found. Reading those memory addresses can help you create the TAS I wanted to make!
Also, here's the LUA script I was working on. It's incomplete and messy (it was also my first time with LUA), but maybe you can find some cool stuff for your TAS in it.
http://pastebin.com/Xx9H50jT
So yeah, that's pretty much it. I hope some of you guys can create an awesome Magnetica TAS with that information!