Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Conway's Multiplayer Game of Life (lifecompetes.com)
81 points by bpierre on July 29, 2014 | hide | past | favorite | 25 comments


Author here.

The front page of HN is proving to be a great way to stress test this. I'm surprised NginX (serving the static content) and Node.js (all the websockets communication) is handling 50+ players, no problem.


I seem to have lost my bits :-) Somewhere out there are 2 blue boxes that I can't tell apart from a sea of other blue boxes.

This is thoroughly fun!


If you click a cell and it becomes occupied before you can click the "place cells" button, you can either click the cell again to "unflag" it, or refresh the page. I'm assuming this is the problem you're describing.

I should add some hover-state that shows the cell's owner on the board.


Ah yes, a hover state to show the owner's cells would be perfect.


That was a lot of fun, thank you!

Apologies if I went a little overboard on the fun.


It's you!

That high score is impressive (even with a bot). I'm not sure if you noticed that others were at one point rallying against you. Someone created a player named "down with CyberShadow".


where are you running it? Nginx on a single box can handle 300 connections with 2 cores and 3-4 gb ram


It's running on a $10/month 1 GB memory/1 CPU droplet on Digital Ocean. Nginx is letting the websockets connections through to Node.js, and I'm assuming Node.js is what would crash first.


This reminds me of David Brin's book Glory Season, where a common pastime for the characters is the play a competitive version of the Game of Life.

http://en.m.wikipedia.org/wiki/Glory_Season


Nice! Simple tactics I found so far:

1. Place an http://www.conwaylife.com/wiki/R-pentomino wherever there is lots of space and you have 5 to spare. Or another http://www.conwaylife.com/wiki/List_of_long-lived_methuselah... (sort by initial population).

2. Free-ride on others' cells to create some fertile configuration with less than 5 investment. In most cases this benefits the original owner more than me.

- Add a 3-line to a block (or anything with a 2-cell side):

   xx
   xx
     OOO  <- my 3 cells

  This resembles one of the predecessors of an r-pentamino and grows nicely.

 - Add 2 "ears" to a blinker — a complete takeover!:

   OxO
    x
    x

 - Add 2 onto some diagonal edge, e.g. beehive:

    xx
   x  x
    xxO
     O

   This is very sensitive to what I attach to, e.g. in this variation my cells die out:

    xx
   x  xO
    xxO


Nice. I hadn't considered attaching three cells to another player's block.

Another tactic that I've seen in the game is to use 1-3 cells to cause other patterns of >10 cells to "self-destruct". This can work directly in your favor if another player's cells are obstructing a future growth-path of one of your methuselahs.


I pretty much gave up on real-time interaction with dynamic structures as I have no idea what it'll do. It would much more practical if the game gave a glimpse into the future, including effects of cells I marked for placement but didn't commit yet. Something in the spirit of https://www.youtube.com/watch?v=xg0PKAvL01Y only looking into the future rather then past.


That is another good idea. I may implement that as well.

The problem I'm focusing on at the moment is that the game is both less challenging and less fun when fewer players are online (if you have any ideas to increase player retention/engagement or make the game seem more "active" when fewer players are online).


Frequently I was out of cells to place and waiting for a sufficient number to do something interesting is boringly slow. I found myself wasting 1-2 cells on mostly ineffective gambits because I was too impatient to wait for 3+... Or I could switch away, and at some point come back later with 12 cells - but that could be half a hour later.

1. show number of cells-to-place in tab title / favicon. Helps with switching away but coming back when I have something to do.

2. consider having several "rooms" so an active player can always have something to do without entirely switching away. Or instead of independent rooms have a larger map with distant areas of it having independent supply of cells.

Wilder idea: the game runs so slow to let you carefully place many cells, and give _some_ hope of reacting events in real time, right? What if it run faster but you could enter "bullet time" when you're placing cells? Moreover, what if you could unwind time back a few steps?! The latter sounds especially cool, because it gives limited foresight (and ability to experiment) within the same interface. This can be allowed without inconsistency due to speed-of-light delay, under baddox's idea where each player can only place cells in a separate area. Maybe even possible in some adaptive way with unrestricted gameplay, but much harder.


Great concept. The generation rate is too low for me to stick around though. It might be more interesting to do 10 or 20 generations per tick.

When I read the headline, I was imagining an endless board where each player got a grid, say 20x20, where he could place anything he wanted, and all the boards would be right next to each other so you could try to "invade" your neighbors.


this version sounds great too!


I do like this - can't wait for the sequels:

- Conway - the first person shooter

- Conway II - no more nice evolution

- Conway text-RPG - "life! don't talk to me about life!"

- Conway multi-levels "The high life"

- Conway or the highway

- Conway the Barbarian

(I think it's time I stopped)

Nice one.


Very cool! I was able to use some 'strategies' for cell placement that I learned while making this:

http://dj.github.io/react_game_of_life/

It started as just an attempt to create the game of life in react, but as I started to add some interactivity to it, I started to wonder if there was an actual game in there somewhere. Never really figured out what I wanted to do with it though.


I never thought about Game of Life as a game (great job, thanks for sharing!). If it can be made "multiplayer" then "strip" does not sound ridiculous anymore (http://xkcd.com/696/, http://konstochvanligasaker.se/stripgameoflife/).


Interesting. I extended the Game of Life to three states instead of the usual two states when I was learning javascript. Just a fun little hack.

http://bl.ocks.org/rsivapr/6108940


Finally, after much ado, top ranked (except for that amazing bot).


Oddly, my highscore dropped. It was 35, then it went to my current score of 26. Does your highscore reset when you lose all your bits then start to place more?


Nope, the server crashed and restarted! Some of the local data on your client was out of sync with the server during the restart (at least, that is my best guess).


Does not work in Opera 12.17 - I click "Play" and nothing happens, although my nick appears as taken if I try to use it from another browser.


Strange, I only see a growing & collapsing circle. Game of Life isn't supposed to be that boring.




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

Search: