

You might think that dividn up a 10,000*10,000 spae into subspaces of 8*8 is a lot os tasks - but accumulating their states values is in fact much, much less computing work than performing the GoL algo to each cell plus their 8 neighbours plus comparing the number and storing the new state for the net iteration somewhere.īut like i said above, for a random init state with 30% population this wont make much sense, as there will be not many completely dead 8*8 subspaces to find (leave alone dead 256*256 subpaces)Īnd of course, the way of perfect optimisation will last but not least depend on your language. Includes custom models, working spinner, custom pieces, and high-resolution scans. When you are finished assigning the "has life" attribute to all possible subspaces, you end up with a list of subspaces which you now simply extend by +1 to each direction - with empty cells - and perform the regular (or modified) game of life rules to them. Every cell interacts with its eight neighbours, which are the cells that are horizontally, vertically, or diagonally adjacent. Only spaces which "have life" need to be divided into smaller subspaces - the empty ones can be skipped. Rules The universe of the Game of Life is an infinite, two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, live or dead (or populated and unpopulated, respectively). Pop in colorful pegs and spin to move along the gameboard as life unfolds from Start to Retirement.
#Game of life rules 2002 download
Whenever you find life, you mark these subspaces as "has life". Hasbro Games ( F0800) The Game of Life Game, Family Board Game for 2 to 4 Players, for Kids Ages 8 and Up, Includes Colorful Pegs File Size : 4.5 MB Download PRODUCT INFO Buckle up for an exciting ride through life's twists and turns. You could go down to subframes of 8*8 or 10*10 (not sure what makes the most sense here) now. If its sum of states is >0, you will now divide up the second quarter into 4 pieces again - and repeat this check for life for each of these subspaces. So if you have a field of 10,000 * 10,000, you´d first accumulate the states of the upper left quarter of 5,000 * 5,000.Īnd if the sum of states is zero in the first quarter, you can ignore this first quarter completely now and check the upper right 5,000 * 5,000 for life next. I would just divide the matrix up into halves and start checking the bigger ones first. Im my opinion it can make sense to check for completely dead spaces first, when your initial state is something like "random, but with chance for life lower than 5%."

If the majority of cells is dead, you could save a lot of CPU time by skipping empty parts and not calculating stuff cell by cell. What is the most efficient algo mainly depends on the initial state.
