I have a hardware only 256 x 256 "Life Machine", is that interesting?

For general discussion about Conway's Game of Life.
Post Reply
gschadow
Posts: 4
Joined: August 17th, 2020, 6:27 pm

I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by gschadow » August 17th, 2020, 6:39 pm

Hello, I am new here.

I just finished making a hardware only Life Machine™ on breadboard using 74LSxx chips. I call it The Life Machine™ or Life from Scratch™ It is my first full digital electronics project. It works on an analog oscilloscope in X-Y-Z mode. The field is 256 x 256 pixels in size, and it is set up to run at 4 MHz at a 60 Hz frame-rate, but because of some glitching with the capacitance issues on the breadboard setup, it works well at 1 MHz, 15 Hz framerate. There is one generation per frame, so the design, if properly moved onto a reasonable PCB or wire-wrap board would probably be easily scaleable to a field of 512 x 512 pixels at 60 Hz with an 16 MHz crystal or from there onward.

My algorithm is quite highly optimized so that it runs in a single pass. There is no CPU involved and no micro-controller, no code, its 100% pure hardware automaton. No FPGA. Just RAM, counters, bus transceivers, latches, and a hard-wired neighbor-count-adder with one breadboard slice of 1-bit full-adders, AND, OR, XOR, and inverter chips. No higher order display chip either, even the DAC for the X-Y deflection I made myself from R-2R resistor ladders.

I wonder whether there is interest in this or if this has been done many times before? I wonder how I should publish this? Do you think there is any journal that would have any interest in this? I could imagine I am perhaps 40 years late to the party, but when googling I have not found nether the hardware only setup quite like mine nor have I found my algorithm being discussed and the way it's implemented. I find my solution very nifty.

Since I'm new to the community, I appreciate to hear your reactions. Will post some YouTube videos at some point, when I have better bandwidth to upload.
Last edited by gschadow on August 18th, 2020, 10:22 am, edited 1 time in total.

User avatar
pcallahan
Posts: 854
Joined: April 26th, 2013, 1:04 pm

Re: I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by pcallahan » August 18th, 2020, 10:18 am

It's a little bit interesting, but not very practical. There have been hardware implementations of Life before. I'm not aware of one exactly like yours, but I'm curious about the details.

I assume it has to send the entire grid serially through the 74LSxx logic. I can see how to do that if you have access to stream of bits in one row as well as the row above and below it. You start with a single stream, and fan it out into three streams staggered by the number of columns and use Life rules to combine them into a single output stream. I can picture doing this with shift registers, but it sounds expensive. The RAM addressing sounds hard using direct digital logic. I'm also curious how you would go about inputing the initial pattern, but conceptually it should work. The details are more interesting than the basic idea.

Are you interested in posting the logic here? At least give a general idea of how many chips are needed? It seems like something that could have been published as a hobby project a long time ago. With fast computers now ubiquitous and usually much cheaper than oscilloscopes, the interest is pretty limited to those who like retro projects. Can you make a YouTube video and post a link?

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by Hunting » August 19th, 2020, 7:42 am

It will be much more useful if you implement one of those "more useful" automata, for example the maze solver...

gschadow
Posts: 4
Joined: August 17th, 2020, 6:27 pm

Re: I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by gschadow » August 19th, 2020, 12:00 pm

Hunting wrote:
August 19th, 2020, 7:42 am
It will be much more useful if you implement one of those "more useful" automata, for example the maze solver...
I have been searching around trying to make sense of your hint, to understand how maze solving is related to Conway's Game of Life. I found this thesis, "Solving Puzzles using Cellular Automata", By Stef van Dijk and also this page Aiding pathfinding with cellular automata.

The maze solver seems pretty simple: just iterate over the entire field and determine dead-ends, fill them, and repeat. But I wonder if it is useful to have one that works on a finite field in the order of magnitude of 256^2 (64 ki) to 65536^2 (4 Gi), which is amenable to reasonably exiting hardware.

I guess there is this question how useful Game of Life is to begin with? To me it always seemed like a curiosity, but ultimately still just a game. In terms of usefulness question, it is like a hammer in search for nails. That is not to belittle useful applications. But then, useful applications seem to always have to change the rules, and so, it becomes something other than Conway Life. (I could indeed just swap out one breadboard slice to make the maze solver from the existing 256x256 machine. And indeed that might lend itself to pretty visualizations. Great idea there.)

My method is optimized for Conway Life, although I could do other rules as long as the neighborhood has a radius of one. I don't think there are any other rules that have the same kind of emergent behavior than B3/S23. I guess I could consider a radius of up to 4 by "throwing hardware at it". I could probably extend to 3 dimensions -- but then the question is whether there is a 3 dimensional visual output device that can be built like a raster scan? Also, my method is what I consider the fastest full scan method, but it does always scan the entire field. And so, even though a 16 x 16 bit addressed field (4 Gi-cells) would, at a upper limit of 4 GHz clock still take over 1 second to produce each generation. I am sure that HashLife is better for that.

So, I agree that perhaps my apparatus is not useful because nobody can compete with HashLife at this point, right? And I assume that a maze solver is also only really interesting if it is for huge mazes, not those that fit on a common high res graphics screen. Perhaps for maze solving the Hash Life algorithm is found to be weak, because HashLife is best the more redundant patterns exist in the universe, with empty space being a very common special case. With a maze, you guys might know that it's not amenable to Hash Life. My method could reasonably do a one Gi-cell world at 1 Hz with a 4 GB clock. Everything beyond that probably stresses the engineering capability even if turned into a single VLSI chip.

But I could be wrong. Am I?

------------------
PS, also thanks for feedback from pcallahan:
pcallahan wrote:
August 18th, 2020, 10:18 am
It's a little bit interesting, but not very practical. There have been hardware implementations of Life before. I'm not aware of one exactly like yours, but I'm curious about the details.

I assume it has to send the entire grid serially through the 74LSxx logic. I can see how to do that if you have access to stream of bits in one row as well as the row above and below it. ...

Are you interested in posting the logic here? At least give a general idea of how many chips are needed? It seems like something that could have been published as a hobby project a long time ago. With fast computers now ubiquitous and usually much cheaper than oscilloscopes, the interest is pretty limited to those who like retro projects. Can you make a YouTube video and post a link?
I think I can do better than what you imagined. I am interested in posting, yes, but I am currently looking for a quality publication method, since I might have mentioned that I'm a "recovering academic" who is still secretly eyeing for peer review / impact-factor publication channels and with a half eye on patent-ability of some piece of it (by a long shot); so that is why I am a little secretive with just blurting everything out. :)

Chip count currently 35 + one resistor-diode AND gate.

As I'm writing this up, drawing a complete schematic in KiCAD, allows me to move it from breadboard to PCB, at least in theory, and enhance it more. Then I could run higher clock frequencies and run it directly out on standard VGA at 800x600 or better. The nice thing about the analog scope is that I don't have to worry about fly-back blank-time. But I'm probably just going to add two S/R-latches to break out into the blank time, pausing the main processor clock (and wasting cycles... hence I despise the magnetic deflection CRTs). Another consideration I have is to skip the CRT world altogether (for this very reason) and instead talk directly to a TFT display panel or cell-phone AMOLED screen. Cell phone screens are very high resolution on very high pixel density, which makes them work well with some magnifying technology such as projector. So, obviously a dream setup would be running it into a projector to project the action on the wall of a building at night. Maybe a laser beam, yes, laser beam would be nice. But again, you see, how my approach is very much tuned to be run in parallel with the sequential display rendering.

User avatar
pcallahan
Posts: 854
Joined: April 26th, 2013, 1:04 pm

Re: I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by pcallahan » August 19th, 2020, 2:01 pm

gschadow wrote:
August 19th, 2020, 12:00 pm
So, I agree that perhaps my apparatus is not useful because nobody can compete with HashLife at this point, right?
Since you gave the grid dimensions, I assumed you were using a dense representation serialized as a stream of bits. But if it's a sparse representation, that would be interesting to see in hardware. I have written several implementations of sparse life that process live cell coordinates in row-major-order by maintaining three pointers, and this can be handled as a streaming application. The logic for doing in it hardware would be complex, but it would not require random access to grid coordinates.
gschadow wrote: I don't think there are any other rules that have the same kind of emergent behavior than B3/S23.
There are, but they're not as well known and tend to be more complex. High-life B36/S23 is probably the best known, but you can see discussion of others on this website.

Hunting
Posts: 4395
Joined: September 11th, 2017, 2:54 am

Re: I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by Hunting » August 19th, 2020, 9:50 pm

gschadow wrote:
August 19th, 2020, 12:00 pm
My method is optimized for Conway Life, although I could do other rules as long as the neighborhood has a radius of one. I don't think there are any other rules that have the same kind of emergent behavior than B3/S23.
...Really? You are saying this to a rulegolfer? That's rude.

Some forum members, myself included, are mainly aiming to find (usually non-totalistic) rule with similar enginnering complexity (but not neccessarily dynamics) and many of them have succeeded. See OCA:Snowflakes, OCA:Tlife, and my signature (sorry for self-promoting). Most of the constructions in Life, like Demonoid or Caterpillar, have been replicated in those rules, using their own alien reactions/constructions. (Although, as far as I know, these rules are really common, so instead of trying to find these rules, my goal is to find a hard-to-develop rule that seems to be boring at first glance, but actually can do anything B3/S23 can do. LeapLife is my favorite example.)

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by Moosey » August 20th, 2020, 7:34 am

Hunting wrote:
August 19th, 2020, 9:50 pm
...Really? You are saying this to a rulegolfer? That's rude.
...Really? You are being this unwelcoming to someone who doesn't even know what you do, the meaning of "rulegolfer", or--indeed, I even don't know-- why you might be offended? That's rude(r). Additionally, he does have a point. Albeit perhaps partly because it's been studied so much, GoL seems to have many more interesting things than do most OCA, particularly considering that it's outer-totalistic! Few OTCA (with the exception of perhaps B36/S23 or B38/S23) seem to be more promising than GoL. Sure, many have been proven TC, but hardly as many have, say, massive amounts of conduits and other microscopic, interesting objects.
not active here but active on discord

gschadow
Posts: 4
Joined: August 17th, 2020, 6:27 pm

Re: I have a hardware only 256 x 256 "Life Machine", is that interesting?

Post by gschadow » August 21st, 2020, 3:51 pm

I appreciate all the feed back, and do not be worried about "unwelcoming". I hear it all in good sportmanship.

My representation is dense. I hope soon I can talk more about it. Meanwhile thanks for the feed-back. I think the small field size of 256x256 makes mine still quite a bit limiting. As I draw schematics, I will see if I can do a PCB version that can work on a 1024x786 VGA at least.

Post Reply