Hacker News new | past | comments | ask | show | jobs | submit login

I think this depends on the resolution you're talking about, as well as how true you want to stay to the biological reality. If we talk about simulating a snail at the cellular level this would be incredibly complicated - check out OpenWorm as an example of scope (a project which works to simulate the C. elegans).

My own simulation is much more amateur than this, with lesser fidelity. As a layperson to the biology of snails _and_ to life simulation itself, I am pretty much just...winging it. My level of detail goes beyond a _typical_ gamified sandbox-esque simulation, but not to the level of accuracy and detail as OpenWorm. I have a basic genetics system, a basic brain where sensory inputs go from receptors through several "neurons" as the snail reacts to the world, a sensory/short term/long term memory system, a rudimentary organ system, and a rudimentary macro/micronutrient system for the snails. All of these are developed on the fly with little biological backing, but I'm aiming to make them as flexible as possible in approach so that when the systems are in place technically I could focus on research (we have a lot of data about snails!) and tailor the specific values to fit something realistic for a common land snail species. For example, I have no idea what a realistic basal metabolic rate is for a Cornu aspersum snail is, so right now I just implemented the concept of BMR and plugged in a value.

All of this is already implemented in the original PHP version of this simulation, which I am now rewriting from scratch in Go (I thought it would be fun to learn Go, plus I think rewriting the whole simulation now that many current systems are designed would not hurt - the PHP version is messy as I was designing rudimentary systems while building it). With the Go version I am taking a different approach. With the PHP version I started with the UI side of things - a simple website where you could make a simple "snail". Then I made the snail more and more detailed from there. With the Go version I have a better view of what I want my actual simulation to look like, so I am starting with the server-side implementation of the organism simulation itself and exposing APIs which different clients could then consume (starting with a very simple CLI for basic interaction with the simulation). This way I can support a multitude of clients - some focusing on more observational/"scientific" purposes, others which could be more gamified, all using the same organism sim in the backend and choosing what aspects to expose to the user.

The purpose of the project is my own entertainment and learning as a developer - so many things go into a simulation, there is always more to discover both biologically and in terms of the technical implementation. I am invested enough in the project to attend life simulation related conferences at my own cost, but without any real time pressure in terms of the development cycle, nor any attempts to limit my scope. I basically implement what sounds interesting to me, or interesting to learn about.

That was probably way more boring than you were hoping, but if you're still interested I do have a dev log here (which I should update more often, but I've been on a five-week vacation and took a detour into a self-modifying simulation experiment based on a paper so haven't focused on the snails as much as I'd like): http://liza.io/categories/snails

"That was probably way more boring than you were hoping"

Heck no, that was really interesting. These odd, deep comments are one of the reasons I love Hacker News. I doubt I'll follow the project but enjoyed your description of it. I'd probably read a summary of the finished work, too, if it proved useful for real-world data or even amateur simulation builders.

Thank you! I think having it provide some useful real-world data in any domain would feel like the epitome of personal achievement for me with this. That is not my single-minded purpose with the project and it is interesting enough to just work on it for its own sake, but that long-shot hope does inform part of the overall direction.

This comment is another "please don't stop" reply. The very, very rare occasion when Hacker News flashes up a gem of a true hacker keeps me coming back. Skinner's box has me trapped here.

I look forward to the underwater snail simulation so I can understand what caused our snail to die in our short-lived fish tank experiment. :(

No doubt, though, the little apple snail was more interesting than the beta fish he shared the tank with!

Thank you! I appreciate your taking the time to leave an encouraging comment. I'm afraid I have to disappoint you in that the simulation is not one of aquatic snails, but land snails (although I did have some thoughts about maybe making a mixed simulation, the organism can largely be reused...but that's not in the near future)

This is the most interesting comment I've seen on hn in a while, keep up the awesome work!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact