The challenge in the development of accessible systems is to overcome the various physical, demographic, social or employment barriers.
The desired goal is an appropriate inclusion.
Barrier-free systems shall allow people a self-determined and independent life style regardless of age and functional limitation.
Sustainable models have to be developed to face the demographic, socio-political and economic changes in our society. Future-oriented tasks and occupational area shall be developed.
Prof. Dr.-Döbern Henisch shows exemplary barriers and the aim of the course: to overcome them. These barriers are sometimes even of world economic or political importance. The limited availability of our energy, or the difficulty to implement technology are for example barriers.
Addressing these problems in the past has led to a social change and will also continue to do so.
The economic use of energy resources derive from this example.
Bereits heute wird der CO2-Ausstoß übergeordneter Systeme, wie ganzer Staaten, oder die Wärmeökonomie kleinerer Systeme, wie einzelner Häuser diskutiert.
Already today, the CO2 emissions of entire states, or the heat economy of smaller systems, such as individual houses are discussed.
Other barriers are found in communication, demography, or in the availability, adequacy and actuality of knowledge.
Because of the very large task and the universal problem of those barriers, we have decided to plan the development of a system, which can simulate economic barriers and solutions for experimantal purposes.
The simulation should be able to simulate physical, technical, biological, psychological or economic processes. Therefore the further development of mathematical and physical models is necessary, perhaps with extensions of game theory and rooted in the idea of Socionics.
Our task is to implement a practical and functional simulation. For that purpose we have created a virtual, visual, three-dimensional space.
Below we present our theoretical approach to this simulation and the terms of its representations and interactions.
It is our wish that further simulations are designed with this platform in the future.
Conceivable would be to simulate physical designs up to psychological models, to simulate human communication or human behavior during stress in various environments.
The basis for the further development of our model is the gaming and physics engine of the market leader Crytek.
An advantage of this engine is its universality, the availability at our university and the possibility to create enhancements and modifications for it.
The core of the engine is not available at the moment, but there is a wide range of possibilities for getting access to its potential. The engine simulates physical laws in an impressive manner. Physical and technical processes can be shown. For example manipulating or controlling speed, time, gravity, optical conditions such as light and shade but also physical barriers, such as buildings with doors and windows, is possible.
This engine seemed ideal for the reproduction or representation of physical, technical, biological, psychological or economic processes or systems.
The development of mathematical or physical models for simulating barriers and the possibility of their exemplary or practical elimination is a future task.
The investigation of barriers on the basis of this model will be simpler, cheaper and less dangerous than on the original space.
In this model, conditions can be added or varied. With this sophisticated model or with individual components experiments can done to analyze complex and dynamic processes.
In this simulation a real system can be reproduced and modified. It allows the control of physical quantities, such as time, which can't be influenced in
real systems. Therefore, operations that need a lot of time in real systems, can be accelerated and vice versa it is possible to slow down very fast processes. This enables efficient measurements.
By changing parameters, a range of possibilities or reactions can be seen.
An intelligent use of simulation implies the developement of appropriate modules for the representation of barriers.
So it is conceivable that in the field of communications, the barriers in the human-human, human-object interaction (such as doorbell, elevator, etc.) or human-system (such as mobile phones, Internet, , etc.) are shown with a mental or psychological module.
Such a module could simulate stress perception, stress response and the ability to interact.
The simulation with the Crytek engine would evolve from a machine-like world to a independently acting simulation.
Already at this point interesting variants of the simulation control are arising: A robot could be supplied with “intelligence” (for acting almost independent) in order to act within a simulation.
On closer examination it is a point that access or modification of “intelligence” can only be done, if the controller is outsourced.
To consistently implement Accessibility to the model, the robot has to act as a kind of avatar within the simulation, while the “intelligence” is moved to an external application.
Konstantin Ernst, B. Sc. - ernst@stud.fh-frankfurt.de
Edward Roepke, B. Sc. - roepke@stud.fh-frankfurt.de
The project aim is to create a universal simulation software.
The function of this software is the simulation of the following basic situation:
Participants in the simulated space are acting or can observe.
To illustrate, the aim of the project is presented in the following simplified figure.
It shows the main parts of the idea.
Legend
Reference point | Description |
---|---|
A | The software simulates a space similar to a modern computer game |
B | A user can connect to and interact within the simulated space with a computer (client) from anywhere in the world |
C | With a clearly defined interface, software developers will be given the opportunity to develop software that accesses in and interacts with the simulated space independently without the help of a user |
D | The simulated space is designed to allow multiple users and computers to move and influence each other simultaneously |
E | The presence in the simulated space can be a human avatar. There are serveral characters possible |
F | Avatars does not only include human models, also robots and custom models are possible |
G | The representation in the simulated space is not limited to one model per user/program. There are predefined expert systems with different characters available that can be moved or move independently in space |
H | The user can join the simulated space as a observer |
I | All access to the simulated space, whether by human or program is done through a standard interface |
Accessibility is the principle and goal of all BaSys projects.
So we have assigned the accessibility to the top priority of this project.
To implement the concept of accessibility, we concentrate on two perspectives:
In these two points, the principle of accessibility is implemented in different ways. These are explained in more detail in the following two chapters.
Three concepts which ensure accessibility to this project:
In order to be able to offer every person the opportunity to understand the project development and all development steps easily, or even enter into the project, all progresses, experiences and knowledges are documented and are available in this wiki.
This manual is intended to visitors from all disciplines and is not limited to members of the department of computer science. It is a challenge to present a complex and computer science oriented project to people without prior deep knowledge in a comprehensible manner. Therefore the project team asks for criticism and inspiration.
To eliminate another barrier that documentation is maintained in German and English.
For software development there are also proven techniques to enforce accessibility:
These Points are concepts from computer science and very technical. For detailed descriptions and more information these keywords are linked to articles from Wikipedia.
All of the listed forms of transparency have been included in the concept of the software. A detailed description of the precise implementation will follow.
“Barrierefreie Systeme” is an interdisciplinary study program and represents a composite of three subject-specific masters who cooperate in a common project with a joint research program. We develop sustainable models to face the demographic, socio-political and economic changes in our society.
The presented project has just been started and is currently composed with students of the computer science department.
We cordially invite everyone to participate in this project.
We would like to take this opportunity and say thank you to all students (especially from the disciplines of architecture, nursing and social work). Only with their support and inspiration, the project goal and the related concept could be formed correctly.
THANK YOU!
A process model is an instruction for a project. It is dividing and describing it in a variety of structured phases. It presents sequences for organizing and implementing the project.
There are different process models. We organize the implementation with the process model named Scrum.
There are two different approaches to the creation of the required software. The first option would be to start the development process at zero and start from scratch. The other option would be to build on the existing software, meaning the computer game “Crysis”. The provided software environment and documentation on the game disc is primarily aimed to developers who wish to do “modding”. This means the extension or modification of the existing computer game. Building on the existing game, the individual components can be adjusted step by step to your own needs. Information, help and discussions on the Internet are devoted exclusively to the subject of modding.
To reach the desired software the team has decided to begin with “modding”.
This has the effect that the first steps initially strongly reminiscent of the computer game “Crysis”. This effect disappears with continuing development successes.
Some of the targeted applications can already be implemented with the existing software.
By using the CryEngine former unprecedented developments are possible:
The University of Applied Sciences, Frankfurt am Main, has the privilege of using the latest, best, yet unpublished physics and game engine “CryEngine 3”. That makes a huge lead.
Within the Project the previous version of this engine is beeing used at the beginning. This should be substantiated in a brief explanation.
The engine of Crytek is certainly a sophisticated and very powerful program. The company Crytek supports the Fachhochschule Frankfurt am Main with a comprehensive and well structured documentation and personal support. The contact with the CryEngine is new for all project members. The team has to becom familiar with the basics of the operation and the handling of the CryEnginge. To make this time-consuming work in a efficient way, the project team discussed the possibility to first work with the previous version.
Below the advantages and disadvantages of both versions are listed. This allows the reader to follow the decision in the “analysis”.
We will conclude the chapter with a view that describes when and how the project will change to the current version of the engine.
Advantages:
Disadvantages:
Advantages:
Disadvantages:
This list of advantages and disadvantages is made without quantifying. However, it should be accented that of course it's not enough to compare the number of individual list items to make a decision. The following consideration shows, however, what priorities are set by the team.
The main differences between the two versions lie in the quality of the graphical representation and the implementation of the rules of physics.
At the beginning of the project basic groundwork is in the foreground. For this the aesthetics of the design is irrelevant. More important is the possibility to work with the engine at home. First thing to do is to get an overview of the rough structure, the connections and interfaces of the engine. These are same in both versions. The knowledge which can be derived from dealing with version 2, can thus later be used with version 3. The project should already be converted to version 3 when technical differences would have a affect.
Because of the fact that the engine from Crytek is new for all team members, many beginner questions are expected. Many of those problems occurred by another developer in the past while working with Version 2. To almost every issue, there are several discussions in the public forums (see “Links” - “Forums”). This allows fast solutions and effective learning during dealing with the engine.
The descision derives from this comparison results: The project will first be build on CryEngine 2.
The CryEngine 2, and most of the development components are easily optainable: they are provided in the game “Crysis”, with the intention to give the purchaser it possibility of own developments or moddings. So it is possible for anyone to start quickly.
Crytek plans to release the game “Crysis 2”, which is based on the CryEngine 3, mid-year 2011. It is likely that there are all the development tools included on the game disc again. This would allow the easy conversion of the project to the CryEngine 3.
In the next chapter implementation, the current state of the project is described.
As this chapter and all the following ones are results oriented the chronological aspect is missing. Therefore all the development steps will be recorded in the following list.
In this chapter, the current status of the project is described. The project is still at an early stage of development. Only a part of the described project goals has been implemented. The technical base has already been created and it is always considered to maintain this. This allows everyone to see the current status of the project implementation, and to try it by itself.
The following description enables any interested party to set up the software project itself, and to start to work with.
The following table represents a collection of software components. You can see what components are required or recommended to use each application (server, client, developer). There is also a brief description of each item and a source. The following chapters assume that this software is installed.
Eintrag | Software | Server | Client | Entwickler | Beschreibung | Quelle |
---|---|---|---|---|---|---|
1 | Crysis | x | x | x | The computer game “Crysis | Amazon Shop |
2 | Crysis Patch 1.2 | x | x | x | Recommended Game-Patch | download |
3 | Crysis Patch 1.2.1 | x | x | x | Recommended Game-Patch | download |
4 | Crysis Dedicated Server Package v1.4 | x | Allows you to set up a server | download (incl. Server Documentation) | ||
5 | CryEngine 2 Sandbox 2 | x | Creation of landscapes and FlowGraphes | On Game-DVD (see “Crysis”) | ||
6 | ModSDK 1.2 | x | Development-kit | download |
Note
It is recommended not to install the software in the default program directory “C:\Programme” or “C:\Program Files”. This can lead to write problems with the operating system. We recommend to install the software in the directory “C:\Crytek\Crysis”.
The following documentation we assume this installation path.
Once the needed software components as described in section Setting up the software environment are downloaded, unpacked and installed, the server can be prepared for use. This is done according to the following steps:
The settings are configured by editing various configuration files. The files and the setting options are described in the server documentation. This documentation is located in the downloaded archive, which contains the server installation files.
Alternatively, the pre-defined configuration files from the project team can be used. These must be downloaded and copied in the root directory: (eg “C:\Crytek\Crysis\”).
An archive of pre-defined configuration files is available for download here: Server_Konfigurationsdateien.zip
The game Crysis brings a wide range of maps. The project team has designed a custom map. This map is intentionally minimalistic. It contains only content that is absolutely necessary. It is functional, contains all the previous requirements and can serve as a basis of your own blueprint. The card must be downloaded, unzipped and copied in the directory in which the Powerstruggle-multiplayer-maps are stored. Eg “C:\Crytek\Crysis\Game\Levels\Multiplayer\PS\”. It is soon available for download.
The server is started by executing the file “startup.bat” (in the Crysis root directory, eg “C:\Crytek\Crysis\startup.bat”). This is done by double-clicking the file.
It openes 2 windows with black background. Here, the startup of the server can be observed. In case of problems the displayed protocol can be used to identify failures. Loading takes about 20 seconds. Afterwards, clients can connect to the server.
After the required software components have been installed, the right map has to be copied into the file system of the game. Map and destination paths are identical to those of the server (see previous heading)
To build a connection between the client and server, first the following conditions must be fulfilled:
Are these conditions met, a connection can be established with the following steps:
The CryEngine 2 gives the developer various interfaces for modifications and new developments. The six main interfaces are listed below:
Sandbox 2 is a standalone program that is included on the game disc from Crysis. With the program it is easily possible to create three-dimensional maps (worlds) via a graphical interface. These can be freely designed and derive in multiple forms. So it is possible to create both a jungle and a hospital as a 3D map.
These maps will later form the environment for the clients avatars.
Tutorial - Creating a Basic Level with the Sandbox 2
Lua is an imperative and extensible scripting language for embedding in programs to develop and maintain them easier.
Lua programs are usually platform-independent and are translated into bytecode before execution. Although you can write independent programs with Lua, it is primarily designed as an embedded scripting language for other programs.
In the CryEngine 2, the developer can control different objects, also called “entities” with Lua scipts. for example the behavior of intelligent agents in the game (eg computer opponents) are described in Lua.
Official Lua Homepage
Documentation and tutorial collection CryEngine2 and Lua
C++ is a high-level programming language.
In the CryEnigne 2, it is possible to implement powerful extensions with C++.
Documentation and tutorial collection CryEngine2 and C++
Flowgraphs provide a “visual scripting”. On a graphical level the developer is given the opportunity to link events and actions (nodes) to each other. For this purpose a wide range of events, logic modules and actions that can be linked with drag and drop, are available.
Hierzu stehen eine große Auswahl an Ereignissen, logischen Bausteinen und Aktionen bereit, die per Drag & Drop verknüpft werden können.
Sample Flowgraph
Flowgraph Guide
Flowgraph Nodes
ActionScript is an event-oriented programming language.
Developers can use ActionScript to implement HUDs (Head Up Display)
Documentation and tutorial collection CryEngine2 and ActionScript
XML is a markup language for representing hierarchically structured data.
In the CryEngine2 the properties of weapons and vehicles are described in XML and can easily be modified. They help to control the entities.
Compared with Lua: While within Lua scripts the behavior of entities is defined, XML describes the character.
XML parameter list
Documentation and tutorial collection CryEngine2 and XML
See also DIN 19226
Simulation
Simulation can be defined as a collective term for the representation or reproduction of physical, technical, biological, psychological or economic processes. Or the representation of systems by mathematical or physical models. The investigation of the model is easier, cheaper and less dangerous than that of the original. The results can be used to draw conclusions about the properties of the original object.
System
A system is a corresponding arrangement of structures, given in a context.
System parameters
The system parameters are variables whose values describe the behavior of the system at a given structure.
Model
Illustration of a system or process (all the events) in a mostly easier conceptual or representational system.
Modeling
Process of arranging the knowledge of a system of knowledge
The content of the links listed below, are tested positively by at least one team member.
There are 2 public portals, which include forums and provide comprehensive information. On most questions it was our first place to go:
Ctrytek's official modding portal
Portal "Crysis-HQ"
Tutorials
Creating a Basic Level with the Sandbox-Editor
Construction of a building, texturing
Tutorial collection of "Crysis-HQ"
Help
Documentation
Documentation Scripting/Coding
Forum
Forum by Crytek's official modding Portal
Forum "Crysis-HQ"
Downloads