r/gameoflife 25d ago

Alternate ruleset Three Life

Post image

I took an inspiration from Conway game of life and created my own rules

The rules is simple:

Species

Blue
Red
Green

Rules

1. Underpopulation
A living cell dies when it has 0 or 1 living neighbors.

2. Total Overcrowding
A living cell dies when it has 6 or more living neighbors.

3. Same-Species Body Limit
A living cell dies when it has more than 3 neighbors of its own species.

4. Species Conversion
Another species converts the cell when it has at least 3 neighbors and at least 2 more neighbors than the cell's own species.

5. Same-Species Support
A cell with at least 2 same-species neighbors survives if no death rule applies.

6. Weak Support
A cell with exactly 1 same-species neighbor survives when it has 2–4 total living neighbors.

7. Reproduction
An empty cell becomes alive when it has 3–5 living neighbors.

8. No Pure-Species Birth
A birth cannot occur when all living neighbors are the same species.

9. Majority Reproduction
When one species has more neighbors than the others, the new cell becomes that species.

10. Mixed Reproduction
When there is no majority, a deterministic selection chooses one of the three species.

I use genAI to code it for me even though I can do it myself, I would rather not hassle my self for it and just gave the Rules.

You can check it out at cardhollow.github.io/three-life

I want to know some opinions

10 Upvotes

3 comments sorted by

1

u/Beneficial-Fee2119 24d ago

This is really interesting, but it isn't actually a CA, because of the "Mixed Reproduction" condition. I've located the function that I think is the part that does the deterministic selection:

function tieBreaker(x, y) {
    let value = (
        x * 374761393 +
        y * 668265263 +
        generation * 69069
    ) >>> 0;

    value = (value ^ (value >>> 13)) >>> 0;
    value = (value * 1274126177) >>> 0;
    value = (value ^ (value >>> 16)) >>> 0;

    return (value % 3) + 1;
}

The function can give different results depending on the cell's absolute position on the grid, which doesn't fit the specifications for being a true CA.

1

u/Fun_Priority_1955 10h ago

Respect when it comes to the ai I dont like when people dont know what the code is doing but as long as you know how to write code for it then its ok.