

Show HN: Multi-player Competitive Conway's Game of Life - samuellevy
http://gameoflifetotalwar.com/

======
samuellevy
I made this as an experiment. It's an idea that I've been toying with for a
long time, but I only just got around to building it.

~~~
eclipsor
Ton of questions, I've been working on a small game (+engine) myself and it
has been magnitudes more difficult than I imagined.

Do you have any blog posts about the process of making this? I see the
technology link, but I'd like to hear a little more about the architecture.
Something along the lines of a post mortem maybe.

* What sparked this idea?

* Was your initial set of features more simple or more complex?

* Any features you had to give up on?

* Any unexpected features you were able to add after you were forced to rearchitect it? (Ok, I may be painting my own experiences on you with this question.)

* _How long did it take?_

~~~
samuellevy
Let's see...

I haven't written a post mortem yet, partly because I'm still building it, and
partly because I hadn't seen it under heavy load (although I woke to emails
from linode screaming at me about high CPU usage)

* The idea is one that I've been toying with for years. I've made other experiments that got some notice here a few years ago, too.

* There are some extra features that I still want to add at some point ('formations' for pre-building shapes, as an example. The database table is there, but no functionality.)

* Nothing given up on entirely yet.

* The only rearchitecting that happened was replacing the board UI with a canvas implementation. The initial version used a table and was painfully slow. From past experience I knew that wouldn't cut it, but it was an easy starting point.

* the initial commit was... October 2nd, but I didn't start working on it till a week later. All in all, I've just grabbed time between other (paying) projects.

------
zaphar
Conway's Game of Life is my goto "learn a new language" project. It covers
most of a languages surface. data structures, conditionals, loops, stdlib. And
the rules are _just_ complex enough to get a sense of how the language works.

~~~
hanoz
Snap! I've been doing the very same since Turbo Pascal back in the 80s. I'm
recently trying to get to grips with Android, hence I present:
[https://play.google.com/store/apps/details?id=com.singlemost...](https://play.google.com/store/apps/details?id=com.singlemost.lifewallpaper),
if I may be so bold. It's had precisely zero downloads since its publication a
week ago, which has itself been a lesson. Hopefully I'm not too out of order
running it past some cellular automata enthusiasts on this thread.

~~~
zaphar
Installed. Looks cool.

------
adwf
Really cool. Spent ages building a glider gun and then pointed it in the wrong
direction...

I think there are probably a few too many civilians in there as well, messed
up any cool formations I had far too early for them to be effective.

~~~
phreeza
I also built one, the very first glider collided with some civilians and the
'shrapnel' took out my gun as well. Would be neat to be able to save patterns.

------
mod
I had a lot of fun with this, until now:

My challenge has been accepted, but my challenger will not place his armies,
and so I'm effectively unable to play.

Perhaps he's placing a really, really elaborate pattern.

Edit: He placed about 30 minutes after accepting. I could still see this being
a problem, and so this is a type of bug report.

~~~
samuellevy
Yeah, it's a problem with no great solution. That's one reason why I allowed
registered users to make multiple armies.

~~~
lockes5hadow
It would be really useful if you could save patterns to copy paste them into
the battlefield. Some of the more complex patterns are really really hard to
paint on a high resolution screen.

~~~
samuellevy
It's definitely planned (I have a 'formations' table ready to go), I just
haven't spent the time to build it yet.

------
jonahrd
I created the Max space filler. too bad it's very volatile inside
[http://gameoflifetotalwar.com/challenge/pwtOc](http://gameoflifetotalwar.com/challenge/pwtOc)

------
cpfohl
Do you detect stable states to declare a draw? They can take many generations
to develop and reveal themselves...

~~~
lockes5hadow
You mean solve the halting problem? That would be impressive.

~~~
cpfohl
no, I mean detecting a cycle. If you ever find a state that has already been
visited you can know for certain it's "stuck"

------
whitten
This is an impressive bit of coding, especially since it displays the battles
in real-time.

------
drewblaisdell
Very cool. I made a multiplayer version of Conway's Game of Life a few months
ago, and it is fascinating to see how much our versions differ.

I dig how you are using "war" as not just a metaphor, but a game concept.

------
lytedev
This is too fun. Unfortunately, seems that an excellent and simple strategy to
win is to just place entire columns full of life, particularly on the front
and back ends (with whatever subdivisions you can afford also).

------
hanoz
Good work, excellent fun! I don't know if it's just me but I'm finding Firefox
has the "I'm ready for battle" button disabled on first load of the challenge
page.

------
arikrak
Cool idea. Maybe make it easier to get started, it's a bit unclear initially
what to do. Also, maybe have a mini version where you just place 20-30 armies
instead of 100.

------
rev_bird
This looks like a more organized version of
[http://lifecompetes.com](http://lifecompetes.com), which is itself a LOT of
fun.

------
eevilspock
Not meant as a criticism, but a thought: It's a bit ironic that for a thing
meant to demonstrate the concept of emergence, players are designing states
rather than rules conducive to emergence.

For example, imagine a game where flocks of boids[1] did battle, but instead
of setting their initial position, you programmed the rules of behavior that
governed each boid identically. The fixed rules of the system are such that
the more "cooperative" the behavior, the greater the chance of success.
Individual boids aren't allowed to have any memory (i.e. stateless), so AI
solutions are precluded.

[1] [http://www.red3d.com/cwr/boids/](http://www.red3d.com/cwr/boids/)

~~~
phreeza
There have been many games written in that direction (including one by yours
truly: [0]) I actually think this turning things on their head is refreshing!

[0] [http://phonons.wordpress.com/2010/06/01/cells-a-massively-
mu...](http://phonons.wordpress.com/2010/06/01/cells-a-massively-multi-agent-
python-programming-game/)

