Hacker News new | past | comments | ask | show | jobs | submit login
Wireworld (wikipedia.org)
290 points by vmorgulis on July 7, 2016 | hide | past | web | favorite | 26 comments



This is my favorite cellular automata. The simplicity and elegance that allows for such complex logic.

I ported the famous wireworld computer[0] to javascript a few years back[1]. The source[2] is in c# transpiled to javascript so it may be a bit hard to follow, but still an interesting read of how to squeeze every draw call out of 2d canvas.

[0] http://www.quinapalus.com/wi-index.html

[1] http://dested.com/projects/wire/

[2] https://github.com/dested/WireWorld


[1] is soo enthralling. In case it isn't obvious to everyone, you can add an electron with left click and reset things to copper with the right click. It's loads of fun to introduce a few random errors and watch them cascade through the system.


I love the logging/comments in that design.


If you like wireworld, you'll love Factorio's conveyor belts [1]!

Also check out John von Neumann's 29 state cellular automata [2] and universal constructor [3].

[1] https://www.youtube.com/watch?v=4mGdL4XKXew

[2] https://en.wikipedia.org/wiki/Von_Neumann_cellular_automaton

[3] https://en.wikipedia.org/wiki/Von_Neumann_universal_construc...


Factorio is great. You a few dozen minutes or so thinking that this is a typical RTS with a twist, and then you suddenly realize that the opponent in this game is not really those hostile critters - the true challenge is managing complexity of your logistics.

This game is hard fun. I.e., the kind of fun that makes you want to write an autorouting programm for the converyor belts.


I just got a copy on last week's Steam sale. It's tremendously good fun and a real time soaker :)


That's my main complaint with it. Because you can only act locally around your little man you have slog all over the map, which doesn't add to gameplay much (the attacking monsters are infrequent, as far as i've gotten in the game, and easily dealt with by turrets).

I'm more interested, when playing the game, in making clever and efficient systems to move my bits around and the game, because of it's interface, makes that hard. Eventually I realize how many hours it's going to take to rearrange all my conveyers and I quit.


The late-game tech really helps with this - you eventually get technologies that all you to blueprint and paste groups of buildings. This doesn't alleviate all of the issues, but it allows for component re-use and standardization. I do think some of the limits in Factorio are what make it fun, and differentiate it from a pure programming game.

I usually struggle to play any game that's too similar to brainteasers, puzzling, or thinking about systems optimization: I would rather spend those hours just programming, which is just as fun, and far more rewarding. But Factorio is sooo much fun... especially if you set up a server and play with friends.

I learned Chef getting my Factorio server running :) It's turtles all the way down in automation land.


Have you tried the Avatar mod? [1] It's like in-game VNC for virtual players! Once you manufacture your avatar limb by limb and put it together, you build a control console, which is like a stationary vehicle you stand next to and press "return" to "enter" -- then you're driving around your new avatar! It blows my mind what some of those mods can do.

http://www.factoriomods.com/mods/avatars

https://www.youtube.com/watch?v=QOXb03ubISE


This is awesome! I made a sort of action puzzle game loosely based on this a while back (without realizing it, as I had no idea about Wireworld) for a Ludum Dare. Cool to see this concept somewhere else!

I still want to, someday, flesh it out. I think it would make a pretty fun mobile game!

Source: https://github.com/lytedev/ld26-almost-nothing

Somebody "speedrunning" an earlier in-dev version of the game: https://www.youtube.com/watch?v=z33Rmx8QHQ8


I never thought about making a puzzle game out of those automata. that's pretty awesome! :)


That's pretty cool - I like how you have to get the timing correct as well.


I've been working on steamdance[1] for the past few years, which is a little logic simulator a lot like wireworld. The project started as a way to teach digital logic and evolved from there. (It used to be called boilerplate, but we renamed it for obvious reasons.)

Its still not ready for prime time, but we've been making some cool stuff with it anyway:

Simple logic gates: https://steam.dance/nornagon/logic

2 full adders: https://steam.dance/josephg/adder

A compacted 8 bit adder: https://steam.dance/josephg/alu

The purple boxes in the top left are dragable. Hit play to see it calculate out.

[1] https://steam.dance/ Source: https://github.com/josephg/steamdance


I cannot view things like this and https://niginsblog.wordpress.com/2016/03/07/new-spaceship-sp... and https://www.youtube.com/watch?v=C2vgICfQawE without coming to the conclusion that we, and life, are just massively complex self-replicating patterns.

May you find peace in the oscillations.


I find this to be quite amazing. Life within life. https://youtu.be/xP5-iIeKXE8


> we, and life, are just massively complex self-replicating patterns

DNA


You make it sound like a problem, why is that?


Congratulations, you have almost discovered the existence of laws of nature that underlay biological processes.


I did an implementation of this a really long time ago (Github says 3 years) to play with Dart.

http://nicmalan.com/wireworld/

https://github.com/n1c/wireworld


Golly [0], an open source, cross-platform application for exploring cellular automata, includes the Wireworld ruleset and some example starting patterns.

[0] http://golly.sourceforge.net/


If you liked that, you might also find interesting Drescher's 'Quantish' model where he demonstrates how you can implement quantum effects using simplish circuits: https://xorshammer.com/2010/02/17/quantish-physics-a-discret... http://dspace.mit.edu/bitstream/handle/1721.1/6486/AIM-1026a...


I often think that this is what Minecraft should have used instead of redstone.


This similar thing was posted here a while ago: https://github.com/martinkirsche/wired-logic


This reminds me also of Conway's game of life. I love those kind of automata systems. I did an implementation of it a few years ago (it's pretty simple and bad I was just learning how to program) but it works http://www.jonathanfromgrowth.com/lifebb


There was a book (which I had and lost) back in the eighties or nineties, and I think Wireworld was featured in the chapter on cellular automata. Other variations included Life with multiple levels of health, not just dead or alive.

Anyone remember it?


See also https://github.com/martinkirsche/wired-logic which isn't a cellular automaton, but was inspired by Wireworld.




Registration is open for Startup School 2019. Classes start July 22nd.

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

Search: