| 26 | } |
| 27 | |
| 28 | void GettingStartedWindow::processIntern() |
| 29 | { |
| 30 | drawTitle(); |
| 31 | |
| 32 | if (ImGui::BeginChild("##", ImVec2(0, ImGui::GetContentRegionAvail().y - scale(50.0f)), false)) { |
| 33 | ImGui::PushTextWrapPos(ImGui::GetCursorPos().x + ImGui::GetContentRegionAvail().x); |
| 34 | |
| 35 | /** |
| 36 | * INTRO |
| 37 | */ |
| 38 | drawHeading1("Introduction"); |
| 39 | |
| 40 | ImGui::Text("ALIEN is an artificial life and physics simulation tool based on a CUDA-powered 2D particle engine for soft bodies and fluids."); |
| 41 | ImGui::Text( |
| 42 | "Each particle can be equipped with higher-level functions including sensors, muscles, neurons, constructors, etc. that allow to " |
| 43 | "mimic certain functionalities of biological cells or of robotic components. Multi-cellular organisms are simulated as networks of " |
| 44 | "particles that exchange energy and information over their bonds. The engine encompasses a genetic system capable of encoding the " |
| 45 | "blueprints of organisms in genomes which are stored in individual cells. The simulator is capable to simulate entire ecosystems inhabited " |
| 46 | "by different populations where every object is composed of interacting particles with specific functions (regardless of whether it models a " |
| 47 | "plant, herbivore, carnivore, virus, environmental structure, etc.)."); |
| 48 | |
| 49 | /** |
| 50 | * FIRST STEPS |
| 51 | */ |
| 52 | drawHeading1("First steps"); |
| 53 | |
| 54 | ImGui::Text("The easiest way to get to know the ALIEN simulator is to download and run an existing simulation file. You can then try out different " |
| 55 | "function and modify the simulation according to your wishes."); |
| 56 | ImGui::Text( |
| 57 | "Various examples can be found in the in-game simulation browser demonstrating capabilities of the " |
| 58 | "engine ranging from pure physics examples, self-deploying structures, self-replicators to evolving ecosystems. If not already open, please " |
| 59 | "invoke Network " ICON_FA_LONG_ARROW_ALT_RIGHT " Browser in the menu bar. " |
| 60 | "Simulations can be conveniently downloaded and uploaded from/to the connected server (alien-project.org by default). " |
| 61 | "In order to upload own simulations to the server or rate other simulations, you need to register a new user, which can be accomplished in " |
| 62 | "the login dialog."); |
| 63 | |
| 64 | ImGui::Text("For the beginning, however, you can use the example already loaded. Initially, it is advisable to become acquainted with the " |
| 65 | "windows for temporal and spatial controls. The handling should be intuitive and requires no deeper knowledge."); |
| 66 | drawItemText("In the temporal control window, a simulation can be started or paused. The execution speed " |
| 67 | "may be regulated if necessary. In addition, it is possible to calculate and revert single time steps as " |
| 68 | "well as to make snapshots of a simulation to which one can return at any time without having " |
| 69 | "to reload the simulation from a file."); |
| 70 | drawItemText("The spatial control window combines zoom information and settings on the one hand, and " |
| 71 | "scaling functions on the other hand. A quite useful feature in the dialog for " |
| 72 | "scaling/resizing is the option 'Scale content'. If activated, periodic spatial copies of " |
| 73 | "the original world can be made."); |
| 74 | ImGui::Text("There are basically two modes of how the user can operate in the view where the simulation is " |
| 75 | "shown: a navigation mode and an edit mode. You can switch between these two modes by invoking " |
| 76 | "the edit button at the bottom left of the screen or in the menu via Editor " ICON_FA_LONG_ARROW_ALT_RIGHT " Activate."); |
| 77 | drawItemText( |
| 78 | "The navigation mode is enabled by default and allows you to zoom in (holding the left mouse " |
| 79 | "button) and out (holding the right mouse button) continuously. Alternatively, you can also use the mouse wheel. By holding the middle mouse " |
| 80 | "button and moving the mouse, you can pan the visualized section of the world."); |
| 81 | drawItemText( |
| 82 | "In the edit mode, it is possible to push bodies around in a running simulation by holding and moving the right mouse button. " |
| 83 | "With the left mouse button you can drag and drop objects. Please try this out. It can make a lot of fun! The editing mode also allows you " |
| 84 | "to activate lot of editing windows (Pattern editor, Creator, Multiplier, Genome editor, etc.) whose possibilities can be explored over time. " |
| 85 | "Practically all properties of each single particle can be manipulated. In addition, there are mass editing functions available."); |
nothing calls this directly
no test coverage detected