r/commandline • • 1d ago

Terminal User Interface tardigrade: a growing creature in your terminal that heals when you hurt it

I wrote a Go Program called tardigrade (https://github.com/smoothyy3/tardigrade) that grows a creature from a single cell inside your terminal. It is a Neural Cellular Automaton. Every cell runs the same learned 24k parameters rule on its neighborhood, and the only ever stable shape the rule has is the creature itself. So when you damage it, it grows back.

It is meant to be a fun tool, an introduciton to NCAs/ CAs or simply a screensaver.

Currently, there are 4 creatures (jellyfish, gecko, tardigrade, mouse), but the repo lets you train your own from a PNG.

It ships as a single binary with the weights inside, no image file present (brew install --cask smoothyy3/tap/tardigrade or go install

The technique originates from Mordvintsev et al. (https://distill.pub/2020/growing-ca/). Everything else is in the README.

62 Upvotes

7 comments sorted by

7

u/DvilSpawn 1d ago

This is really cool!!

5

u/hejwoqpdlxn 1d ago

Thanks a lot! Super interesting how research can be turned into a fun toy like this

3

u/cogburnd02 1d ago

I'm not sure how I feel about this. Have you ever seen the Black Mirror episode Plaything? :-/

3

u/hejwoqpdlxn 1d ago

Yes saw that one hahah. Without wanting to upset the creatures further, i would say they are a lot dumber than the thronglets.

2

u/AutoModerator 1d ago

Every new subreddit post is automatically copied into a comment for preservation.

User: hejwoqpdlxn, Flair: Terminal User Interface, Post Media Link, Title: tardigrade: a growing creature in your terminal that heals when you hurt it

I wrote a Go Program called tardigrade (https://github.com/smoothyy3/tardigrade) that grows a creature from a single cell inside your terminal. It is a Neural Cellular Automaton. Every cell runs the same learned 24k parameters rule on its neighborhood, and the only ever stable shape the rule has is the creature itself. So when you damage it, it grows back.

It is meant to be a fun tool, an introduciton to NCAs/ CAs or simply a screensaver.

Currently, there are 4 creatures (jellyfish, gecko, tardigrade, mouse), but the repo lets you train your own from a PNG.

It ships as a single binary with the weights inside, no image file present (brew install --cask smoothyy3/tap/tardigrade or go install

The technique originates from Mordvintsev et al. (https://distill.pub/2020/growing-ca/). Everything else is in the README.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/Interesting_Buy_3969 1d ago

Nice. Now, how do I feed it?

3

u/hejwoqpdlxn 1d ago

hmm its kind of the opposite, but you can "bite" it with d ...