Software updated.
23/07/2007 update:
Software updated:
Added a config screen.
Now the user can select if the game state shoud be saved and loaded automatically or not.
Now the user can turn the backlight always on. (currenty buggy).
Added import icon.
Now the user can import life patterns from files stored on memory card or phone's internal memory. You need to hack the Registry.txt file of the application in order to use the import feature. You can do it with my "Java Hacker" app.
19/07/2007 update:
Software updated:
Fixed some bugs.
Now the game state is saved automatically when the app is closed.
Next time you open the app the game state will be automatically loaded.
The game area is changed again. Now it is 64x bigger than the physical screen.
18/07/2007 update:
A sample video of the game:
[ame]http://www.youtube.com/watch?v=ocnPOkAVMDk[/ame]
18/07/2007 update:
Softwate updated:
Performance improved.
Fixed some bugs.
The Help Screen shows the rules of the game.
The game area now is bigger than the physical screen. To scroll use the phone's joystick.
edit: This version was downloaded 27 times.
_________________________________________________
16/07/2007 update:
Software updated.
Some bugs fixed.
Performance improvements.
About Screen changed.
edit:
This version was downloaded 80 times.
_______________________________
Today I made my own implementation of John Horton Conway's Game of Life.
Introduction:
The Game of Life is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is the best-known example of a cellular automaton.
The Game of Life (or simply Life) is not a game in the conventional sense. There are no players, and no winning or losing. Once the "pieces" are placed in the starting position, the rules determine everything that happens later. Nevertheless, Life is full of surprises! In most cases, it is impossible to look at a starting position (or pattern) and see what will happen in the future. The only way to find out is to follow the rules of the game.
Rules of the Game of Life:
Life is played on a grid of square cells--like a chess board but extending infinitely in every direction. A cell can be live or dead. A live cell is shown by putting a marker on its square. A dead cell is shown by leaving the square empty. Each cell in the grid has a neighborhood consisting of the eight cells in every direction including diagonals.
To apply one step of the rules, we count the number of live neighbors for each cell. What happens next depends on this number.
1) A dead cell with exactly three live neighbors becomes a live cell (birth).
2) A live cell with two or three live neighbors stays alive (survival).
3) In all other cases, a cell dies or remains dead (overcrowding or loneliness).
Note: The number of live neighbors is always based on the cells before the rule was applied. In other words, we must first find all of the cells that change before changing any of them. Sounds like a job for a computer!
Background:
Life was invented by the mathematician John Conway in 1970. He choose the rules carefully after trying many other possibilities, some of which caused the cells to die too fast and others which caused too many cells to be born. Life balances these tendencies, making it hard to tell whether a pattern will die out completely, form a stable population, or grow forever.
Life is just one example of a cellular automaton, which is any system in which rules are applied to cells and their neighbors in a regular grid.
There has been much recent interest in cellular automata, a field of mathematical research. Life is one of the simplest cellular automata to have been studied, but many others have been invented, often to simulate systems in the real world.
In addition to the original rules, Life can be played on other kinds of grids with more complex patterns. There are rules for playing on hexagons arranged in a honeycomb pattern, and games where cells can have more than two states (imagine live cells with different colors).
Why is Life So Interesting?
Life is one of the simplest examples of what is sometimes called "emergent complexity" or "self-organizing systems." This subject area has captured the attention of scientists and mathematicians in diverse fields. It is the study of how elaborate patterns and behaviors can emerge from very simple rules. It helps us understand, for example, how the petals on a rose or the stripes on a zebra can arise from a tissue of living cells growing together. It can even help us understand the diversity of life that has evolved on earth.
In Life, as in nature, we observe many fascinating phenomena. Nature, however, is complicated and we aren't sure of all the rules. The game of Life lets us observe a system where we know all the rules. Just like we can study simple animals (like worms) to discover things about more complex animals (like humans), people can study the game of Life to learn about patterns and behaviors in more complex systems.
The rules described above are all that's needed to discover anything there is to know about Life, and we'll see that this includes a great deal. Unlike most computer games, the rules themselves create the patterns, rather than programmers creating a complex set of game situations.
Life Patterns
A good way to get started in Life is to try out different patterns and see what happens. Even completely random starting patterns rapidly turn into Life objects recognizable to anyone with a little experience.
SOURCE: Wikipedia and "Wonders of Math".
To run this implementation, just draw a pattern with the stylus and click on play.
Software updated.
Dedraks,
This is an absolutelly fantastic implementation of Conway's Life!
I remember typing in code for this game on my first home computer - a 1Kb RAM ZX81 machine. And yes that 1Kb RAM is not a misprint!
Your implementation runs flawlessly on the E6.
The only thing that you may wish to consider in making the program design even simler is to have a single play/pause button and a single clear button as opposed to the play/pause/stop buttons that exist now.
Also you may wish to include the rules of the simulation in the help section.
But in short your implementaition is brilliant!
Keep up the good work.
All the best,
Jk
Thanks JK.Originally Posted by JamesK
Your sugestions are taken.
I'll change the button layout to follow your sugestion.
In the next version I'll add the rules on the help but the priority is to change the size of the board to permits the simulation runs out of the screen. And to view the entire simulaton, the user can use the joy to scroll the screen.
Very nice job!
Will you be making the code open source? *nudge nudge*
Also, would be nice if one could "zoom in" to make changes to the playing field. The cells are pretty small so using the stylus is not so easy :/
Take a look at the developer's forum.Originally Posted by Frykun
Thanks amigo, this has rekindled my interest in simulation.Originally Posted by dedraks
I look forward to seeing the next version.
By the way, Wikipedia has an excellent write-up on Conway's Game of Life at:
http://en.wikipedia.org/wiki/Conway's_Game_of_Life
Running this on the phone is tres-cool!
Thanks again,
Jk
Software updated.
You, as always, are the front well, also in the dates.Originally Posted by dedraks
Already 1 month is advancing.
Congratulations again. I go to try to play it. I find that I do not know.![]()
Thanks.
Fábio Carvalho
Lost my MingPEBL U3 today...
Sorry for my bad English.
Long Life to the Google Translate!!!