没有任何数据可供显示
开源项目社区 | 当前位置 : |
|
www.trustie.net/open_source_projects | 主页 > 开源项目社区 > life-center |
life-center
|
0 | 0 | 0 |
贡献者 | 讨论 | 代码提交 |
The LIFE Project provides an experimental research toolsuite in the field of cellular automata based on conway's game of life.
conway, artificial, intelligence, ai, cellular, automata, java, c, python, framework, research, game, groovy, rcp
1. MissionThe mission of The LIFE Project is to develop a full suite of applications based on Conway's Game of Life in order to help to improve research in that field.
The Game of Life is probably one of the oldest and simplest cellular automata to be known, and it has been researched by fans and computer hobbyists for decades.
We feel that the Game of Life has not yet revealed all its secrets so far and that is is an interesting field of research, targeting different topics, such as AI, pattern recognition, applied genetics and geeky fun.
Therefore, The LIFE Project aims to provide the user with a software suite allowing him to:
perform research on its own for his own personal enjoyment or interest, join a collaborative effort involving the community of LIFE enthusiasts and take part of a world-wide LIFE-research network, discover and enjoy the Game of Life from a beginner's point of view through easy hands-on tools and even through small LIFE-based games, use LIFE and the derived tools and libraries we provide to implement LIFE-based software.
2. GoalsThe LIFE Project is divided into the following components:
2.1 - LIFE SimulatorThe LIFE Simulator is the main component and the primary objective of the project. It is an abstract modular simulator used as a Virtual Machine for LIFE experimentations. The LIFE Simulator can be set to run simulations according to an infinite set of rules defined by static configurations files or scripted behaviors.
2.2 - LIFE EditorThe LIFE Editor is a an intuitive tool for editing LIFE simulations and configurations files for further experimentations. It can also be plugged to the LIFE Simulator in order to allow the user to interact on running simulations.
The LIFE Editor is inter-connected with some of the components described below, such as iLIFE, which is used for instance to interfere on a simulation.
2.3 - LIFE AnalyzerThe LIFE Analyzer is what brings sense to The LIFE Project. This tool, although less enjoyable for beginners, is what will help the users to gather informations on their simulations by interpreting the results and providing these users with a plethoria of data that may prove useful for further improvement of the simulations or of the built-in LIFE tools.
The LIFE Analyzer can be either be used to perform results' analysis at the end of a simulation (or at a given snapshot time), or can be plugged to the LIFE Simulator to analyze the running simulations live and allow the user to peform the changes that best suit their needs.
2.4 - LIFE LabThe LIFE Lab is the experimental toolset of The LIFE Project. This mini-software suite provides the users with a toolset of experimental features allowing them to unleash the full power of LIFE.
It is tied to the LIFE Analyzer as they share most of their internal subcomponents and target the same goal: improving our knowledge of LIFE, the former by providing us with accurate informations, the later by letting us experiment new features, behaviors and tools.
2.5 - sLIFE : a project for a Static LIFE descriptive languageConway's Game of Life has been on the road for quite a while, and it is a well known fact to the community that a format already exists to store LIFE-patterns. In fact, there are more than one formats and The LIFE Project will insure backward-compatibility with most of them, but our primary target is the dominant one.
However, based on our own personal experiences, we share the thought that a more elaborate format could be used to store more useful datas in a more flexible way than the old-style format.
This is were sLIFE comes to, well... life, and provides users and developers with a convenient, friendly descriptive language and library for improved usability and experiment.
2.6 - iLIFE : a project for an Interactive LIFE scripting languageThe idea of iLIFE comes from the combined specifications of the LIFE Editor, The sLIFE subproject, and from the observations made on other components that may need more than just as simple descriptive language to experience LIFE research efficiently.
Therefore, The LIFE Project thinks it could be interesting to propose a specification for a scripted LIFE language. iLIFE would therefore integrate an interpreter, the language itself and the complete API to have him extended for a better interaction with other componenents of The LIFE Project.
iLIFE would allow the advanced user to take control of The LIFE Simulator and Editor, to implement behavioral routines and sets of rules, or to export LIFE-patterns or experiment as scripts instead as statically descripted configurations through sLIFE or other formats.
(NB: iLIFE should not be confused with aLIFE, a LIFE-based language developed for The LIFE Lab. By 'LIFE-based', we mean than the language is designed and interpreted directly by the Simulator like a standard simulation. aLIFE is an extension to the idea of a LIFE-based Turing Machine also being developed for The LIFE Lab)
2.7 - WorldLIFE : a Distributed LIFE PlatformWorldLIFE is born from the following thoughts:
all LIFE enthusiasts like looking at the funny moving cells, LIFE can take quite a lot of computational power to perform some simulations, well, sometimes geeks just wanna have fun !
Therefore, WorldLIFE has been conceived as a very serious subproject for a Distributed LIFE Platform, which can also be used for educational purposes and/or entertainment.
WorldLIFE integrates a distributed platform to help federate processing power over a network of any kind (LAN, Internet...), defines the specification for a shared LIFE Simulator communication protocol, and is interconnected with Gaia for data centralization and knowledge gathering.
Now on to the funny aspects of WorldLIFE: instead of using the LIFE Distributed Platform for the only serious purpose of distributing LIFE simulations, we thought users might like the idea of having some fun once in a while, while they keep working on LIFE.
That's where our the two following simple multiplayer 'games' ontop of WorldLIFE take place, WorldLIFE Wars and WorldLIFE Domination.
WorldLIFE WarsW-LIFE Wars is not really a game as it is, because its goal is simply to keep track of the genealogy of a LIFE simulation to determine who, out of several W-LIFE Wars players, is to be declared the Master of LIFE. This is based on the evolution of the Simulation and on rules defining the predation system of the Wars environment.
(Note: Yep, if you think W-LIFE Wars comes from CoreWar, you're right)
WorldLIFE DominationW-LIFE Domination is being played the same way as W-LIFE Wars, except for one single, but very noticeable difference: the grid used as the LIFE simulation playground is not a standard memory resident grid.
It is the network grid of distributed W-LIFE clients willing to participate to W-LIFE Domination.
Because of this, W-LIFE Domination is not really a game, as you can't really intend to win the 'game' as you are only one and only cell of the grid (well, if you have only one computer). It is just for the fun of it. But of course, for further enjoyment, it is planned to allow the creation of coalitions between clients, so that they would be able to join forces and coagulate themselves as virtual cells on the grid/playground to form usual LIFE-patterns.
Of course, it is possible to keep track of W-LIFE Games simulations on Gaia (simulations results/analysis AND games scores for your glory).
If you wonder if there is an actual interest, apart from the fun, in W-LIFE Games, there is: it is a good way to motivate the community to discover new intelligent and usable LIFE-patterns.
That's also why W-LIFE Games will follow the improvements of the other components to help the users experiment new features.
2.8 - Gaia : A centralized information system for The LIFE ProjectGaia is what LIFE is all about. It is a centralized information system designed to:
keep track of LIFE improvements and research, by automatically updating data sent by the clients willing to participate, thus providing the world with live LIFE data and the brand new LIFE-patterns being discovered, allow users/developers share their thoughts on the project, federate distributed simulations and administrate/monitor the clustering and load-balancing, deploy new LIFE clients and promote The LIFE Project, run W-LIFE Games tournaments and permanent games, and keep track of the heroic virtual history being written by the participating clients, provide the user with an accessible LIFE-patterns DataBase, run web-based versions of the above softwares for remote testing and trial.
The LIFE Project plans of course to run its own Gaia system that should be regarded by the community as the primary centralized LIFE repository. But in a matter of extendibility, it is planned to distribute the Gaia system to allow individuals or organizations to run their own centralization system.
Gaia is both a centralized distributed platform hosted by The LIFE Project, but can also be deployed on its own by any enthusiast or company to create a private Gaia center. You are then given the option to allow your own gaia node to report LIFE data and results to our main Gaia system, but if you prefer to keep those secrets that's fine. However, we think it would be profitable for everybody to take part to the global experience, so that we can track of the evolution of LIFE.
(Note: Maybe the best thing to do would be to bundle each LIFE software with Gaia to allow everyuser to have a Gaia node running in the background, all of these nodes being allowed to communicate with each other to share their data, if they want to. This could be a lighter and less missleading design, and also help moderate the stress on a network by using intermediate centralized systems.)
3. Team4. Contribution5. FAQ5. Source Code6. Licensing