32 comments

[ 2.9 ms ] story [ 82.3 ms ] thread
This is pretty cool. Thanks for sharing, rileyjshaw.
Glad you like it! Let me know if you think of any potential improvements
Do you know DarwinBots? There's plenty to take from there. I've been wishing for years for an alife sim as flexible as DB that would run well on Linux.
Oh wow!! I hadn't seen this, super cool. Thanks for sharing
Shameless Promo: You guys can take all you like. Just remember who you getting it from :P

- Paul

(comment deleted)
Love it! emergent complexity, pixels, and colors! I'm working on a similar project I want to show you if you make it to a Queens Hack Night this year :)
Cha Gheill!! If I'm back in the area I'll definitely swing by, feel free to send me a link until then
Absolutely love this, Game of Life/Cellular Automaton never cease to amaze me even with such simplistic rules.
That's really cool and a whole new world to discover via code - thanks!
This is awesome, lot of update via code :), thanks this can be use for my future references
Hey Riley, this is Damian from hackerschool. Nice work. I remember you showed a prototype of this project on one of the thursday presentations.
Damian!! Neeraj and I were just talking about our check-ins yesterday; what are you up to these days?
oh yous guys! When are you three gonna come back to nyc ;)
this is a background in this vein I did a while ago.

http://www.glidr.net/

It runs a lot slower than it could. Running it faster made it less appealing. (works on mobile)

I intent to use this on my planets in my game: http://54.77.31.219/ looking for this kind of stuff for some time. glad it appeared on hn (: thanks
Very cool! Let me know when you include it and I'll add a link to the page
Ok (: I'm still figuring out the mechanics. The only thing I don't really like is the way it works. Is global... :/
It doesn't have to be global! Terra works as a module with most popular module systems. For example:

  var terra = require('./terra.min.js');
should work in any CommonJS environment.
I mean when you register

    terra.creatureFactory.register({type: 'firstCreature'});
this is stored in the global `terra` variable... Would be better IMO

    var terra = new Terra();terra.creatureFactory.register({type: 'firstCreature'});
I understand what you mean now. Are you able to make a pull request (or an issue) at https://github.com/rileyjshaw/terra? Pretty busy for the next few days but I'll try to get to it
Actually, I've been thinking more about this and feel it's better to define creatures on the root terra object. Running the same simulation 100 times with slightly different starting conditions, for example, would require a new terrarium for each trial but creatures should be shared between..
It would be awesome if the 'examples' actually showed you how to get it going yourself. I don't see any sample HTML anywhere, and your main page's JavaScript is compressed.
Good point! I just added a few lines to each to make them complete; if you include terra before running each example they should work now. Is this better?
I opened a ticket if you are so inclined. The problem defined is that there isn't a clear method for getting this running in a quick webpage hackup way. It's JavaScript, so it should just 'work' when I cut and paste, as long as I'm including a min file somewhere.

There appear to be a good number of dependencies in the terra.js file, which isn't explained on the page. I see something called lowdash and seedrandom in there, both of which I have never seen before and have no clue how to install. I simply want to cut and paste the examples as they are shown and get something working. I don't want to run a bunch of build processes for installing a bunch of third party libraries on my machine when all I want is to include it on a single page in my project!

Anyway, it looks really cool. Wish I could use it.

Sorry @kordless! That was just me being dumb and forgetting to push bugfixes. It should "just work" now :)
Every so often, I sit down and begin making something like this. Then I get distracted and I forget about it for a while. This is really awesome!
Riley, this is beautiful. The design, docs, colors, presentation--just fantastic. Awesome work! :)