[HN Gopher] Making Sandspiel
___________________________________________________________________
Making Sandspiel
Author : luu
Score : 47 points
Date : 2023-01-28 07:27 UTC (15 hours ago)
(HTM) web link (maxbittker.com)
(TXT) w3m dump (maxbittker.com)
| DonHopkins wrote:
| Max mentioned: "recent work on mass-preserving Lenia variations
| have given me some ideas..."
|
| https://twitter.com/zzznah/status/1606294595330940928
|
| Alex Mordvintsev @zzznah: Pleased to share our new work:
| "Particle Lenia and the energy-based formulation" by @eyvindn
| @RandazzoEttore and me! (thread )
|
| https://google-research.github.io/self-organising-systems/pa...
|
| https://arxiv.org/abs/2212.07906
|
| Flow Lenia: Mass conservation for the study of virtual creatures
| in continuous cellular automata
|
| Erwan Plantec, Gautier Hamon, Mayalen Etcheverry, Pierre-Yves
| Oudeyer, Clement Moulin-Frier, Bert Wang-Chak Chan Lenia is a
| family of cellular automata (CA) generalizing Conway's Game of
| Life to continuous space, time and states. Lenia has attracted a
| lot of attention because of the wide diversity of self-organizing
| patterns it can generate. Among those, some spatially localized
| patterns (SLPs) resemble life-like artificial creatures. However,
| those creatures are found in only a small subspace of the Lenia
| parameter space and are not trivial to discover, necessitating
| advanced search algorithms. We hypothesize that adding a mass
| conservation constraint could facilitate the emergence of SLPs.
| We propose here an extension of the Lenia model, called Flow
| Lenia, which enables mass conservation. We show a few
| observations demonstrating its effectiveness in generating SLPs
| with complex behaviors. Furthermore, we show how Flow Lenia
| enables the integration of the parameters of the CA update rules
| within the CA dynamics, making them dynamic and localized. This
| allows for multi-species simulations, with locally coherent
| update rules that define properties of the emerging creatures,
| and that can be mixed with neighbouring rules. We argue that this
| paves the way for the intrinsic evolution of self-organized
| artificial life forms within continuous CAs.
| owlglass wrote:
| I found Sandspiel and its creator's blog a while back, and it was
| really humbling and inspiring. Max is clearly very talented and
| dedicated, and his projects served as a reminder to me, as a
| jaded person tired of seeking the profitability or usefulness of
| software projects, that at the end of the day, programming (and,
| by extension, one's use of their time) can just be about fun and
| creative exploration.
| DonHopkins wrote:
| I am a huge fan of Sandspiel, which Max described in this article
| from 2019, and recently I was delighted to discover that he and
| TodePond have been doing a huge amount of wonderful work since
| then.
|
| What happens when you combine Sandspiel with a Scratch-like
| blocks based visual programming language that lets you look
| inside and see how rules work, tweak and modify them, and even
| define your own rules for different types of particles? And then
| form a community around it for sharing and learning from each
| other and building on top of each other's work.
|
| Here is Max's and TodePond's brilliantly ambitious visually
| programmable sequel, Sandspiel Studio!
|
| https://studio.sandspiel.club/
|
| Here's my profile, where you can play with the version of Max's
| flower growing rule that he shows here:
|
| https://www.youtube.com/watch?v=ifyYITDq1oo
|
| ...to grow underground potatoes and fancy flowers:
|
| https://studio.sandspiel.club/user/clanzgor8006109mtjooi348t
|
| I've written more about Sandspeil Studio and related topics of
| artificial life, cellular automata, and visual programming, and
| quoted some interesting discussion with Max and TodePond from
| their Discord server (they actually already knew about most of
| this stuff, but they love it as much as I do), in the "Ask HN:
| What weird technical scene are you fond/part of?" discussion, in
| reply to api's comment about Digital Artificial Life:
|
| https://news.ycombinator.com/item?id=33698163
|
| api 67 days ago | parent | context | favorite | on: Ask HN: What
| weird technical scene are you fond/pa...
|
| Digital Artificial Life -- as in evolving program ecosystems,
| artificial chemistries or cellular automata that can manifest
| life-like phenomena, etc.
|
| Haven't done much with it in a while but was very into it in
| college. It's both a minor scientific field (would probably be
| grouped under both theoretical biology and AI research) and a
| hobbyist field with some really interesting projects.
|
| DonHopkins 67 days ago | prev [-]
|
| That's one of my long time interests and hobbies, which I write
| about on HN and discuss with other people frequently. I'm
| supposed to be doing something else right now so I'll quickly
| drop a few disorganized quotes and links here. (Sorry I didn't
| have time to be more concise!)
|
| A few years ago I ran across Max Bittker's beautiful "Sandspiel",
| which is a delightful cellular automata toy that simulates sand
| and other rules:
|
| https://sandspiel.club/
|
| A few days ago I saw him tweet some amazing stuff that resonated
| with me, which then led me to discover what he's been working
| with Lu Wilson (TodePond): Sandspiel Studio -- user definable
| rules using a block based visual programming language.
|
| https://twitter.com/maxbittker
|
| "working on goth fungus kidpix":
|
| https://twitter.com/maxbittker/status/1593868837111451649
|
| Lu Wilson (TodePond):
|
| https://twitter.com/TodePond
|
| Sandspiel Studio:
|
| https://studio.sandspiel.club/
|
| Sandspiel introduction:
|
| https://www.youtube.com/watch?v=ecCVor7mJ6o
|
| Sandspiel Studio in 60 seconds:
|
| https://www.youtube.com/watch?v=qOA-lR3Xc34
|
| Rainbow Sand:
|
| https://www.youtube.com/watch?v=PGTsy79wx4U
|
| Huegene:
|
| https://www.youtube.com/watch?v=ltpkO7jcFOY
|
| Flower:
|
| https://www.youtube.com/watch?v=ifyYITDq1oo
|
| TodePond's Spellular Automata:
|
| https://www.youtube.com/watch?v=xvlsJ3FqNYU
|
| We had a great discussion on the Sandspiel Studio Discord server,
| where I posted some interesting links:
|
| Check out the Long Now Foundation talk by Brian Eno and Will
| Wright about Generative Systems:
|
| 10:39 minute excerpt of Will talking about cellular automata and
| demonstrating with Mirak's Cellebration:
| https://www.youtube.com/watch?v=UqzVSvqXJYg
|
| 6:48 minute excerpt of Will demonstrating Spore Metaverses:
| https://www.youtube.com/watch?v=7t0kuvz5x_4
|
| 6:29 minute excerpt of Will demonstrating Spore Creature Demo:
| https://www.youtube.com/watch?v=8PXiNNXUUF8
|
| Entire 1:38:50 hour Long Now Foundation talk: Playing with Time |
| Brian Eno and Will Wright https://www.youtube.com/watch?v=Dfc-
| DQorohc
|
| Craig Reynolds said the name "Boids" was inspired by The
| Producers Concierge scene, so that's how you should pronounce it:
|
| Boids. Dirty, disgusting, filthy, lice ridden Boids. Boids. You
| get my drift?
|
| https://www.youtube.com/watch?v=aL6mTMShVyk
|
| The other really cool rabbit hole to explore for generating tiles
| and even arbitrary graph based content (I'm sold: hexagons are
| the bestagons!) is "Wave Function Collapse", which doesn't
| actually have anything to do with quantum mechanics (it just
| sounds cool), but is actually a kind of constraint solver related
| to sudoku solvers.
|
| https://escholarship.org/content/qt3rm1w0mn/qt3rm1w0mn_noSpl...
|
| Maxim Gumin's work: https://github.com/mxgmn/WaveFunctionCollapse
|
| Paul Merrell's work:
|
| https://paulmerrell.org/model-synthesis/
|
| https://paulmerrell.org/research/
|
| Oskar Stalberg's work:
|
| https://twitter.com/OskSta/status/784847588893814785
|
| https://oskarstalberg.com/game/wave/wave.html
|
| There's a way to define cellular automata rules by giving
| examples of the before and after patterns, and WFC is kind of
| like a statistical constraint solving version of that.
|
| So it's really easy for artists to define rules just by drawing!
| Not even requiring any visual programming, but you can layer
| visual programming on top of it.
|
| That's something that Alexander Repenning's "AgentSheets"
| supported (among other stuff): you could define cellular automata
| rules by before-and-after examples, wildcards and variables, and
| attach additional conditions and actions with a visual
| programming language.
|
| AgentSheets and other cool systems are described in this classic
| paper: "A Taxonomy of Simulation Software: A work in progress"
| from Learning Technology Review by Kurt Schmucker at Apple. It
| covered many of my favorite systems.
|
| http://donhopkins.com/home/documents/taxonomy.pdf
|
| Chaim Gingold wrote a comprehensive "Gadget Background Survey" at
| HARC, which includes AgentSheets, Alan Kay's favorites: Rockey's
| Boots and Robot Odyssey, and Chaim's amazing SimCity Reverse
| Diagrams and lots of great stuff I'd never seen before:
|
| http://chaim.io/download/Gingold%20(2017)%20Gadget%20(1)%20S...
|
| Chaim Gingold has analyzed the SimCity (classic) code and
| visually documented how it works, in his beautiful "SimCity
| Reverse Diagrams":
|
| >SimCity reverse diagrams: Chaim Gingold (2016).
|
| >These reverse diagrams map and translate the rules of a complex
| simulation program into a form that is more easily digested,
| embedded, disseminated, and and discussed (Latour 1986).
|
| >The technique is inspired by the game designer Stone Librande's
| one page game design documents (Librande 2010). If we merge the
| reverse diagram with an interactive approach--e.g. Bret Victor's
| Nile Visualization (Victor 2013), such diagrams could be used
| generatively, to describe programs, and interactively, to allow
| rich introspection and manipulation of software.
|
| >Latour, Bruno (1986). "Visualization and cognition". In:
| Knowledge and Society 6 (1986), pp. 1- 40. Librande, Stone
| (2010). "One-Page Designs". Game Developers Conference. 2010.
| Victor, Bret (2013). "Media for Thinking the Unthinkable". MIT
| Media Lab, Apr. 4, 2013.
|
| https://lively-web.org/users/Dan/uploads/SimCityReverseDiagr...
|
| Agentsheets: Alexander Repenning (1993-)
|
| Interacting agents are embedded and interact within cellular
| spaces called sheets. Agents are reactive to direct manipulation
| and have autonomous behavior. Agent Sheets draws upon a similarly
| spirited broad field of paradigms: artificial life, visual
| programming, "programmable drawing tools," "simulation
| environments", games, cellular automata, and "spreadsheet
| extensions." Repenning draws upon these shared characteristics:
| visual, spatial notation, dynamic, direct manipulation, and
| incremental agency. The basic tool palette is also a gallery,
| defined in simulation terms.
|
| Highlights:
|
| * Kits ("agencies") describe specific domains. One effect of
| "|ayered" design is "roles"--end-users vs. scenario designers.
| Example domains in thesis: Turing machines, circuits, flow,
| traffic, programs. * Sheet is a cellular 2d space, but agents can
| be stacked up in a cell. * Incremental refinement of art,
| behavior, etc... * A highly generalize idea of flow is used for
| things like neural nets, flow charts, water flow, circuits,
| system dynamic style models, and traffic. * It also supports
| ecological style spatial simulations. * User interaction and
| agent communication is in the same representation. i.e. Anything
| can do to one another everything the user can.
|
| AgentSheets is still going, and has even gone all 3D like
| Minecraft! AgentCubes!
|
| https://agentsheets.com/
|
| Another great visual programming language for kids that supported
| defining cellular automata rules by example and visual
| programming:
|
| KidSim (later Cocoa, then Stagecast Creator) Smith, David C.,
| Allen Cypher, and James Spohrer (1994) In KidSim graphical
| simulations are created via graphical rewrite rules, which also
| enables a kind of programming by demonstration. The creators
| argue that most people can use editor GUIs (e.g. paint programs),
| and can give directions, but cannot program. Their solution is to
| "get rid of the programming language" in favor of a philosophy
| grounded in GUI design:
|
| * Visibility. Relevant information is visible; causality is
| clear; modelessness. * Copy and modify, not make from scratch. *
| See and point, not remember and type. * Concrete, not abstract. *
| Familiar conceptual model. ("minimum translation distance").
|
| They choose a symbolic simulation microworld as a domain because
| it leads to knowing, ownership, and motivation. All objects are
| agents which have appearances, properties (name value pairs), and
| rules.
|
| Programming by demonstration extends to using a calculator and
| dragging properties around to define conditionals. One of the
| creators of KidSim, David Smith, was also the creator of another
| graphical programming environment: Pygmalion.
|
| Smith, David C., Allen Cypher, and James Spohrer (1994)
|
| (Then I ran across TodePond's Spellular Automata video and
| realized I was preaching to the choir! TodePond wrote: "and
| stagecast creator is a big inspiration to me! I name-dropped it
| in a demo I did this week :D")
|
| Wow I did not realize I was evangelizing to the choir! This video
| by TodePond, is exactly what I was talking about, just much more
| beautiful than I'd imagined possible:
|
| https://www.youtube.com/watch?v=xvlsJ3FqNYU
|
| I was watching Lex Fredman interview Michael Levin, and Lex
| expressed the same level of fascination about cellular automata
| that I have:
|
| Michael Levin: Michael Levin: Biology, Life, Aliens, Evolution,
| Embryogenesis & Xenobots | Lex Fridman Podcast #325
|
| https://www.youtube.com/watch?v=p3lsYlod5OU
|
| 1:44:29: Lex: Whenever I think about something like
| unconventional cognition, I think about cellular automata. I'm
| just captivated by the beauty of the thing. The fact that from
| simple little objects you can create such beautiful complexity
| that very quickly you forget about the individual objects and you
| see the things that it creates as its own organisms. That blows
| my mind every time. Like honestly I could full time just eat
| mushrooms and watch cellular automata. I don't even have to do
| mushrooms. Cellular automata, it feels like from the engineering
| perspective, I love when a very simple system captures something
| really powerful. Because then you can study that system to
| understand something fundamental about complexity, about life on
| earth. Anyway how Do I communicate with the thing? If a cellular
| automata can do cognition, if a plant can do cognition, if a
| xenobot can do cognition, how do I whisper in its ear and get an
| answer back, too? How do I have a conversation? How do I have a
| xenobot on the podcast?
|
| Then I watched Lex interview Steven Wolfram:
|
| https://www.youtube.com/watch?v=ez773teNFYA
|
| Stephen Wolfram: Cellular Automata, Computation, and Physics |
| Lex Fridman Podcast #89 - YouTube
|
| https://www.youtube.com
|
| I hate it when a program I wrote mocks me. In Lex Fridman's
| interview of Steven Wolfram, he demonstrates the machine learning
| functions in Mathematica by taking a photo of himself, which
| identifies him as a .... (I won't give it away):
|
| https://www.youtube.com/watch?v=ez773teNFYA&t=2h20m05s
|
| Here's a video I recently recorded of the CAM-6 simulator I
| implemented decades ago, and rewrote in JavaScript a few years
| ago.
|
| https://www.youtube.com/watch?v=LyLMHxRNuck
|
| I recorded that demo to show to Norman Margolus, who co-wrote the
| book and wrote the CAM6 PC Forth code and many rules, so it's
| pretty long and technical and starts out showing lots of code,
| but I'm sure you'll totally get and appreciate it. I linked to a
| pdf copy of the book in the comments, as well as the source code
| and playable app.
|
| Demo of Don Hopkins' CAM6 Cellular Automata Machine simulator.
|
| Live App: https://donhopkins.com/home/CAM6
|
| Github Repo: https://github.com/SimHacker/CAM6/
|
| Javacript Source Code:
| https://github.com/SimHacker/CAM6/blob/master/javascript/CAM...
|
| PDF of CAM6 Book: https://donhopkins.com/home/cam-book.pdf
|
| Comments from the code: // This code originally
| started life as a CAM6 simulator written in C // and
| Forth, based on the original CAM6 hardware and compatible with
| // the brilliant Forth software developed by Toffoli and
| Margolus. But // then it took on a life of its own (not
| to mention a lot of other CA // rules), and evolved into
| supporting many other cellular automata // rules and
| image processing effects. Eventually it was translated to
| // C++ and Python, and then more recently it has finally been
| // rewritten from the ground up in JavaScript. // The
| CAM6 hardware and Forth software for defining rules and
| // orchestrating simulations is thoroughly described in this
| wonderful // book by Tommaso Toffoli and Norman Margolus
| of MIT. // Cellular Automata Machines: A New Environment
| for Modeling // Published April 1987 by MIT Press. ISBN:
| 9780262200608. // http://mitpress.mit.edu/9780262526319/
|
| Here's another demo I recorded a while ago that shows more rules:
|
| https://www.loom.com/share/cc09b916134b43cea201b61e71432f32
|
| Making a Falling Sand Simulator:
|
| https://news.ycombinator.com/item?id=31309616
|
| Oh My Gosh, It's Covered in Rule 30s:
|
| https://news.ycombinator.com/item?id=14458955
|
| Wolfram Rule 30 Prizes:
|
| https://news.ycombinator.com/item?id=21130098
|
| Finding Mona Lisa in the Game of Life:
|
| https://news.ycombinator.com/item?id=22552006
|
| Andrew Wuensche's and Mike Lesser's gorgeous coffee table book,
| "The Global Dynamics of Cellular Automata":
|
| https://news.ycombinator.com/item?id=22570750
|
| Here's some stuff about Dave Ackley's "Robust First Computing"
| and "Moveable Feast Machine":
|
| https://news.ycombinator.com/item?id=22304063
|
| DonHopkins on Feb 11, 2020 | parent | context | favorite | on:
| Growing Neural Cellular Automata: A Differentiable...
|
| Also check out the "Moveable Feast Machine", Robust-first
| Computing, and this Distributed City Generation example:
|
| https://news.ycombinator.com/item?id=21858577
|
| DonHopkins on Oct 26, 2017 | parent | favorite | on: Cryptography
| with Cellular Automata (1985) [pdf]
|
| A "Moveable Feast Machine" is a "Robust First" asynchronous
| distributed fault tolerant cellular-automata-like computer
| architecture. It's similar to a Cellular Automata, but it
| different in several important ways, for the sake of "Robust
| First Computing". These differences give some insight into what
| CA really are, and what their limitations are.
|
| Cellular Automata are synchronous and deterministic, and can only
| modify the current cell: all cells are evaluated at once (so the
| evaluation order doesn't matter), so it's necessary to double
| buffer the "before" and "after" cells, and the rule can only
| change the value of the current (center) cell. Moveable Feast
| Machines are like asynchronous non-deterministic cellular
| automata with large windows that can modify adjacent cells.
|
| Here's a great example with an amazing demo and explanation, and
| some stuff I posted about it earlier:
|
| https://news.ycombinator.com/item?id=14236973
|
| Robust-first Computing: Distributed City Generation:
|
| https://www.youtube.com/watch?v=XkSXERxucPc
|
| https://news.ycombinator.com/item?id=22304110
|
| DonHopkins on Feb 11, 2020 | parent | context | favorite | on:
| Growing Neural Cellular Automata: A Differentiable...
|
| Dave Ackley, who developed the Moveable Feast Machine, had some
| interesting thoughts about moving from 2D to 3D grids of cells:
|
| https://news.ycombinator.com/item?id=21131468
|
| DonHopkins 4 months ago | parent | favorite | on: Wolfram Rule 30
| Prizes
|
| Very beautiful and artistically rendered! Those would make great
| fireworks and weapons in Minecraft! From a different engineering
| perspective, Dave Ackley had some interesting things to say about
| the difficulties of going from 2D to 3D, which I quoted in an
| earlier discussion about visual programming:
|
| https://news.ycombinator.com/item?id=18497585
|
| David Ackley, who developed the two-dimensional CA-like "Moveable
| Feast Machine" architecture for "Robust First Computing", touched
| on moving from 2D to 3D in his retirement talk:
|
| https://youtu.be/YtzKgTxtVH8?t=3780
|
| "Well 3D is the number one question. And my answer is, depending
| on what mood I'm in, we need to crawl before we fly."
|
| "Or I say, I need to actually preserve one dimension to build the
| thing and fix it. Imagine if you had a three-dimensional
| computer, how you can actually fix something in the middle of it?
| It's going to be a bit of a challenge."
|
| "So fundamentally, I'm just keeping the third dimension in my
| back pocket, to do other engineering. I think it would be
| relatively easy to imaging taking a 2D model like this, and
| having a finite number of layers of it, sort of a 2.1D model,
| where there would be a little local communication up and down,
| and then it was indefinitely scalable in two dimensions."
|
| "And I think that might in fact be quite powerful. Beyond that
| you think about things like what about wrap-around torus
| connectivity rooowaaah, non-euclidian dwooraaah, aaah uuh, they
| say you can do that if you want, but you have to respect
| indefinite scalability. Our world is 3D, and you can make little
| tricks to make toruses embedded in a thing, but it has other
| consequences."
|
| Here's more stuff about the Moveable Feast Machine:
|
| https://news.ycombinator.com/item?id=15560845
|
| https://news.ycombinator.com/item?id=14236973
|
| The most amazing mind blowing demo is Robust-first Computing:
| Distributed City Generation:
|
| https://www.youtube.com/watch?v=XkSXERxucPc
|
| And a paper about how that works:
|
| https://www.cs.unm.edu/~ackley/papers/paper_tsmall1_11_24.pd...
|
| Plus there's a lot more here:
|
| https://movablefeastmachine.org/
|
| Now he's working on a hardware implementation of indefinitely
| scalable robust first computing:
|
| https://www.youtube.com/channel/UC1M91QuLZfCzHjBMEKvIc-A
|
| John von Neumann's 29 State Cellular Automata
|
| https://news.ycombinator.com/item?id=22304084
|
| John von Neumann's book "Theory of Self-Reproducing Automata":
|
| https://news.ycombinator.com/item?id=21858465
|
| Factorio, and Will Wright on simulation games:
|
| https://news.ycombinator.com/item?id=24163024
| ccheever wrote:
| Max is also working on https://castle.xyz/ now, another creation
| tool with some similar properties.
| weast wrote:
| If you've ever wondered what a fully fledged sandspiel Roguelike
| (technically more a roguelite for those of you who mind) hahe a
| look at a game called Noita on Steam. It is a masterpiece of
| weaving an incredibly rich game out of the sandspiel apps of
| yore. I was suprised by how much I enjoyed it, evej if it is a
| little punishing.
___________________________________________________________________
(page generated 2023-01-28 23:00 UTC)