[HN Gopher] ALiEn - a GPU-accelerated artificial life simulation...
       ___________________________________________________________________
        
       ALiEn - a GPU-accelerated artificial life simulation program
        
       Author : tosh
       Score  : 698 points
       Date   : 2021-06-11 12:12 UTC (10 hours ago)
        
 (HTM) web link (alien-project.org)
 (TXT) w3m dump (alien-project.org)
        
       | aetherspawn wrote:
       | It reminds me of the spaceship game Reassembly. Straight away, I
       | thought: "hey, you could build a massive reassembly with this
       | probably".
        
       | bentcorner wrote:
       | Reminds me of gridworld:
       | https://store.steampowered.com/app/396890/Gridworld/
        
       | croes wrote:
       | I'm not a fan of proprietary frameworks like CUDA. Makes you too
       | dependent on the manufacturer.
        
       | ry4nolson wrote:
       | This reminds me of a reddit r/nosleep story, "The Life in the
       | Machine"
       | 
       | https://www.reddit.com/r/nosleep/comments/u7zc2/the_life_in_...
        
       | marcodiego wrote:
       | Looks better than framsticks.
        
       | cwkoss wrote:
       | When I was learning to program, I tried to make a toy artificial
       | life evolution simulation. Particle organisms on a 2D plane had
       | 'dna' which was a list of heritable traits, like size, speed,
       | number of offspring. Bigger organisms could eat smaller
       | organisms, but they burn energy faster. 0 energy = death. When
       | two organisms of opposite gender collided and had sufficient
       | energy, they'd give some of their energy split among the
       | offspring, with each offspring's 'dna' values set to one of the
       | parent's +/- 5%.
       | 
       | As I was developing this, I hadn't figured out how I wanted to do
       | food yet, so as an easy first step, I just had a constant amount
       | of energy that was split amongst all organisms on the screen.
       | Lots of little dots buzzing around, was kind of neat but nothing
       | too special. I left it to run overnight.
       | 
       | When I came back I was very surprised: previously i was running
       | at about 30FPS - now it was running at about 4 seconds per frame.
       | The screen was filled with dense expanding circles of tiny slow
       | organisms emanating from where organisms had mated and nothing
       | else.
       | 
       | My simulation evolved to outsmart my simple food algorithm: when
       | food is divided equally among all organisms, the best strategy is
       | to use minimal energy and maximize offspring count. I had
       | populated the world with a default offspring count of ~5 and they
       | had evolved to the tens of thousands. The more offspring an
       | organism had, the greater the amount of the energy pool would go
       | to their offspring.
       | 
       | It was a very cool "Life, uh, finds a way" moment - that such a
       | simple toy simulation of evolution was able to find an
       | unanticipated optimal solution to the environment I created
       | overnight was very humbling and gave me a lot of respect for the
       | power of evolution.
        
         | ALittleLight wrote:
         | I worked on a similar project. One of the heritable traits I
         | had was a quantity of energy that would be passed on to a
         | child. A mother and father organism contributed a random half
         | of their stats to a new child and both parents deducted their
         | caretaker energy and increased the child's energy by the same
         | amount.
         | 
         | I had a lot of different graphs to show me stats as the
         | simulation continued. One thing I noticed was that after a
         | while of this simulation "average age" started to go way up.
         | 
         | At first, I was proud. I thought I had evolved creatures that
         | could live indefinitely in my simulated environment. I kind of
         | had - but it didn't work like I thought. At some point the
         | creatures seemed to become immortal and all new creatures died
         | off. I was monitoring "average age at death" which confirmed
         | all the dying creatures were very young and "average generation
         | count" which showed it stabilized midway through the simulation
         | and then locked in place. They got to a place where new
         | organisms died off and there were a bunch of immortal organisms
         | running around.
         | 
         | I finally figured out what had gone wrong. The stats, including
         | caretaker energy, could be randomly modified by a small random
         | value up or down whenever a child was produced. Nothing
         | prevented caretaker energy from going negative, and indeed,
         | that's what would happen. The simulation would work for a while
         | while only a small number of organisms had negative caretaker
         | energy, but eventually these guys would take over and become
         | the whole population. They could indefinitely sustain
         | themselves by having children, but their children (spawned by
         | two parents who passed on negative energy) would instantly die.
        
         | cwkoss wrote:
         | My goal with this project was to be able to seed the world with
         | a single proto-organism and have two distinct species - one
         | predator and one prey - evolve to create a stable ecosystem.
         | 
         | I eventually localized food sources and added a bunch of
         | additional rules, but was never able to realize this goal. I
         | think for predator-prey relationships to evolve in my system it
         | would have required sensory organs and methods to react to
         | local environment.
         | 
         | Seems like ALiEn is able to simulate food chains with distinct
         | species - and alas I don't have a CUDA GPU - but curious if
         | they've been able to create an ecosystem where predators and
         | prey can coexist in a balanced stable ecosystem. (In my
         | experiments, it was very easy to get predator population
         | explosion, all of the prey gets eaten, and then all of the
         | predators die)
        
         | Matumio wrote:
         | There is a 2018 paper called "The Surprising Creativity of
         | Digital Evolution" which is a collection of similar anecdotes:
         | https://arxiv.org/abs/1803.03453
        
       | eigenvalue wrote:
       | This reminds me of the awesome Scriptbots project by Karpathy (of
       | Tesla self driving fame) from 10 years ago, which I spent
       | countless hours playing with:
       | https://sites.google.com/site/scriptbotsevo/
        
       | ChicagoBoy11 wrote:
       | For folks who like this sort of thing, I will once again make my
       | monthly plug for folks to check out "The Evolution of
       | Cooperation", by Robert Axelrod.
        
         | ehsanu1 wrote:
         | Bought it now! I really likes Steven Levy's "Artificial Life"
         | as a light introduction to this world. Sadly, the book isn't
         | too far out of date despite being 30 years old now.
        
         | qvrjuec wrote:
         | Also, "The Selfish Gene". Super fun read. Also, there are a
         | bunch of really interesting videos made to demonstrate concepts
         | like the evolution of altruism on youtube:
         | https://www.youtube.com/watch?v=goePYJ74Ydg
        
       | chrxr wrote:
       | This is going to be a random comment, but the thing that struck
       | me most was how close this person's Github username is to my own!
       | github.com/chrxr vs github.com/chrxh. Feels bizarre. And seeing
       | their actual name it appears there username has the same
       | relationship to their real name as my own username.
        
       | dezmou wrote:
       | Imagine if our real world is juste some github project
        
         | Cthulhu_ wrote:
         | It's more likely than you think:
         | https://en.wikipedia.org/wiki/Simulation_hypothesis
        
           | tgv wrote:
           | There's no evidence we live in a simulation, and a whole lot
           | to suggest we aren't.
        
             | mistermann wrote:
             | That so many people believe they have knowledge of all the
             | evidence suggests to me that _something very strange_ is
             | going on here.
             | 
             | This may not literally be a simulation, but it seems to
             | behave like one in many ways.
        
             | zild3d wrote:
             | Is there any evidence suggesting we're not in a simulation?
        
               | wyager wrote:
               | A lot of physics seems unnecessarily expensive to
               | compute. Quantum mechanics suggest we either have
               | nonlocality or exponential blowup, both of which cause
               | simulation challenges. With just classical physics you
               | don't need to deal with that.
               | 
               | On the other hand, there are a lot of things that make
               | physics tractable to compute, such as the +++- metric
               | tensor and other factors forbidding causality violations.
               | A universe with closed timelike curves becomes very
               | expensive to compute because you usually have to use
               | implicit solvers that are slow and might not even
               | converge, corresponding to various time travel paradoxes.
        
               | LandR wrote:
               | Isn't this all assuming the simulation is running on a
               | "computer" in a universe like ours.
               | 
               | Couldn't the universe where the simulation runs be so
               | entirely different to ours that computing all that stuff
               | is just easy.
        
               | p_j_w wrote:
               | Everyone saying it would be computationally expensive to
               | simulate our universe is failing to put their mind
               | outside of the box of our universe. Imagine for a moment
               | that there's a universe which compares to our universe
               | similarly to how our world compares to one inside of
               | Conway's Game of life.
               | 
               | Granted, this scenario doesn't provide us with anything
               | we can take action on, but the idea that we're in a
               | simulation at all doesn't, either.
        
               | tgv wrote:
               | So you only have to assume physics totally different from
               | ours, and we can't observe it. Isn't that a bit of a weak
               | point? And what would be the point of this simulation
               | that has been running for billions of years?
        
               | p_j_w wrote:
               | >you only have to assume physics totally different from
               | ours
               | 
               | You don't have to assume anything is true if you don't
               | want to, but if you want to consider whether we're living
               | in a simulation, it's probably worth considering.
               | 
               | >And what would be the point of this simulation that has
               | been running for billions of years?
               | 
               | First, it's billions of years in our time. Second, what's
               | the point of Conway's Game of Life?
        
               | tgv wrote:
               | > You don't have to assume anything is true if you don't
               | want to, but if you want to consider whether we're living
               | in a simulation, it's probably worth considering.
               | 
               | Which, for me, is a dead end. It's the same as assuming
               | there's a God, except the moral implications are worse.
               | 
               | > First, it's billions of years in our time.
               | 
               | So, if billions of years of our time fly by like your
               | average simulation run in "their" universe, the
               | simulation can't be very meaningful to them. And it makes
               | the distance between our and "their" physics even larger.
               | 
               | > what's the point of Conway's Game of Life?
               | 
               | None, and that's why nobody runs one with 10^120 cells
               | for billions of years. And if somebody did, the result
               | would be incomprehensible. The gap between us and our
               | creators must then be incomprehensible for us. All this
               | is so outlandish, that the word "likely" shouldn't be
               | anywhere near this discussion.
        
               | PaulDavisThe1st wrote:
               | Your ability to comprehend something is your shortcut to
               | assessing how likely it is?
        
               | StandardFuture wrote:
               | > And what would be the point of this simulation that has
               | been running for billions of years?
               | 
               | There is zero evidence for _or_ against the simulation
               | hypothesis, so why would some random person on HN be able
               | to have the answer to this question even if we are in a
               | simulation or even if we simply assume that we are?
        
               | sooheon wrote:
               | That's like a sim saying that their world would be
               | impossible to run on the desktop in their simulated
               | living room. That is tautologically true.
        
               | wyager wrote:
               | The physics of the simulator would have to be totally
               | different to support a simulation with exponential
               | computational costs. You probably couldn't have anything
               | like conservation of energy. Polynomial overhead would
               | feel much more plausible.
        
               | sooheon wrote:
               | Consider the physics of the simulator is literally the
               | physics of our current universe. It need not be running
               | on a binary substrate, the computation platform could
               | just be the mass of the universe over time.
        
               | chimprich wrote:
               | > A lot of physics seems unnecessarily expensive to
               | compute.
               | 
               | How do you know it's all computed? To make a convincing
               | simulation, you just need to simulate in detail the bits
               | that are actually being observed.
               | 
               | Everything else that happens could just be approximated
               | at larger and larger granularity the further it is away
               | from an observer.
        
               | wyager wrote:
               | Nope, long distance entanglement collapse breaks this.
               | You either need exponential blowup to simulate all
               | possible eigenvalues or you need superluminal
               | coordination.
               | 
               | There isn't actually an observed/unobserved distinction
               | in physics. Unless you mean the simulation is
               | specifically targeting humans, which is a vastly more
               | complicated proposal.
        
               | ronyfadel wrote:
               | Maybe the simulation isn't optimized, but how do the
               | unnecessarily expensive bits negate the theory that it
               | all is in fact a simulation?
        
               | ajuc wrote:
               | > A lot of physics seems unnecessarily expensive to
               | compute.
               | 
               | When you make a simple simulation of rigid bodies with
               | classical physics you often get numerically unstable
               | results - bodies jerking against each other, slowly
               | passing through, etc. One common way to solve this is to
               | introduce a "frozen" state. When objects are close enough
               | to be at rest with balanced forces - you mark them as
               | frozen and don't compute them every frame to save
               | computing power. You only unfreeze them when some other
               | unfrozen object interacts with them.
               | 
               | Additionally hierarchical space indexing algorithms are
               | often used to avoid n^2 comparisons calculating what
               | interacts and what doesn't. And these algorithms often
               | use heuristics and hashing functions with collisions to
               | subdivide the problem, which might result in objects
               | becoming unfrozen without actually touching each other.
               | 
               | The result from inside this simulation would be weird,
               | nonlinear, nonlocal and look a little like wave function
               | collapse (if particle A whose coordinates hashed through
               | this weird function are the same as those of particle B
               | happens to unfreeze - the particle B unfreezes as well
               | despite not interacting in any way). And this would be
               | probably considered "hard to compute" compared to the
               | simple equations the system developer wanted to simulate.
               | 
               | Example that might be more relatable for scientists -
               | it's much easier and cheaper computationally to make a
               | numerical simulation for 3-body problem than to make an
               | analytic simulation of it. But describing this numerical
               | simulation behavior in terms of physical equations
               | requires much more complex model than the equations that
               | you wanted to compute in the first place. You have to
               | include implementation details like floating point
               | accuracy, overflows, etc. And if you go far enough you
               | have to add the possibility of space ray hitting a memory
               | cell in the computer that runs your simulation.
               | 
               | I'm not saying this is the reason QM is weird - I don't
               | understand QM well enough to form valid hypotheses ;),
               | but I'm saying we might be mistaking the intention of The
               | Developer with the compromises (s)he made to get there.
               | If you take any imperfect implementation of a simple
               | model and treat it as perfect - the model becomes much
               | more complex.
        
               | zild3d wrote:
               | > A lot of physics seems unnecessarily expensive to
               | compute.
               | 
               | Sure, but look at the state of frontend web development
               | :)
        
               | bingidingi wrote:
               | Unnecessarily expensive computation in software?
               | preposterous.
        
               | tgv wrote:
               | 1. That the simulator must run something much larger than
               | this world much faster than real time. How feasible is
               | that?
               | 
               | 2. That the same arguments also apply to our simulator
               | operators. They also inhabit a simulated universe. And so
               | on. Where does it stop, and why?
        
           | cwkoss wrote:
           | It is impossible to know the likelihood as we have no other
           | points of comparison.
        
           | phkahler wrote:
           | Not really. If we're in a simulation that just begs the
           | question - what is the "real" universe that the simulation is
           | running in. It pushes the question of the nature of our
           | universe up a level where we have zero visibility. No more
           | satisfying that "where was god before he created the
           | universe?"
           | 
           | The mathematical universe sidesteps this problem. If there is
           | a concise and complete model of the universe, that is
           | sufficient for it to exist. A simulation might also be
           | considered a mathematical model, and it would exist in the
           | same way even if nothing ever runs the simulation. So I guess
           | maybe it could be a simulation, but we mustn't ask what it
           | runs on, but what is the program?
        
             | sooheon wrote:
             | > It pushes the question of the nature of our universe up a
             | level where we have zero visibility
             | 
             | The universe does not owe you visibility into its origins,
             | the lack of it does not make the hypothesis any less
             | likely.
             | 
             | > If there is a concise and complete model of the universe,
             | that is sufficient for it to exist.
             | 
             | Sounds like the ontological argument [1], one of the worst
             | contortions of apologia ever imagined.
             | 
             | [1]: https://en.wikipedia.org/wiki/Ontological_argument
        
               | Matumio wrote:
               | If the universe will never leak any information about its
               | origins, then those origins cannot affect us in any way,
               | ever. This doesn't make any such hypothesis less likely,
               | but it makes them irrelevant to us.
        
               | thomashop wrote:
               | If we are in a simulation and this simulation obeys
               | similar constraints to our computational models, we can
               | test hypotheses on the basis of information theory. Or
               | possibly find error-correction codes encoded in string
               | theory as some quantum physicists have suggested.
        
             | EMM_386 wrote:
             | > The mathematical universe sidesteps this problem. If
             | there is a concise and complete model of the universe, that
             | is sufficient for it to exist.
             | 
             | This then leads to how does math exist instead of nothing?
             | Math is a concept, and if concepts exist then that is not
             | "nothing".
             | 
             | Many people confuse "nothing" with the vacuum of space and
             | particles appearing out of nowhere. In this case, we have
             | something (space, vacuums, and particles), not nothing.
        
               | vokep wrote:
               | Because nothing is precisely what does exist. But nothing
               | implies something, so my working theory is that nothing's
               | implied opposite something is itself the first thing,
               | then some cellular automata like progression results from
               | similar logical self-reference and down the line our
               | physics (and the entirety of every logical permutation of
               | information n-dimensionally) results from that.
               | 
               | A similar conception I've heard is that its like
               | something and nothing, at the beginning of time, made a
               | bet whether there'd be something or nothing, but the act
               | of making the bet was already something, rigging it in
               | something's favor. Nothing thought that was bullshit and
               | tried to call it so, and they've been battling it out
               | ever since.
        
               | lewispollard wrote:
               | > But nothing implies something
               | 
               | Put another way, nothing has absolutely no properties -
               | including the property of being nothing, or empty. If an
               | empty nothing lacks the property of being empty, or
               | nothing, then _something_ must arise.
        
               | TchoBeer wrote:
               | What would it look like for math to not exist?
        
       | nerdponx wrote:
       | Since the title isn't informative: "ALiEn is a GPU-accelerated
       | artificial life simulation program." https://alien-project.org/
        
         | Narishma wrote:
         | Nvidia GPUs only.
        
           | xwdv wrote:
           | Who else is there... AMD?
        
             | keymone wrote:
             | Yes?
        
               | xwdv wrote:
               | NVDA is 82% of the market and rising.
        
               | dijit wrote:
               | Are we celebrating monopolies now?
        
               | 411111111111111 wrote:
               | the difference between current AMD and Nvidia GPUs isn't
               | even that large if viewed from price/performance ratio...
               | Comparing cards at similar price has AMD having slightly
               | less performance while having significantly more GDDR
               | memory.
               | 
               | i still use an RTX3080 though, thankfully got one before
               | the current craze started
        
               | kadoban wrote:
               | The difference between AMD and Nvidia is _huge_ when you
               | look at software support and drivers and etc. Part of
               | this is network effects and part of it is just AMD
               | itself. But the hard reality is I'd never buy AMD for
               | compute, even if in specs it were better.
               | 
               | Just as a random anecdote, I grabbed an AMD 5700xt around
               | when those came out (for gaming). Since I had it sitting
               | around between gaming sessions, I figured I'd try to use
               | it for some compute, for Go AI training. For _1.5 years_
               | there existed a showstopping bug with this, it just could
               | not function for all of that time. They _still_ do not
               | support this card in their ROCm library platform last I
               | checked. The focus and support from AMD is just not
               | there.
        
               | croes wrote:
               | Actually they lost 1% and are now at 81%
        
             | tormeh wrote:
             | Also Intel. Being Nvidia-only is not very good from an
             | accessibility point-of-view. It means that only ML
             | researchers and about 60% of gamers can run this.
        
               | pjmlp wrote:
               | And most people in Hollywood using rendering engines like
               | Optix.
        
               | Cthulhu_ wrote:
               | Thankfully it's a specialist software package not aimed
               | at gamers or ML researchers.
        
               | [deleted]
        
             | bruce343434 wrote:
             | AMD, and Intel, yeah.
        
             | keymone wrote:
             | AMD, Intel, Apple, Samsung and all the other mobile chip
             | makers.
        
           | UncleOxidant wrote:
           | And Windows 10 only :(
        
           | hyperluz wrote:
           | What would be the best alternative? OpenCL? Vulkan?
        
             | raphlinus wrote:
             | OpenCL is sadly stagnant. Vulkan is a good choice but not
             | itself portable. There are frameworks such as wgpu that run
             | compute shaders (among other things) portably across a
             | range of GPU hardware.
        
               | ColonelPhantom wrote:
               | In what way is Vulkan not portable? It runs on all
               | operating systems (Windows 7+, Linux, Android, and Apple
               | via MoltenVK) and all GPUs (AMD GCN, nVidia Kepler,
               | Intel), and shaders (compute and rendering) are to my
               | knowledge standardized in the portable SPIR-V bytecode.
               | 
               | WGPU is more portable, since it can use not only Vulkan
               | but also other APIs like OpenGL and Direct3D 11, but
               | Vulkan is already very highly portable for almost
               | everyone with a computer modern enough to run anything
               | related to GPU compute.
        
               | raphlinus wrote:
               | It's kinda portable, but I've had not-great experiences
               | with MoltenVK - piet-gpu doesn't work on it, for reasons
               | I haven't dug into. It may be practical for some people
               | to write Vulkan-only code.
        
               | PixelOfDeath wrote:
               | You basically complain about Vulkan not being portable
               | enough because Apple made their ownTM Vulken-like API
               | instead of actually supporting Vulkan. And some other
               | people made a subset of Vulkan working on top of that.
               | 
               | Why don't you complain about Apple not supporting Vulkan
               | instead?
        
           | TuringNYC wrote:
           | I've written a lot of software against GPUs, albiet some
           | years back. The main challenge was that many of the best
           | libraries had CUDA support (or CuDNN support on top) but not
           | support for other GPU lines' frameworks.
           | 
           | Getting CUDA to work well is hard. Not hard on your laptop,
           | not hard on _a particular machine_ but hard to work
           | everywhere when you dont know the target environment
           | beforehand -- there are different OSs, different OS versions,
           | different versions of CUDA, different cards with different
           | capabilities. But we did get it to work fairly widely across
           | client machines.
           | 
           | The same effort needs to be put into getting things to work
           | for other manufacturers, except a layer deeper since now
           | you're not even standardized on CUDA. Many companies just
           | dont make the investment. Our startup didn't, because we
           | wouldn't find people who could make it work cost effectively.
           | 
           | What I really wish is that the other manufacturers would
           | themselves test popular frameworks against a matrix of cards
           | under different operating systems and versions. We see some
           | of that, for example, with the effort of getting TensorFlow
           | to run on Apple's m1 and metal. I just dont see a random
           | startup (e.g., mine w/ 12 employees) being able to achieve
           | this.
           | 
           | For example, if I know from the manufacturer that I could get
           | TensorFlow X to work on GPU Y on {Centos N, Ubuntu 18/20}, I
           | would gladly expand support to those GPUs. But sometimes you
           | dont know if it is even possible and you spin your wheels for
           | days or weeks -- and if the marketshare for the card is
           | limited, the business justification for the effort is hard to
           | make. The manufacturers can address this issue.
        
             | hhh wrote:
             | Why not use the Nvidia docker runtime and put your
             | application in a container?
        
               | HelloNurse wrote:
               | Can you download a RTX 3080 from the Docker registry?
        
               | analognoise wrote:
               | The hardware is a hell of a lot cheaper than wasting a
               | week of engineering time though isn't it?
        
               | TuringNYC wrote:
               | Nvidia docker runtime has been more recent. There were
               | some issues with k8s usage and Nvidia docker runtime --
               | you couldnt use a non-integer number of allocations
               | (e.g., cant split allocation of a GPU).
               | 
               | That said, NVIDIA Docker Runtime is _awesome_ now --
               | however, all this underscores further how much further
               | behind the non-NVIDIA stack is!
        
             | croes wrote:
             | What about OpenCL?
        
               | shakna wrote:
               | OpenCL feels pretty stagnant. Showstopping bugs staying
               | open for years. Card support is incredibly spotty.
               | Feature support isn't even near parity with CUDA.
               | 
               | This despite v3.0 being released just last year... And
               | completely breaking the API.
        
           | raphlinus wrote:
           | A simple artifical life / cellular automaton framework would
           | be a great demo for portable compute shaders. I'm looking at
           | this as a potential starting point in my compute-shader-101
           | project. If someone is interested in coding something up,
           | please get in touch.
        
             | nynx wrote:
             | I'd love to help with this. I've been experimenting with
             | rustgpu + wgpu, so I'd personally go there first probably.
        
               | raphlinus wrote:
               | Yeah, that looks like probably the most promising stack
               | for the future, but there are certainly rough edges
               | today. See [8] for a possible starting point (a pull into
               | that repo or a link to your own would both be fine here).
               | 
               | [8] https://github.com/googlefonts/compute-
               | shader-101/pull/8
        
       | nimbius wrote:
       | >To build alien you need Microsoft Visual Studio 2019.
       | 
       | no thanks.
        
       | throwaw27472224 wrote:
       | More caviar?
       | 
       | https://www.gregegan.net/MISC/CRYSTAL/Crystal.html
        
         | arrow7000 wrote:
         | Excellent
        
       | RocketSyntax wrote:
       | Does it have all of the rules of DNA like jumping genes?
        
       | hestefisk wrote:
       | This is way above my head but looks insanely cool.
        
       | HeavyStorm wrote:
       | Smartscreen is blocking the installer... That's so annoying.
        
       | gimmemahlulz wrote:
       | I have no experience with CUDA, is it possible to run this on a
       | normal PC with a 1080ti?
       | 
       | I've tried, the program runs but I cant step the simulation even
       | once.
        
         | jhugard wrote:
         | Same problem with my 1070ti (also Pascal architecture). When
         | first started can pan, zoom, edit, etc. But, as soon as Run is
         | hit, rendering completely breaks: scroll bars indicate zoom is
         | working, but display never updates. In addition, program hangs
         | on exit (one CPU is pegged at 100%).
         | 
         | Have updated to current CUDA (11.3.1) and current NVidia driver
         | (466.77) with no luck.
        
           | jhugard wrote:
           | Submitted an issue on GitHub:
           | https://github.com/chrxh/alien/issues/21.
        
         | gmadsen wrote:
         | install cuda drivers. a 1080ti supports cuda
        
       | [deleted]
        
       | ganzuul wrote:
       | Is there any way to build Microsoft Visual Studio 2019 projects
       | in Linux?
        
         | SXX wrote:
         | You can try this converter:
         | 
         | https://github.com/pavelliavonau/cmakeconverter
         | 
         | And also use Vcpkg for dependencies, but I guess there will be
         | some mess with Nvidia SDKs so you'll have to hack around a bit.
        
       | StandardFuture wrote:
       | Could someone explain the obsessive devotion to doing all
       | Artificial "Life" research in terms of Cellular Automata? If you
       | could supply the _mathematical_ reasoning for this, I would be
       | very interested in hearing the answer.
       | 
       | And preferably an answer that goes beyond just saying that Von
       | Neumann used Cellular Automata in his ALife research.
       | 
       | Also, if anyone knows of alternative methods to CA in studying
       | the properties of life then I would also be interested in
       | learning of these.
       | 
       | All in all, I find these procedurally generated art pieces to be
       | rather underwhelming in any serious attempt or study of what
       | artifical life is/can be.
       | 
       | > digital organisms and evolution
       | 
       | This is a claim without definition of what a non-biological
       | organism even is. Could we just claim that any CA, any program is
       | "living" while it is running?
       | 
       | I would love to see some formality before claims are made in this
       | area.
       | 
       | EDIT: After watching the "Planet Gaia" video [0], I feel even
       | more like the excitement about this is no different than the
       | excitement for a video game and not for actual scientific
       | progress. Cool code and cool visuals. Very little in the way of
       | _understanding life better_.
       | 
       | [0] https://www.youtube.com/watch?v=w9R6zrdl6jM
        
         | danwills wrote:
         | Although they could call this an automata, I think it's
         | incorrect to call it a CA as it's not cell-neighbourhood based:
         | 
         | "A cellular automaton consists of a regular grid of cells, each
         | in one of a finite number of states, such as on and off "
         | 
         | From:
         | https://en.wikipedia.org/wiki/Cellular_automaton?wprov=sfla1
        
         | dragonwriter wrote:
         | > Could someone explain the obsessive devotion to doing all
         | Artificial "Life" research in terms of Cellular Automata?
         | 
         | Uh, it doesn't exist. Plenty of A-life research doesn't use
         | cellular automata as a model.
         | 
         | > Also, if anyone knows of alternative methods to CA in
         | studying the properties of life then I would also be interested
         | in learning of these.
         | 
         | https://avida.devosoft.org/
        
           | StandardFuture wrote:
           | > https://avida.devosoft.org/
           | 
           | Thanks for the link!
           | 
           | > Plenty of A-life research doesn't use cellular automata as
           | a model.
           | 
           | While I would like to believe you on that, one link does not
           | seem sufficient to support the word "plenty" when the ratio
           | of ALife projects built around CAs to not is extremely high.
        
             | edeion wrote:
             | I'll at least point to another example: http://aevol.fr/
        
         | cwkoss wrote:
         | I think many artificial life simulations end up underwhelming
         | because life is incredibly complex, and so it's very hard to
         | simulate at scale. This ALiEn is perhaps the most advanced one
         | I've seen, and it looks like even still they take some
         | shortcuts (like copypasting interesting organisms from previous
         | simulations together to create interesting interactions).
         | 
         | What you see as a criticism of this line of research I think is
         | actually its reason: Life is arguably the most interesting
         | thing in the universe, and if we can create it digitally it
         | _will_ surprise us. Evolution yields insights and solutions
         | that you cannot predict. If we can synthesize what the minimal
         | set of key properties are necessary for artificial lifeforms to
         | create interesting unexpected outcomes, it helps us clarify the
         | definition of what a non-biological organism could be.
         | 
         | I'm personally fascinated by the idea of autonomous digital
         | agents that exist and self replicate while trying to earn
         | cryptocurrency, which is used to pay for the hosting costs of
         | themselves and their progeny. I think we are about two decades
         | away from this being realized, but in the future, software
         | services could self assemble, replicate imperfectly and evolve
         | to please humans without any humans writing additional code:
         | we'd just have to code a profitable LUCA, create suitable
         | 'nests' and pay the organisms that please us. "What is life" is
         | debatable, but IMO this would be a valid digital lifeform.
        
           | StandardFuture wrote:
           | > so it's very hard to simulate at scale.
           | 
           | But, this is a very unaddressed point. Why focus on
           | "simulation" when mathematical formalisms & theories could be
           | potentially even more useful? Especially when most
           | "simulations" are running on some arbitrary set of hard-coded
           | assumptions?
           | 
           | > What you see as a criticism of this line of research
           | 
           | To clarify, I was in no way criticizing ALife research. Quite
           | the opposite. I am actually trying to help ensure it does not
           | get stuck in a rut.
        
             | cwkoss wrote:
             | Ah. We'll speaking personally, mathematical formalisms &
             | theories sound very intimidating, whereas CA-type
             | simulations are so approachable many are 'fun toys' that
             | kids can enjoy playing with.
             | 
             | A mathematically formal approach does sound potentially
             | more useful, but I'd have no idea how to approach that sort
             | of problem. I speculate that the venn diagram of people who
             | want to work on these types of problems and also have the
             | depth of formal math understanding to actually achieve it
             | is a small handful of people who have plenty of other
             | interesting problems to work on.
             | 
             | Or maybe someone has done this work successfully, but the
             | depth of knowledge required to understand it has prevented
             | wider awareness?
        
       | ericol wrote:
       | Windows + NVIDIA only.
        
         | bstar77 wrote:
         | Yeah, seems like a missed opportunity since the Mac/Linux
         | crowed would eat this up.
        
         | fortran77 wrote:
         | The most popular OS and the most popular GPU? I can run this
         | easily.
        
       | xaedes wrote:
       | Reminds me of ParticleLife (for example [1]), which has much
       | simpler, but more random rules. There also emerge lots of
       | interesting organism, but I rarely see replicators.
       | 
       | I used this as inpiration and to learn about Unity ECS and made a
       | 3D version with WebGL support [2]; native builds obviously have
       | much better performance. But it is all CPU-only. Anyway. What I
       | found very interesting is dynamically switching between 2d and
       | 3d. Most organisms survive the dimensional increase or reduction
       | and just reconfigure itself to a similar structure.
       | 
       | [1] https://fnky.github.io/particle-life/ [2]
       | https://particlelife-3d-unity-ecs.github.io/
        
       | tr14 wrote:
       | This is amazing.
        
       | gcampos wrote:
       | That reminds me of a small game I did last year:
       | https://gcampos1712.github.io/index.html
        
       | hyperluz wrote:
       | Didn't work on my AMD 3700x + 64GB + GTX 1070. Windows 10 is
       | updated and nvidia drivers too. Got only a black screen after
       | clicking "play" :( Tested both 2.52 and 2.47 versions.
        
         | hyperluz wrote:
         | Sometimes I see a frozen render. Maybe it only work on Intel
         | CPUs...
        
           | jhugard wrote:
           | Nope. Appears to be broken for Nvidia 10 series. I'm on Intel
           | with a 1070ti + another user reports issues on the 1080ti
           | (see similar post in this thread; reported to author here:
           | https://github.com/chrxh/alien/issues/21).
        
             | hyperluz wrote:
             | Just informing that this really worked on an old i7 920
             | with 24 GB and a RTX 2060 Super (8GB). I didn't even need
             | to install the CUDA SDK on this one.
             | 
             | Since the i7 920 supports less instructions than the 3700x,
             | it really is a specific problem with the GTX 1070 (8GB)
        
             | hyperluz wrote:
             | Thank you for letting me know!
             | 
             | Later I'm going to test it on another computer with a RTX
             | 2060 super, but slower CPU and slower interconnections
             | (PCIe).
             | 
             | Thanks for the link too. :)
        
       | [deleted]
        
       | dorkmind wrote:
       | I think you need to read the first few chapters of After Virtue
       | to appreciate the concept behind creating things for people to
       | enjoy directly; it's a form of art, essentially reducing the
       | overgrown calculator known as a "computer" to a beautiful vase
       | holding a flower arrangement.
       | 
       | Here is the link:
       | https://archive.org/details/4.Macintyre/page/n17/mode/2up
       | 
       | This is a sort of test playground for marketing, brands, and so
       | on since the programs occupy a no man's land between games,
       | academic research, toys, entertainment, and programming.
       | 
       | It also satisfies the self-feeding dogfood condition: similar to
       | games such as RoboWar, it is difficult to resist the temptation
       | to experiment at the simulation level, a phenomenon that could be
       | described as the MFTL effect.
       | 
       | http://www.catb.org/~esr/jargon/html/M/MFTL.html
        
       | abra0 wrote:
       | >The Autoverse is an artificial life simulator based on a
       | cellular automaton complex enough to represent the substratum of
       | an artificial chemistry. It is deterministic, internally
       | consistent and vaguely resembles real chemistry. Tiny
       | environments, simulated in the Autoverse and filled with
       | populations of a simple, designed lifeform, Autobacterium
       | lamberti, are maintained by a community of enthusiasts obsessed
       | with getting A. lamberti to evolve, something the Autoverse
       | chemistry seems to make extremely difficult.
       | 
       | https://en.wikipedia.org/wiki/Permutation_City
        
         | wincy wrote:
         | I read that a few years ago, probably because it was
         | recommended here on HN. Absolutely wild book.
        
           | spicybright wrote:
           | It seriously flipped my view of the world on it's head for a
           | bit. Then I read it again right after lol
        
         | leblancfg wrote:
         | Thank you for letting me find my next read! Loved Egan's
         | Diaspora years ago, looking forward to this one.
        
           | arrow7000 wrote:
           | Diaspora is one of my all time favourite books
        
         | throwaway6734 wrote:
         | This book is absolutely fantastic. Egan is a magnificent
         | writer.
        
           | Hwatwasthat wrote:
           | He is, but sometimes I go cross-eyed reading his books. He
           | likes to explore some crazy topics, which makes for great
           | reading but sometimes confusing reading too.
        
             | sooheon wrote:
             | Yeah, that's why my favorite way of reading him is via his
             | short stories. Just enough to get the big idea across and
             | not get lost in too much detail.
        
               | IkmoIkmo wrote:
               | Could you recommend one or two of these short stories?
               | Thank you!
        
               | sooheon wrote:
               | Pick up Axiomatic, try the first story (The Infinite
               | Assassin) and see if it grabs you. It's got the best
               | parts of something like Snow Crash, which drops you in
               | without much exposition, and lets the visuals/action
               | lead. Learning to Be Me from the same collection really
               | stood out to me, it's a unique take on the "uploading
               | your consciousness" trope.
        
               | westoncb wrote:
               | My recollection from Infinite Assassin is that for
               | someone not pretty literate in mathematics it would
               | nearly be nonsense.
        
               | sooheon wrote:
               | Into Darkness was another great one from Axiomatic. Also
               | great action, and a seriously intense brooding
               | atmosphere.
        
         | nynx wrote:
         | What a coincidence, I just reread that section of permutation
         | city yesterday.
         | 
         | I wonder if there is an efficient cellular automata that
         | vaguely approximates the behavior of real chemistry, just like
         | the autoverse.
         | 
         | It's a shame the garden eden configuration plot point is kind
         | of bunk.
        
           | alisonkisk wrote:
           | Stephen Wolfram says yes.
        
         | JoeSloth wrote:
         | This was my first thought after looking at the project. Just
         | finished the book.. wild!
        
       | kabla wrote:
       | Definitely going to play around with this. I'd love to see
       | examples where you have a ton of at first non-usable energy
       | spread out in the world, with some "hot spot" of energy in a
       | corner with some setup allowing for evolving mechanisms. Seeing
       | mechanisms form that are able to utilize the spread-out energy
       | would be really fascinating.
        
       | tut-urut-utut wrote:
       | Looks like Conway's game of life next generation.
        
         | Cthulhu_ wrote:
         | Definitely a kind of cellular automata, I like seeing a
         | different version of that than Game of Life.
        
           | danwills wrote:
           | I don't think you could really call this a cellular automata,
           | as that's defined by the cellular-neighbourhood-processing
           | update rule. To put it another way, this looks like a
           | 'vector' simulation (or automata) compared to GoL's 'raster'
           | update.
           | 
           | There are certainly a lot of other fascinating cellar
           | automata though! Even within 2-state-2d-totalistic (the class
           | GoL is from) there's loads to see and lots of surprises! Well
           | worth exploring! (there's an app called 'golly' that's good
           | for that, and it's cousin 'ready' does related (also
           | 'raster') 'reaction-diffusion' simulations.)
        
       | hut0 wrote:
       | There's a similar project that runs right in your browser:
       | 
       | https://exophysics.net/
       | 
       | It's more simple, and more about physics than biology, but the
       | emergent phenomena are pretty interesting nevertheless. This
       | universe comes the closest to a life simulation:
       | https://exophysics.net/exhibit/mordial.html [based on the
       | Primordial Particle System,
       | https://www.youtube.com/watch?v=makaJpLvbow]
        
       | jdonaldson wrote:
       | Wanted to give a shot out to Larry Yeager who wrote software for
       | this all the way back in the mid nineties :
       | https://en.wikipedia.org/wiki/Polyworld
       | 
       | He was a professor of mine in grad school, he also did visual
       | effects for The Last Starfighter, and the early work on character
       | recognition in the Apple Newton. Cool dude.
        
         | ehsankia wrote:
         | Also relevant is Karl Sims' Evolving Virtual Creatures:
         | 
         | https://www.youtube.com/watch?v=JBgG_VSP7f8
         | 
         | Not sure how they're connected, but I remember being obsessed
         | with that paper and actually recreating it in 2D as a grad
         | project.
        
         | jordibc wrote:
         | Yes, cool dude indeed! Glad you mention him, I was thinking of
         | him when I saw this article. He visited the group where I was
         | doing my PhD many years ago and also gave a fantastic talk on
         | evolution, learning, and artificial life -- I was quite
         | impressed. He has some cool stuff in his website too
         | (http://shinyverse.org/larryy/).
        
       | divs1210 wrote:
       | This is awesome! Seems very interesting and looks beautiful! Will
       | definitely give it a try!
        
       | creamynebula wrote:
       | Now what I really want to see is someone who is skilled with it
       | live streaming on twitch.
        
       | leeoniya wrote:
       | look/feel very reminiscent Osmos game, even the audio:
       | 
       | https://m.youtube.com/watch?v=QADU5SHHO-w
        
       | danielvf wrote:
       | Reminds me of my favorite programming game that no one has heard
       | of: http://grobots.sourceforge.net
       | 
       | (Old video of grobots in action at
       | https://youtu.be/BLXKedZHls4?t=801)
       | 
       | Alien looks awesome!
        
         | sackerhews wrote:
         | This is why I like reading the comments on HN. I'd never heard
         | of Grobots, it's brilliant!
        
         | Udik wrote:
         | There is an old artificial life simulator (darwinbots
         | http://wiki.darwinbots.com/w/Main_Page ) that is inspired by
         | grobots-like programming games. Each organism is driven by its
         | own code that can mutate randomly at each reproduction.
         | 
         | I've been trying to produce a web version of it. This is where
         | I got so far (before more or less desisting):
         | 
         | http://darwinjs.herokuapp.com/
        
           | Tempest1981 wrote:
           | Nicely done! Very fluid.
        
             | Udik wrote:
             | Thanks!
        
         | buescher wrote:
         | Grobots looks like RobotWar
         | https://www.youtube.com/watch?v=uSdCtxN96_o
        
         | hypertele-Xii wrote:
         | Then there's Core War from 1984 [1]. 11 years ago I
         | computationally evolved a warrior (a program competing for
         | virtual resources) and submitted it to the nano hill [2], it's
         | still ranked top 20 to this day. Every few months the hill
         | emails me the stats of someone trying to beat us with a new
         | warrior :)
         | 
         | [1] https://en.wikipedia.org/wiki/Core_War
         | 
         | [2] http://sal.discontinuity.info/hill.php?key=nano
        
       | scottrogowski wrote:
       | This is amazing. My question is whether there are emergent
       | structures in a long-running sandbox environment? The videos that
       | were posted appeared to have quite complex structures but it was
       | unclear whether they were designed or if they "evolved" from
       | earlier more-basic structures. Would be curious to get the
       | author's take.
        
         | grp000 wrote:
         | One of the videos mentioned they were evolved in a different
         | simulation.
        
         | criddell wrote:
         | Have you ever seen http://boxcar2d.com/? It requires Flash so
         | it probably doesn't work anymore, but it used genetic
         | algorithms to "design" a 2d car to travel over bumpy terrain.
         | 
         | It was ported here https://rednuht.org/genetic_cars_2/ but it's
         | not quite the same thing.
        
         | danielvf wrote:
         | Most of these look very designed, though "emerging" from simple
         | rules on agents/particles.
         | 
         | Others look evolved inside the sandbox. (see doc here:
         | https://alien-
         | project.org/documentation/Evolutionexperiments...)
        
           | harpiaharpyja wrote:
           | One of the YouTube videos claims that they are self-
           | replicating structures that were "evolved" in another
           | simulation. So possibly the appearance of being designed
           | comes from the fact that they were selected from the best of
           | whatever was produced by that other simulation and placed
           | together for a video.
        
         | [deleted]
        
         | ericbarrett wrote:
         | I wrote a ( _much_ less fancy) cellular automata program I
         | called  "evol" [0]. It simulates organisms on a flat grid. They
         | have opcodes which are randomly permutated from time to time.
         | If they can collect enough energy, they split; if they lose too
         | much, they die. Having more opcodes costs more energy. There is
         | no hinting or designing; everything starts with a simple
         | "MOVE_RANDOM".
         | 
         | If you leave the program running long enough, they do actually
         | evolve different behavior. Specifically, they will learn to
         | recognize that there are other lifeforms in a direction and
         | then move the opposite direction, reducing competition over the
         | fixed amount of energy in a cell. You can actually see the
         | population density rise when this happens. Since the grid
         | wraps, you will generally get them "flowing" in one direction,
         | cooperatively.
         | 
         | The world is simple and boring and it doesn't have graphics.
         | Also, since the naive "Dna"/opcodes I chose use branching and
         | random number generation, it's very slow and can't be simulated
         | on a GPU.
         | 
         | Fun project nevertheless. The last few months, I've been slowly
         | rewriting it in Rust and adding more stuff like terrain height.
         | Haven't published the Rust version yet as it's incomplete--got
         | hung up on the poor state of its terminal libraries.
         | 
         | [0] https://github.com/ehbar/evol
        
         | kkotak wrote:
         | I wonder if multiple simulations show any level of convergence.
        
       | nayuki wrote:
       | Their favicon really looks like Flickr's logo.
        
         | troymc wrote:
         | While that's true, I doubt that will ever be a problem for
         | _ALiEn_ or Flickr.
        
       ___________________________________________________________________
       (page generated 2021-06-11 23:00 UTC)