5 ms·
Show HN: Terra, a JS framework for cellular automata and biological simulations
- RobotCaleb 12y agoThis is pretty cool. Thanks for sharing, rileyjshaw.
- rileyjshaw 12y agoGlad you like it! Let me know if you think of any potential improvements
- FranOntanaya 12y agoDo 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.
- pokpokpok 12y agoSee also: darwin pond
- rileyjshaw 12y agoOh wow!! I hadn't seen this, super cool. Thanks for sharing
- Botsareus 12y agoShameless Promo: You guys can take all you like. Just remember who you getting it from :P - Paul
- deleted 12y ago[deleted]
- pokpokpok 12y agoLove 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 :)
- rileyjshaw 12y agoCha Gheill!! If I'm back in the area I'll definitely swing by, feel free to send me a link until then
- Igglyboo 12y agoAbsolutely love this, Game of Life/Cellular Automaton never cease to amaze me even with such simplistic rules.
- binocarlos 12y agoThat's really cool and a whole new world to discover via code - thanks!
- josealicarte 12y agoThis is awesome, lot of update via code :), thanks this can be use for my future references
- daemonk 12y agoHey Riley, this is Damian from hackerschool. Nice work. I remember you showed a prototype of this project on one of the thursday presentations.
- rileyjshaw 12y agoDamian!! Neeraj and I were just talking about our check-ins yesterday; what are you up to these days?
- wismer 12y agooh yous guys! When are you three gonna come back to nyc ;)
- rileyjshaw 12y agoThe gang's all here..
- Rhapso 12y agothis is a background in this vein I did a while ago. http://www.glidr.net/ http://www.glidr.net/ It runs a lot slower than it could. Running it faster made it less appealing. (works on mobile)
- rileyjshaw 12y agoHahah glidr, nice
- ttty 12y agoI intent to use this on my planets in my game: http://54.77.31.219/ http://54.77.31.219/ looking for this kind of stuff for some time. glad it appeared on hn (: thanks
- rileyjshaw 12y agoVery cool! Let me know when you include it and I'll add a link to the page
- ttty 12y agoOk (: I'm still figuring out the mechanics. The only thing I don't really like is the way it works. Is global... :/
- rileyjshaw 12y agoIt 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.
- ttty 12y agoI 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'});
- rileyjshaw 12y agoI understand what you mean now. Are you able to make a pull request (or an issue) at https://github.com/rileyjshaw/terra https://github.com/rileyjshaw/terra? Pretty busy for the next few days but I'll try to get to it
- rileyjshaw 12y agoActually, 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..
- kordless 12y agoIt 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.
- rileyjshaw 12y agoGood 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?
- kordless 12y agoI 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.
- rileyjshaw 12y agoSorry @kordless! That was just me being dumb and forgetting to push bugfixes. It should "just work" now :)
- azeirah 12y agoI made a really simple l-systems lib if anyone is interested. If fits in the same general vein of natural-computing. https://github.com/Azeirah/L-Systems https://github.com/Azeirah/L-Systems
- johnhenry 12y agoEvery 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!
- possibilistic 12y agoRiley, this is beautiful. The design, docs, colors, presentation--just fantastic. Awesome work! :)