Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Darwinia features an intro which represents a modified version of Conway's Game of Life. You can see it in action here.

The game developers added one more rule about the game: no cell may live longer than 50 generations. This is supposed to kill all the cells eventually, which is what does happens in the game.

However, when I tried to model this behaviour in my own implementation of the Game of Life, I've got different results. When four dots live together, they usually don't die. When one of them passes away, a new dot gets born in the next generations due to three other dots. Unless two or more dots disappear at the same time, the block will keep itself alive.

So the question is, why do four-dot blocks die in Darwinia and not die in my case?

Update: To be clear, the starting pattern seems to be completely random. During the intro you may press 'g', and everything starts all over again with a random pattern. Also I've changed the link to the video, where you may see a longer version.

Update 2: Tried to add the age of the cell into the birth mechanism, so that a cell past certain age can't give birth to new cells. It definitely works, with the lifespan of 50 generations, setting the last age when a cell can give birth to a new one to, say, 48 generations, works in most cases. Not sure whether the Introversion Software guys used rules like this, though, but it works.

share|improve this question

migrated from gaming.stackexchange.com Mar 2 '11 at 22:08

This question came from our site for passionate videogamers on all platforms.

    
Very interesting question for math.stackexchange.com –  StrixVaria Mar 2 '11 at 21:35
    
@Malcolm: I agree that it is kind of hard to determine the best place to post this question. I think, however, your best responses would come from a site that allows and promotes discussion of algorithms. Mathematics (or possibly Theoretical Computer Science) would be good places to start. –  Shaun Mar 2 '11 at 21:38
1  
I'm kinda not sure I want to migrate to Math over an implementation detail, tbh. –  badp Mar 2 '11 at 21:44
2  
Is the bootloader prescripted, or does it start with a purely randomized grouping? –  Grace Note Mar 2 '11 at 21:55
1  
@badp: While this is a question about something seen in the introduction of a game, Malcom specifically indicates that he's trying to implement a programmatic algorithm based on a 0-player 'game' and is having trouble getting the desired result. Even if you qualified the Game of Life as a game, you're dealing with a Game Development question at the very least. If it's not a game (which I tend to believe), then you're dealing with a pure algorithm issue. –  Shaun Mar 2 '11 at 22:04

4 Answers 4

up vote 2 down vote accepted

From what I see in the video, the cells are directly manipulated in order to zero them out. For example, if you see a square block of four alive cells (as happens in the video), and they continue alive in the next step, they will stay this way until some other cell "crashes" into them: since the alive/dead status of a cell is a function of the statuses of the eight neighbors, each of these four cells represents a fixed point of that function. That is, no set of rules from Conway's Life will mimic exactly the behavior in the video, and you will need some direct modification of the grid in order to achieve similar results.

However, there are many sets of rules that are "less prolific", or more hostile, than the usual one, and this in combination with some specific starting setup should guarantee that all cells die eventually.

share|improve this answer
    
This is the best suggestion so far, because I don't see how the described set of rules guarantees death of four-dot blocks. Still, I don't know what they do exactly to ensure such behavior. By the way, I've updated the video, it shows a longer-running pattern (maybe it helps). –  Malcolm Mar 3 '11 at 11:23
    
@Malcolm At some point there is one four cells block that fades away, then kind of blinks for a frame into full sight and then is removed. I think they just special cased them out. –  badp Mar 3 '11 at 11:36
    
Yes, that also seems to be one of the most likely variants of what they've done. I also had another idea: what if a living cell past certain age can't give birth to any new cells? That way all the normal life patterns in which cells die quickly are intact, but stable ones eventually die out. The phoenix is, of course, an exception. –  Malcolm Mar 3 '11 at 13:44
    
@Malcolm: I agree with @badp. In Conway's Life, generations don't play a role, only dead/alive status, but you might be able to use age in multicolored variants of this game, like en.wikipedia.org/wiki/Mirek%27s_Cellebration. –  Abel Mar 3 '11 at 16:53

Perhaps they're saying that no cell in the grid can have more than 50 generations of total life? On a finite board, this obviously guarantees that every pattern dies out eventually while still offering potentially large lifespans for patterns as a whole.

If the implementation is such that a cell that would otherwise live dies only if it's been alive for 50 consecutive generations, then there are still infinite patterns that can arise; in particular, Phoenix patterns are oscillators in which all live cells die out every step (but new cells are born): see http://www.conwaylife.com/wiki/index.php?title=Phoenix_1 for a simple example. Another, more practical easy example is the humble Glider; as it's constantly in motion, none of its constituent cells is alive for more than a few frames at a time, and a pattern that evolves to a solitary glider roaming the grid would thus live forever.

share|improve this answer
    
A good guess, but it doesn't seem right to me. If total life counted, then after passing out of a four-cell block this place would become a dead spot, where nothing can live. However, this doesn't happen. The lifespan of patterns also easily hits 1000 generations, which is a bit too much for 50 generations per one cell, I'd say. Gliders won't live forever in this case because the field is finite. Phoenix should, though. Unfortunately, I can't check how it behaves in Darwinia implementation. I've changed the link to the video, it shows now a longer-running pattern. –  Malcolm Mar 3 '11 at 11:15

If a four block decays depends on whether two of the cells were created at the same time or not. So it depends on the initial configuration, which were probably different in your case.

share|improve this answer
    
In Darwinia intro all the cells seem to be generated randomly at the start, but in no case the pattern lives forever. But in my case appearing of immortal four-dot blocks happens all the time. –  Malcolm Mar 3 '11 at 11:20

I think it may be more like what Steven Stadnicki suggested, except once the cell is cleared, the counter is reset. Check the central pixel in 3x1->1x3->3x1->... patterns.

share|improve this answer
    
If the counter is reset, how is it different from what I tried? –  Malcolm Mar 6 '11 at 21:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.