-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Help understanding settings for automata #1347
Comments
Hi Nathan i understand this would be time consuming, is there an amount i can pay you for it? I'm really keen to utilise automata as a key part to my server |
Automata are.. weird :) They are kind of a pet project of mine, but the first thing you should know about them is that they're not really totally controllable. There are basically two facets to them:
Automata are based on Conway's Game of Life. If you weren't aware of this then it's good to know, you can read up on it here: https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life The basic gist is that it is a "cellular automata simulation". This is a class of algorithms that work with a grid of cells, each cell follows some specific set of rules, generally based on what it sees in the cells around it. Automata in Magic are a 3-D variant of the game of Life. So each automata runs a simulation every tick using the blocks around them as cells. Air blocks are "dead" and solid blocks are "alive" for the purposes of the simulation. What this all comes down to is there are two sets of rules that each cell follows, every tick it will basically follow two paths:
From these rules we get the different shapes of each automata. The shapes emerge from the rules, there is no real way to say "I'd like it to be more solid", strictly speaking. So for instance, the Hunter uses the following rules:
This means that any living cell with 5 or more living cells around it, will continue to live. The effect here for Hunter is basically that it will create a solid sphere. Things get a little more organic than just that, especially once you start destroying blocks (cells) when attacking it, but roughly it just keeps a spherical shape. The Virus on the other hand has a more restrictive set of rules:
So here you can see that it avoids "crowding" by only surviving if there are a small number of neighbor cells. It also has separate rules for diagonal blocks (neighbors that are not directly NESW/Up/Down). The result there is that it forms roughly straight lines with spaces in between. The various specific of Automata are things I got just by experimenting with these rules and seeing what happens. There isn't really a guide nor any real rhyme or reason to it, honestly. So what I would suggest to you if you want to make a new variant is to just experiment. Pick one that's closest to what you like. Maybe remove its spell list to start with to make it easier to test. Then just play with the rules and see what happens. You may get something that dies off immediately, or you may get some cool new organic shape. It's kind of hard to say, honestly! Let me know if I can help more, it is kind of a weird system, like I said a pet project so maybe a little hard to mess with, but hopefully it's a fun process :) |
Hi Nathan many thanks for giving me all that information! Very interesting! They are a neat feature. One thing i was wondering is what the spell casting interval is, i've gathered through asking others that the cast list is a weight system, but i noticed with automata is that the interval for when it initiates casting seems very high, is there a way of adjusting this? Or is making "none:" very high i imagine the only real way of doing this. |
I think automata will try to cast on every tick, there is no separate cast interval. So yeah making "none" a large weight is the way you'd make them cast less often :) |
Hi Nathan,
Really enjoying automata now that they have been fixed. Many thanks for that! I was wondering if you could help me understand their unique settings so i can go about editing them and making my own, no one in the discord appears to know much about how to do so. I've tried finding their explanations on the reference manual and wiki's without much luck. The example spells on the elmakers sandbox site is super useful, i was wondering if you could do something similar for an automata spell like the Snake.
The text was updated successfully, but these errors were encountered: