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.)
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.
Pretty cool! I did something similar when I was learning javascript. I built GoL for a three-state system. Here's the bl.ocks.org link : http://goo.gl/H0Wqxo
Not sure how good they are in practice. I just experimented a little bit with it ( https://i.imgur.com/pLyKKpg.png ) and there seem to be a pattern that destroys the uniform line pattern in certain directions (in the lower part), however, with most obstacles it left a lot of stuff behind (the upper part in the picture). The initial pattern is not very simple though: https://i.imgur.com/PfVjVOt.png
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.
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..., 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.
I usually write two versions of it once I start learning a language. I'll write my first iteration with minimal exposure to the language then try and come back later and make it more idiomatic after I've spent some more time with the language.
I've done this with Go, JavaScript, Python, and C so far. Most of my iteration 1's start off with a Java flavor, my second iteration in python was pretty impressive with regards to how many fewer lines I had to use compared to the non-idiomatic version.
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.
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.
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.
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!
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).
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.
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.