Basic Elements (GBE) - bringing the system to life As we have seen the GCS does nothing out of itself. In order to get functionality one has to create agents, forms (and most likely influences). Some basic classes of this kind are already available and can be found in the GBE (G Basic Elements) library. The kind of classes you will find in this library mostly has to do with virtual worlds - world creation, element hierarchy management, physics, ... soon this library will also provide you with agents for evolution aspects. Deterministic Random World Generation World creation is an interesting topic, some of the required functionality is already implemented. The class GBE::GDynamicGeneratorAgent class provides functionality to generate a randomised universe based on a deterministic random generator. As this allows for a huge universe to be created, the generator can create just as much as the current active elements (whether they are intelligent computer driven beings or human users) require. As these active elements start to explore other parts of the universe the generator brings these parts into existence - and by the time passed these parts can determine in what state they have evolved (age of solar systems or planets,...). Parts of the universe that are not inhabited by active elements are just put to "sleep" to save computing power. This is sadly a limitation we have, but it will have only a minimal (if at all) effect on the overall simulation if handled correctly. Now, if the G System is about evolution, how does this get along with a randomised universe? This is rather a philosophical question but as it must occur to some readers we will answer (part of it) it here. First we need to distuingish between form representation and physiological aspects of the universe. The deterministic random world generation is in the first sense a means to determine where to place what kind of elements. It is a completely different topic how these elements behave after their creation, which is not in any way determined by the generator. Also, if for example the generator determines that on a certain location in a solar system a planet should be placed then the planet is not necessarily just there but the created element can just be a divine energy in the area of the planet that slowly evolves into a planet - for example by attracting asteroids, fragments of dead planets, ... So the determination that on a certain location a planet should be does not clash with the way how this planet comes into existance. Element hierarchy management Another agent, GBE::GReparentAgent, handles the hierarchical structure of elements. As discussed earlier, the universe is represented in a highly hierarchical structure - which is indeed necessary to allow for huge universes to be functional. Thus a human being may be part of a house while being inside. But if the human being walks out, it will be part of the city or the surrounding landscape. In order to handle the hierarchy change properly, the reparent agent observes positional changes and notifies all affected elements when a change occurs. Details can be found in the API documentation.