Guys, 256 Bytes is more than enough to store complex artificial intelligence. This is because Amiibos are Genetic Algorithms. If you know about genetic algorithms, forgive me, because I'm
way oversimplifying things here.
Genetic Algorithms are, effectively, a program that runs once, manipulates a few values, then runs again with the new values. Basically, things are given "weight", which is used to mathematically determine the course of action. If the A.I. runs and something doesn't work, it's weight goes down. If it does work, it's weight goes up.
Here is an example genetic algorithm. Cars are randomly generated and run a track. Future generations will be more like the cars that get further, meaning the code "evolves", just as life does, by passing on its "genes", or, in this case, weight.
An Amiibo doesn't need to store it's moveset, or any calculations,
it just needs to store it's genes. The A.I. is
already on the disc, but the values passed to it are given to the Amiibo.
Now, for a bit of math. A floating point number is 4 bytes long. A single precision floating point number can store a number between 1.175494351 * 10^-38 and 3.40282347 * 10^+38. This isn't an even distribution, as you start to lose some precision for very small and very high numbers, but what it comes down to is, a single gene can have 18,437,736,874,454,810,623 different values. Our Amiibo can hold 64 of these floating point numbers, meaning that the total number of distinct behaviors an Amiibo can have is 1.1800152 * 10^21. That's 1,180,015,200,000,000,000,000. That's
One point one-eight sextillion different Amiibos. That's roughly equivalent to
the number of stars in the observable universe.
You can do
a lot with 256 Bytes.