Zoologic Battle Competition
A core feature of Zoologic (https://www.artblocks.io/project/287) is the ability for crobes (the small creatures in the simulation) to learn and act using a neural net (NN). These networks can be exported and imported from a mint using the intelligence menu (I), and then used in other mints -- both to control behavior, but also to battle!
I'd like to have a bracketed competition (with a prize) at some point for people to battle their crobes and crown a champion. I'm still working out details on how the format and timing, but before that, I want to provide some guidance on how to train, save, and battle crobes so that people can begin training if they like. The NNs from testnet mints and mainnet mints are compatible, so training can be done pre-launch in any of the 100 test mints here: https://artist-staging.artblocks.io/project/54
What better way to prove that crobes are learning and getting better at survival, than a battle royale where the last team standing wins? The Battle button uses the networks loaded in for the "Red" and "Blue" teams to reseed the field, then lets them battle until one team is wiped out. This is repeated until one of the teams wins 5 rounds. By default, the Red and Blue teams for a mint are both initialized in the same way -- but you can load whichever NNs you want for each team.
Battling to see which NN is strongest is kind of interesting, but the winner would be largely dependent on "luck of the draw" for the integrity of the NN that comes with each mint. This is where training comes in! Users can train their crobes/NN repeatedly, saving and loading with each session. While the on-chain NN uses 3 digits of precision for each connection between neurons due to size limitations, as the NNs are trained, they are allowed up to 16 digits of precision. This means that with proper training, your crobes can become smarter than the defaults in any mint!
How to Train Crobes
1) First, you need to be sure either Neural or Neural+Control is selected in the AI menu. The Control option does not use NNs and cannot be trained. The Neural+Control setting can be useful for giving the NN-driven crobes some rational baseline competition to hone their skills. Starting with very weak NNs for the Neural setting, performance can degrade into chaos or strange behaviors (like lurking in a corner). Once the NNs become as good or better than Controls, the Neural setting (with no Control crobes) is generally the best bet.
2) Once NNs are enabled, you'll want to be sure the Learning Nets checkbox is enabled. This ensures that crobes are adjusting their NNs and learning as they capture prey. Without this, the nets will act based on their NNs, but will not learn.
From here, you have two main choices for training:
1) Just let the simulation run for a while. Ideally, you want a little higher of a Cell Count (X) so that there's some diversity in the field and one poor mutation doesn't overrun everything. You can use the comma key to disable rendering, which improves performance. Nice to get in some additional training cycles if you want to leave it running overnight.
2) Enable the Autotrain Mode checkbox. This will divide the crobes into two teams (the Red and Blue, again) and let them fight for control of the field -- similar to Battle Mode, but it doesn't keep score and runs endlessly. Furthermore, there are some key differences: learning is still enabled, and once one team is wiped out, the next round is seeded with NNs from the winning team. Works better with a smaller Cell Count so rounds happen faster -- but not too small. 20+ seems ideal, depending on the conditions of the mint.
OK, great, so you've left some crobes training all night. How do you reap the sweet, sweet rewards of that winning NN to compete with others and save the NN for future use? A couple of options here:
1) Open the intelligence menu, find the team you're interested in (or, if you've been training all night, just one of them, doesn't really matter), and copy the contents of the textbox to anywhere you choose. This is the data that drives your crobes' NN. Awesome, you can paste it back into any Zoologic mint and hit Upload Neural Net(s) to plug it into the simulation!
2) If you run Zoologic in the full-screen Generator view (i.e., not embedded in the AB site or other sites), it has access to local storage. The NNs present in the textboxes will be saved after each round of Autotraining (or when the Export button is clicked). If the window is closed, you can reopen it and use the Load button to pull your trained NN from local storage into the simulation. Pretty cool! (Note that you also need to be in Generator view for the Copy button to work -- otherwise, you'll have to copy from the textbox manually. Once it's loaded, see step 1.
How to Battle Crobes
Armed with data for some potent, field-dominating crobes, we're ready for battle! But, how does that work?
1) Choose some desired settings for battle. I'd recommend setting a Cell Count that's not too low (as results will be inconclusive/noisy), but not too large (or it may take too long for one team to dominate the field). A Cell Count of 30-40 is probably appropriate.
2) Paste a NN into each of the boxes for Red/Blue team
3) Click Upload Neural Nets to load them into the simulation
4) Click Battle!!! Battle will begin.
5) You probably want to up the framerate using [F] +  keys, so that battles can finish more quickly (unless you want to watch!)
5) Once 5 rounds have been won by one team, Battle Mode is ended. The results are announced after each round via notification (at the bottom), but if you miss it, the results for the last battle are listed at the bottom of the intelligence menu.
I'd recommend avoiding changing the Cell Count or re-seeding the simulation [N] during the battle -- sort of like changing stadiums in the middle of a sports match.
A hot tip -- you may want to start with a NN from a mint with a higher level of Neural Net Fidelity feature like Savant if you want the full benefits of the pre-training that are built into the project. On the other hand, if you'd like to start from scratch and train it yourself, starting with a Tabula Rasa or one of the other partially-randomized NNs will allow you to train it as you wish.
Finally, different mints provide different environments with their own character. You may want to train your crobes in some diverse mints so they're not over-fitted to a particular environment (for example, the reproduction strategy or requirements).
Details such as bracket size, how to submit NNs/handles/public wallet addresses to enter the competition, the cadence of each round, which mint(s) will be used as battlefields, format, and timing are still TBD. More on this to come post-launch.
Got questions? Find me in the Art Blocks discord #factory-projects channel (ixnayokay#1137) or on twitter @ixnayokay.
Looking forward to it!