Künstliche Intelligenz in Computerspielen: Ein regelbasiertes System für ein Jump N Run Computerspiel. Bachelorarbeit

Größe: px
Ab Seite anzeigen:

Download "Künstliche Intelligenz in Computerspielen: Ein regelbasiertes System für ein Jump N Run Computerspiel. Bachelorarbeit"

Transkript

1 Thema: Künstliche Intelligenz in Computerspielen: Ein regelbasiertes System für ein Jump N Run Computerspiel Bachelorarbeit im Studiengang Angewandte Informatik der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg Verfasser: Frederic Ehmann Gutachter: Ute Schmid

2 Zusammenfassung In dieser Bachelorarbeit geht es um die Entwicklung eines regelbasierten Systems mit dynamischer Prioritätszuweisung für ein selbst kreiertes Jump N Run Computerspiel. Hierbei werden Faustregeln definiert, nach denen gehandelt werden soll. Diese Regeln müssen gewisse Vorbedingungen erfüllen, um angewandt werden zu können. Das System entscheidet dann, je nach Priorität, welche Regel anzuwenden ist. Die Priorität kann von verschiedenen Werten abhängen. Es wurden auch Regeln erstellt, bei denen es nötig ist, Wege zu planen. Dazu überführt man den Zustand des Spieles in einen Graphen. Normalerweise kann man den Graphen in der Leveldesignphase manuell definieren. Doch das Spiel enthält zufällig kreierte Levels, was es nötig macht, die Graphen für die Wegfindung automatisch erstellen zu lassen. Hierfür werden mehrere Ansätze der automatischen Graphenerstellung durch geometrische Analyse vorgestellt. Es hat sich jedoch herausgestellt, dass die Benutzung der Regeln mit Wegfindung meist die Ergebnisse verschlechtert hat. Es ist noch zu erwähnen, dass das Spiel nicht extra für diese Bachelorarbeit erschaffen wurde, sondern unabhängig davon. Die theoretischen Grundlagen zu dieser Arbeit basieren im Wesentlichen auf dem ausführlichen Buch Artificial Intelligence For Games [2]. Alternativ könnte man noch das prägnantere Buch Artificial Intelligence for Computer Games [1] zurate ziehen. 1

3 Inhaltsverzeichnis 1 Einleitung Künstliche Intelligenz oder Intelligente Agenten? Künstliche Intelligenz in Computerspielen Warum eine Künstliche Intelligenz in einem Jump N Run Computerspiel? Webseite des Jump n Runs Ausblick auf die folgenden Kapitel Theorieteil Aufbau einer Künstlichen Intelligenz in Computerspielen Movement und Physik in Computerspielen Physik in Computerspielen Dimensionen in Computerspielen Beschleunigung in Computerspielen Gravitation in Computerspielen Kollision in Computerspielen Pathfinding in Computerspielen Einleitung Schritt: Graphenerstellung Schritt: Shortest Path Algorithmus Schritt: Umformung der Lösung in Befehle Schritt: Ausführen von Befehlen Decision Making in Computerspielen Einleitung Decision Trees State Machines Behavior Trees Fuzzy Logic, Markov Systems Goal-Oriented Behavior Scripting Rule-Based Systems Blackboard Architectures Eigenes Konzept Jump n Run mit zufälligen Levels Automatische Graphenerstellung Ansatz: Erreichbarkeit von Objekten Ansatz: Rasterung des Levels

4 Ansatz: Dynamische automatische Graphenerstellung und dynamisches Pathfinding Pathfinding Dijkstra beim 1. Ansatz (Objekterreichbarkeit) Gesteuerte Tiefensuche mit A* beim 2. Ansatz (Rasterung) Abgeänderter A* beim 3. Ansatz (dynamische Graphenerstellung) World Interfacing/Perception Decision Making Regelerstellung Grundregeln für ein 2d Sidescroller Jump n Run Computerspiel Fortgeschrittenere Regeln für ein 2d Sidescroller Jump n Run Computerspiel Allgemeine Anmerkungen zu den Regeln Action Performer Perform-Way-Thread Evaluation Bewertung der praktischen Umsetzung Anwendbarkeit der beschriebenen Elemente Regelbasiertes System Dynamic Rule Arbitration Pathfinding Typisch auftretende Probleme Pathfinding ergibt unmögliche Wege Pathfinding erkennt gute Wege nicht Der Agent kommt bei der Ausführung vom Weg ab Pathfinding dauert zu lange Pathfinding sprengt den Speicher Das Ausführen einer Regel schlägt fehl Endlosschleifen Regeln behindern sich gegenseitig Der Charakter läuft durch Objekte/Kollisionsprobleme Der Charakter betrügt Der Charakter sitzt fest Ist ein Objekt im Weg / Erreichbarkeit von Objekten Der Charakter könnte besser handeln Das Hinzufügen der Regel ergibt schlechtere Ergebnisse 56 3

5 5 Resumé Erreicht Ausblick Literatur 57 4

6 1 Einleitung 1.1 Künstliche Intelligenz oder Intelligente Agenten? Künstliche Intelligenz ist in der Computerspieleindustrie noch der allgemein verwendete Begriff, auch wenn es sich eigentlich um Intelligente Agenten handelt. Der Begriff Künstliche Intelligenz hat eine negative Konnotation, seitdem viele leere Versprechungen von den großen Urvätern der Künstlichen Intelligenz gegeben wurden (zum Beispiel [12]). Hier wird Künstliche Intelligenz als die Realisierung eines autonomen Agenten verstanden, der in der Lage ist, ein Jump N Run Computerspiel ähnlich wie ein menschlicher Spieler zu spielen. 1.2 Künstliche Intelligenz in Computerspielen In Computerspielen wurde Künstliche Intelligenz eigentlich nie als Simulieren der Gesamtheit eines Menschen (Strong AI, siehe [9]) aufgefasst. Traditionell wurde die Künstliche Intelligenz einfach nur als eine Möglichkeit gesehen, mehr Spaß in ein Spiel einzuführen. So ist es oft auch sinnlos, einen Computer perfekt spielen zu lassen, da das oft den kompletten Spielspaß zerstört. Auf der anderen Seite empfinden es Spieler als problematisch, wenn ein Computer etwas extrem Dummes tut. Damit ist zum Beispiel das endlose Laufen gegen dieselbe Wand gemeint. Brian Reynolds sagte zu diesem Thema: Beginnen Sie mit einer simplen Routine, die [...] Einheiten über die Karte wandern lässt [...]. Dann spielen Sie das Spiel [...] und beobachten Sie die Spielzüge des Computers. Verfolgen Sie das Treiben auf dem Monitor so lange, bis der Computer etwas wirklich Dummes macht [...]. Nun denken Sie darüber nach, was a) den Computer dazu veranlasst haben könnte, so etwas Dummes zu tun, b) was Sie anstelle des Computers getan hätten und c) welche Informationen ihrer Entscheidung zugrunde lagen. Anschließend arbeiten Sie die gewonnenen Informationen in ihren Algorithmus ein. ([3], S.219f). Dies beschreibt vor allem den Anfang der Künstlichen Intelligenz in Computerspielen. Es wurde sozusagen einfach drauflos programmiert und dann wurde der Computer (oft benutzter Begriff in Computerspielen für eine Künstliche Intelligenz) beobachtet. Wenn der Computer etwas Dummes tut, wurde der Algorithmus abwechselnd angepasst und getestet, bis der Computer nichts Dummes mehr macht. Hierbei entsteht natürlich oft sinnloser Code, der schwer noch weiter zu editieren ist. Heutzutage macht man sich vorher Gedanken, wie man die Programmierung der Künstlichen Intelligenz besser strukturiert. 5

7 1.3 Warum eine Künstliche Intelligenz in einem Jump N Run Computerspiel? Es gibt wenige Versuche einen intelligenten Agenten, beziehungsweise eine Künstliche Intelligenz in einem Jump N Run Computerspiel spielen zu lassen. Aber vor allem das zufällige Kreieren der Levels erschwert die Erstellung der Künstlichen Intelligenz. Somit ist nämlich eine manuelle Vorverarbeitung des Levels unmöglich. Doch was ist der Zweck einer Künstlichen Intelligenz, die das Spiel selbst spielt? Nun, obwohl ihm die typische Rolle eines Spielers in einem Jump N Run Computerspiel genommen wurde, gäbe es verschiedene Möglichkeiten, das Spiel trotzdem für den Spieler interessant zu machen: Man selbst baut Blöcke, um das Level zu verändern, während es gespielt wird. Man hat diverse Möglichkeiten, den Agenten aufzuhalten. Man hat diverse Möglichkeiten, dem Agenten zu helfen. Es gibt ein Wettrennen. Man fungiert als Manager in einem Wirtschaftsspiel. Künstliche Intelligenz übernimmt das Spielen nur in gewissen Situationen. Zeigen, wie das Level funktioniert. Das sind nur einige Ideen, wie man eine Künstliche Intelligenz sinnvoll in so eine Art von Spiel einbauen könnte. Wie sich dieses Spiel genau weiterentwickeln wird, steht zum Zeitpunkt der Niederschrift noch nicht fest. 1.4 Webseite des Jump n Runs Auf ist die aktuellste Version des Jump n Run Computerspiels verfügbar. Es ist ein Java Applet. Die Steuerung ist dort erklärt. Vieles, was in dieser Bachelorarbeit beschrieben wird, bezieht sich auf dieses Spiel. 1.5 Ausblick auf die folgenden Kapitel In Kapitel 2 ab Seite 7 geht es um grundsätzliche Dinge für Künstliche Intelligenz in Computerspielen, die in der Literatur bereits ausführlich erklärt wurden. Folgende Bereiche werden dort abgedeckt: 6

8 Der Aufbau einer Künstlichen Intelligenz Movement, also die Möglichkeiten zur Bewegung Physik, also die Regeln, die für die Bewegung gelten Pathfinding, also das Finden von Wegen, beziehungsweise das Bewegen von einem Punkt zu einem anderen Decision Making, also das Treffen von Entscheidungen, vor allem darüber wie gehandelt werden soll, beziehungsweise darüber welche Aktion ausgeführt werden soll Das Kapitel 3 ab Seite 27 ist der Kern dieser Arbeit. Es beschreibt ein eigenes Konzept der Entwicklung einer Künstlichen Intelligenz für ein Jump N Run Computerspiel. Dabei geht es vor allem um folgendes: Das Erstellen zufälliger Levels und die damit nötige automatische Graphenerstellung wird in 3 Pathfindingansätzen beschrieben. Es wird kurz darauf eingegangen wie im eigenen Konzept das World Interfacing (Erhalten der Informationen) und das Decision Making (Entscheidungen treffen) implementiert wurden. Die erstellten Regeln werden erklärt und es werden Tipps zur Regelerstellung gegeben. Es wird auf das Ausführen der Aktionen und der gefundenen Wege eingegangen. Kapitel 4 beschreibt ab Seite 48 die Bewertung der praktischen Umsetzung, Anwendbarkeit der beschriebenen Elemente und dann werden noch viele typisch auftretende Probleme und deren Lösungen beschrieben. Dieses Kapitel kann als Nachschlagewerk bei Problemen dienen. Im letzten Kapitel 5 ab Seite 56 wird kurz beschrieben, was erreicht wurde und was noch zu erreichen ist. 2 Theorieteil 2.1 Aufbau einer Künstlichen Intelligenz in Computerspielen In der Abbildung 1 kann man den typischen Aufbau einer Künstlichen Intelligenz sehen. Das World Interface übergibt Informationen und somit Wissen 7

9 an die Künstliche Intelligenz. Das Execution Management kontrolliert die Genauigkeit und die Reihenfolge der Ausführung. Die Group-AI (Künstliche Intelligenz für Gruppen) enthält die Strategy und beinhaltet die wichtigen Informationen zur Koordination mehrerer unabhängiger Charaktere mit Künstlicher Intelligenz. Die Character AI besteht aus Decision Making und Movement. Also was für Aktionen werden gewählt, wie werden sie gewählt und aus welchem Grund und weiteres. Die Entscheidungen der Künstlichen Intelligenz werden animiert und haben physikalische Folgen innerhalb des Spiels. Die Künstliche Intelligenz hat auch einen Einfluss in Content Creation, das heißt zum Beispiel, dass immer schwerere und komplexere Gegner eingeführt werden, die Künstliche Intelligenz beinhalten, vor allem in MMORPGs (Massively Multiplayer Online Role-Playing Games) wie World of Warcraft von Blizzard Entertainment/Blizzard Activision, Die Künstliche Intelligenz hat auch einen Einfluss auf das Scripting, da man dort meist eine Künstliche Intelligenz in irgendeiner Form nachbaut, aber auch Techniken aus der Künstlichen Intelligenz benutzen kann. Weiterführendes gibt es in [2], auf den Seiten Movement und Physik in Computerspielen Um eine Künstliche Intelligenz in einem Computerspiel erstellen zu können, muss man sich zunächst einmal klar machen, was für Möglichkeiten der Agent, der gesteuert wird, denn besitzen soll. Ein wichtiger Aspekt, den man beachten muss, ist wie viel die Physik und das Movement (Bewegung) hierbei eine Rolle spielen, da diese meist den größten Unterschied zwischen verschiedenen Spielen darstellen. All die Unterschiede in diesen Spielen haben extreme Auswirkungen auf die Möglichkeiten des Agenten und somit auch direkt auf die Künstliche Intelligenz. Hier gibt es zum Beispiel den Unterschied, ob man in der Luft noch den Kurs des Fluges ändern kann, oder ist dieser unveränderbar? Man kann sich zum Beispiel vorstellen, wenn die Flugbahn noch veränderbar ist, muss man weniger im Voraus planen, als wenn dies nicht der Fall ist Physik in Computerspielen Wenn man eine Künstliche Intelligenz für ein Computerspiel entwickeln will, sollte man sich im Klaren sein, wie die Physik in dem Computerspiel eingehalten wird. Anhaltspunkte hierfür wären Kräfte, Gravitation, Impulse, Gesetz der Trägheit, Impulserhaltungssatz, Energieerhaltungssatz, Kollision, und Weitere. Meist werden Aspekte der Physik nicht, oder nur vereinfacht, modelliert. 8

10 Abbildung 1: Aufbau einer Künstlichen Intelligenz in Computerspielen. ([2], S.9) Dimensionen in Computerspielen Zunächst sollte man sich folgende Fragen stellen: In wie viele Dimensionen kann sich der Agent denn bewegen? Sind diese unterschiedlich oder gleich? Gibt es überhaupt so etwas wie Dimensionen zur Bewegung? In Abbildung 2 sieht man ein paar verschiedene Ansätze hierzu in Computerspielen. In dem etwas älteren Computerspiel Pong (Abbildung 2 oben links) ist es zum Beispiel nur möglich, sich auf dem Bildschirm nach oben und unten zu bewegen. Der Ball wiederum bewegt sich auch nach links und rechts. Es gibt aber keine Schwerkraft. 9

11 Abbildung 2: Dimensionen in Computerspielen. Das Bild beinhaltet die Spiele/Bilder: - Pong von Atari, 1972 (oben links) - Bomberman von Hudsonsoft/Ubisoft, 1983 (oben Mitte) - Super Mario Land von Nintendo, 1989 (oben rechts) - Unreal Tournament 3 von Epic Games, 2007 (unten links) - Flugsimulator [5] (unten Mitte) - Frei Fliegen [4] (unten rechts) In den Anfängen der Spielserie Bomberman von Hudson Soft (Abbildung 2 oben Mitte) blickt man von oben auf das Spiel und kann sich horizontal und vertikal auf dem Bildschirm bewegen, somit sind die zwei Dimensionen sehr ähnlich, da Schwerkraft keine Rolle spielt. Diese Art von Sicht nennt man Topdown. In den Anfängen der Super Mario Serie von Nintendo (Abbildung 2 oben rechts), was am ehesten dem Spiel entspricht, welches hier später vorgestellt wird, konnte man sich nach rechts und links frei bewegen, oder nach oben springen. Diese Ansicht nennt man Sidescroller und das Genre heißt Jump N Run (teilweise auch Platformer). Man wusste immer, dass sich das Ziel rechts befindet. In diesem Spielgenre gab es zum ersten Mal Schwerkraft und das war der Grund, dass sich die Dimensionen nicht mehr ähneln. Meist wurde die Schwerkraft aber nicht realistisch dargestellt, sondern man konnte linear, eine Weile nach oben springen und fiel dann wieder linear bis man landete. Man konnte sich jedoch auch in der Luft nach rechts und links bewegen, wie 10

12 auf dem Boden auch. Des Weiteren gibt es heutzutage schon dreidimensionale Computerspiele (Abbildung 2 unten links), in denen realistische Physik immer eine wichtige Rolle spielt. Ein wichtiges Genre ist hier der 3d Ego Shooter, in dem man sich am Boden in jede Richtung bewegen kann, wie in einem Topdown Spiel, aber gleichzeitig hat man die Möglichkeit, wie in einem Sidescroller zu springen. Somit hat man zwei Dimensionen, die sich funktional gleichen und eine Dimension, die sich von den anderen beiden Dimensionen funktional unterscheidet. Es wäre auch noch vorstellbar, dass man sich in drei Dimensionen bewegen kann, die sich von den Eigenschaften her völlig gleichen, ähnlich wie in einem Flugsimulator (Abbildung 2 unten rechts) Beschleunigung in Computerspielen Abbildung 3: Dimensionen in Computerspielen. Des Weiteren sollte man sich darüber Gedanken machen, ob Beschleunigung eine Rolle spielt. Wirkt sich die Beschleunigung langsam auf die Geschwindigkeit aus und verändert diese (Abbildung 3 links) oder gibt es verschiedene Geschwindigkeiten zwischen denen man beliebig wechseln kann (Abbildung 3 rechts). In dem Computerspiel, das hier vorgestellt wird, ist das Zweite der Fall. Ansonsten müsste man das sogenannte Steering Behavoir mit be- 11

13 trachten, also die Auswirkungen der Beschleunigung auf die Bewegung und das Planen Gravitation in Computerspielen Ein weiterer Aspekt ist die Schwerkraft beziehungsweise Gravitation. Gibt es Schwerkraft? Verändert die Schwerkraft langsam die Geschwindigkeit (Abbildung 4 links) oder gibt es nur diskrete Werte? (Abbildung 4 rechts) In Jump N Runs, wie später hier beschrieben, gibt es meist nur diskrete Werte. Abbildung 4: Gravitation in Computerspielen. Dieses Bild beinhaltet die Spiele/Bilder: - [7] (links) - Super Mario Land von Nintendo, 1989 (rechts) Kollision in Computerspielen Wichtig ist zudem auch die Kollision. Prallt man realistisch ab, im Sinne Einfallswinkel gleich Ausfallswinkel? (Abbildung 5 links) Gibt es überhaupt kein Abprallen? (Abbildung 5 Mitte) Gibt es einfach nur keinen Durchlass? (Abbildung 5 rechts) Das Letztere ist in dem Spiel, welches später vorgestellt wird, der Fall. 12

14 Abbildung 5: Kollisionen in Computerspielen. 2.3 Pathfinding in Computerspielen Einleitung In vielen Computerspielen ist das Pathfinding Teil des Spiels selbst. So ist es zum Beispiel in dem Echtzeitstrategiespiel Starcraft 2 von Blizzard Activision. Hier befiehlt man einer Einheit, sich zu einen bestimmten Punkt zu bewegen (Abbildung 6 links) und dann wird der kürzeste mögliche Weg berechnet und ausgeführt (Abbildung 6 rechts). Bei diesen Spielen ist es aber oft so, dass der Algorithmus mehr Informationen benutzt, als der Spieler haben sollte, was bei den Ansätzen, die hier erklärt werden, nicht der Fall ist. Für weitere Informationen kann in [2], auf den Seiten S nachgeschlagen werden. Das Pathfinding verläuft normalerweise in mehreren Schritten, die nun vorgestellt werden Schritt: Graphenerstellung Das Spielfeld wird in einen Graphen überführt (Abbildung 7 rechts). Hierfür gibt es extrem viele Möglichkeiten, die je nach Genre passender oder unpassender sind. Hierbei wird die automatische Graphenerstellung und die manuelle Graphenerstellung unterschieden. Die manuelle Graphenerstellung hat den Vorteil, 13

15 Abbildung 6: Pathfinding in Computerspielen. Das Bild zeigt das Spiel StarCraft II: Wings of Liberty von Blizzard Entertainment/Blizzard Activision, dass man der Künstlichen Intelligenz sehr genaue Vorgaben geben kann und somit mehr Kontrolle darüber hat, welche Wege gegangen werden sollten. Außerdem ist dieser erstellte Graph dann meistens auf Speicher und Zeitverbrauch optimiert. Der Nachteil ist, dass für jedes Level erst manuell ein Graph erstellt werden muss und wenn das nicht passiert, ist die Künstliche Intelligenz überhaupt nicht mehr brauchbar. Weitere Nachteile werden bei [8] beschrieben und sie werden dort auch in einem Video demonstriert. In manchen Spielen ist es auch klar, was Spielfelder sind, wie zum Beispiel in Brettspielen. Hierbei sind die Spielfelder die Knoten und die Möglichkeiten, sich zwischen diesen Spielfeldern zu bewegen, die Verbindungen der Knoten. Das kann dann natürlich auch je nach Situation beziehungsweise Figur variieren, wie zum Beispiel beim Schach, bei dem jede Art von Figur andere Möglichkeiten hat, sich zu bewegen. In der automatischen Graphenerstellung gibt es zum Beispiel die Möglichkeit, jedes Pixel, beziehungsweise jede Kombination von x,y und z Werten des Spielfeldes (je nach Dimensionen), als einen Knoten anzusehen. Jede Möglichkeit, von einem Pixel zu einem anderen zu kommen, wird als eine Verbindung zwischen diesen Knoten definiert. Jedoch gibt es hier den Nachteil, dass es in den meisten Spielen entweder zu genau und somit ineffizient ist, teilweise auch gar keinen Sinn macht und oft sehr viel Arbeitsspeicher verbraucht. Manchmal kann es natürlich auch sinnvoll sein, wenn zum Beispiel das Spielfeld sehr klein ist. Die nächste Möglichkeit, die eng damit zusammenhängt, ist die Rasterung des Spielfeldes, so dass zum Beispiel 10x, 10y, 10z Werte eine Rasterung ausmachen. Hierbei senkt man bei einem dreidimensionalen Spiel immer- 14

16 hin die Komplexität auf 0,1%! Der Nachteil ist, dass es keine Möglichkeit mehr gibt, sehr genau zu arbeiten, denn durch diese Ungenauigkeit können verschiedene Fälle nicht mehr unterschieden werden. Hierbei könnten gute Möglichkeiten übersehen werden oder sogar Fehler entstehen. Die Grobheit der Rasterung ist proportional zur Schnelligkeit und zum Speicherverbrauch des Pathfindings, aber erhöht auch die Ungenauigkeit. Außerdem muss man dem Agenten erst beibringen, was unmöglich ist und was nicht. In Kapitel 3 wird ein eigenes Konzept hierzu vorgestellt. Eine weitere Möglichkeit, der automatischen Graphenerstellung, besteht darin, alle Objekte in der Welt als Knoten und alle Möglichkeiten, von einem Objekt zum anderen zu kommen, als Verbindungen zwischen den Knoten anzusehen. Hierfür ist es oft nötig, geometrische Berechnungen einzubauen. Ein Ansatz hierzu wird in Kapitel 3 vorgestellt. Hierbei ist die durchgezogene Oberfläche jedes Objekts ein Knoten und die Möglichkeit, zwischen den Knoten zu springen, eine Verbindung (Abbildung 7 links). Abbildung 7: Graphenerstellung in Computerspielen Schritt: Shortest Path Algorithmus Wenn man nun einen Graphen hat, kann man einen Shortest Path Algorithmus anwenden. In Abbildung 8 ist der Dijkstra Algorithmus beschrieben. Andere Möglichkeiten wären der A*-Algorithmus, Tiefensuche und Breitensuche und einige mehr. Hierzu gibt es reichlich Literatur, da es eine Kernproblematik der Informatik darstellt, deswegen wird hier nicht weiter auf die Theorie dahinter eingegangen. In Kapitel 3 wird in dem eigenen Ansatz jedoch noch etwas zur Anwendung der Algorithmen beschrieben. 15

17 Abbildung 8: Shortest Path Algorithmus. [6] Schritt: Umformung der Lösung in Befehle Wenn man nun einen Weg hat, mit dem man ans Ziel kommt, muss man diesen Weg analysieren und in Befehle umformen (siehe Abbildung 9) Schritt: Ausführen von Befehlen Wenn man den Lösungsweg in Befehle umgeformt hat, können diese nun ausgeführt werden (siehe Abbildung 10). Hierbei muss folgendes beachtet werden: Was passiert, wenn man außerplanmäßig vom Weg abkommt? Was passiert, wenn sich etwas außerplanmäßig im Weg verändert? 2.4 Decision Making in Computerspielen Decision Making beschreibt die Art, wie Entscheidungen getroffen werden. Hierbei gibt es verschiedene Modelle, die in [2], auf den Seiten , beschrieben werden. Es folgt nun eine kurze Einführung in die verschiedenen Arten von Modellen. 16

18 Abbildung 9: Lösung in Befehle Umformen in Computerspielen Einleitung Es gibt unterschiedliche Ansätze des Decision Makings. Ein wichtiges Unterscheidungsmerkmal ist das Wissen des Agenten. Hierbei lassen sich folgende Möglichkeiten unterscheiden: Er ist allwissend. Er weiß, was er sieht. Er weiß, was er gesehen hat. Auf Grund von Gesehenem, schliesst er auf etwas anderes. Außerdem lässt sich noch unterscheiden, ob geplant wird oder nur reagiert. Des Weiteren könnte der Agent lernen. Zusätzlich sollte man wissen, ob die Künstliche Intelligenz einen Spieler simulieren soll. Hat sie dieselben Möglichkeiten, zu agieren, die auch ein Spieler hat oder besitzt sie eventuell andere Möglichkeiten, Entscheidungen zu treffen. Um eine Entscheidung zu treffen, braucht man erst eine Auswahl an möglichen Entscheidungen. Die Aktion, die durch eine Entscheidung hervorgerufen wird, kann einfach sein, etwa das Drücken oder Loslassen einer Taste, ähnlich wie beim Spieler, aber auch komplexere Aktionen, wie das Ausführen eines gefundenen Weges durch Pathfinding. Weiterführendes kann in [2], auf Seite nachgelesen werden. 17

19 Abbildung 10: Befehle Ausführen in Computerspielen Decision Trees Bei Decision Trees handelt es sich um Entscheidungsbäume (siehe Abbildung 11). Man stellt sich verschiedene Fragen und je nach Antwort, handelt man. Dies ist zu vergleichen mit einer if-then-else -Verschachtelung. ([2], S ) State Machines Eine State Machine (siehe Abbildung 12) ist so aufgebaut, dass man sich in Zuständen befindet und die Zustände durch Events gewechselt werden. Je nach Zustand wird dann gehandelt. ([2], S ) Behavior Trees Behavior Trees (siehe Abbildung 13) sind ähnlich wie Decision Trees, eine Möglichkeit, eine if-then-else -Verschachtelung visuell darzustellen. Der Unterschied zu einem Decision Tree ist nur, dass es sich hierbei um eine Abfolge von Aktionen handelt. ([2], S ) 18

20 Abbildung 11: Decision Tree. ([2], S. 297) Fuzzy Logic, Markov Systems Bei den Markov Systems handelt es sich um eine Erweiterung der Fuzzy Logic (siehe Abbildung 14). Wenn bei der Entwicklung der Künstlichen Intelligenz die Notwendigkeit besteht, Aktionen nicht nur richtig oder falsch zu sehen, sondern ihnen auch Kommazahlen zuzuweisen, sollte man die Seiten in [2] lesen Goal-Oriented Behavior Goal-Oriented Behavior, also sozusagen das zielorientierte Handeln, sieht eigentlich so aus, dass man sich verschiedene Ziele setzt und dann versucht, diese zu erreichen. Diese Art des Decision Makings wird nur sehr selten in Computerspielen eingesetzt. Die Ziele eines Agenten sind meistens sehr komplex und sie sind von vornherein klar, so dass sich diese Methode in vielen Fällen einfach nicht lohnt. Man könnte es allerdings auch so sehen, dass jede Art von Künstlicher Intelligenz implizit zu dieser Kategorie gehört, nur dass die Ziele sozusagen fest einprogrammiert sind. ([2], S ) 19

21 Abbildung 12: State Machine. ([2], S. 310) Scripting Beim Scripting handelt es sich darum, dass man die Entscheidungen der Künstlichen Intelligenz im Vornherein trifft und den computergesteuerten Objekten ganz genau sagt, was zu tun ist. Hier kann man gleich mehrere Bedeutungen des Wortes Script anwenden. Einerseits verhält man sich wie ein Regisseur und gibt dem Agenten genaue Anweisungen, wo er was zu tun hat. Andererseits kann man auch das aus der Programmierung stammende Script schreiben als Bedeutung verwenden. Meistens handelt es sich hierbei um Erweiterungen eines Spieles, die nicht von den Entwicklern des Spiel selbst geschrieben wurden, oder zumindest auch von einer anderen Person geschrieben sein könnten. Ein gutes Beispiel hierfür ist das Entwickeln eigener Custom Maps in den Blizzard Spielen Warcraft 3 und Starcraft 2, bei denen sogar neue Genres entstanden sind. Die wichtigsten dieser neuen Genres sind Tower Defence und Dota (Defence of the Ancients). Bei der Entwicklung eines Tower Defence (siehe Abbildung 15) wurde das Grundspiel nur leicht verändert, um ein völlig neues Genre zu erschaffen. Es wurden alle anderen Gebäude entfernt, so dass ein Spieler nur Tower bauen kann. Auch wurde die Vielfältigkeit und 20

22 Abbildung 13: Behavior Tree. ([2], S. 339) Variation der Tower erhöht. Außerdem werden Gegner an einem Startpunkt erstellt und laufen einen bestimmten Weg. Diese Gegner sollen aufgehalten werden, wenn sie aber das Ziel erreichen, verliert der Spieler ein Leben. Das Ziel des Spiels ist es lange zu überleben und man verliert, sobald die Leben 0 erreichen. Eigentlich handelt es bei Starcraft 2 um ein Echtzeitstrategiespiel. Doch wenn man diese Karte auswählt, fühlt es sich so an, als würde man ein ganz anderes Genre spielen, auch wenn nur wenige Eigenschaften durch Scripts verändert wurden. ([2], S ) Rule-Based Systems Ein Rule-Based System (siehe Abbildung 16), also regelbasiertes System besteht aus Rules, einem Arbiter und einer Database. Bei den Rules handelt es sich um die Entscheidungsmöglichkeiten, die der Agent hat. Der Arbiter ist die entscheidende Instanz. Die Database enthält das Wissen, das der Arbiter 21

23 Abbildung 14: Fuzzy Logic, Markov Systems. ([2], S. 375) benötigt, um die Entscheidungen zu treffen. ([2], S ) Database Die Datenbank enthält das Wissen des Agenten. Hierbei handelt es sich nicht immer um vollständiges Wissen, sondern um das Wissen, das der Agent durch World Interfacing (siehe 3.4 auf Seite 35) von der Spielwelt erhält. Die Datenbank kann logische boolean Werte, aber auch andere Datentypen, enthalten. ([2], S ) Rules Regeln bestehen aus einer Vorbedingung (Precondition), einer Aktion (Action) und aus einer optionalen Priorität (Priority). Wenn die Vorbedingung erfüllt ist, wird eine Liste von Bindings zurückgegeben. Diese können vier Arten von Bindings enthalten: false (Die Regel ist nicht anwendbar.) true (Die Regel ist anwendbar.) Die verschiedenen Wege, die ausgeführt werden können Sonstige Unterscheidungsmerkmale, die man braucht, um eine Regel mehrfach anzuwenden 22

24 Abbildung 15: Scripting. Die Bilder stammen aus dem Starcraft 2 Map Editor von Blizzard Entertainment/Blizzard Activision, Links sieht man, wie auf einer Map Regionen und Punkte definiert werden. Rechts sieht man den Editor zum Schreiben eines Scripts. Beide Ansichten sind Teile des Starcraft 2 Map Editors. Nun sucht der Arbiter, nach verschiedenen Kriterien, eine Regel mit zugehörigem Binding aus und schickt die Aktion an den Action Performer. Dieser meldet zurück, wenn die Aktion erfolgreich zu Ende gebracht wurde, oder an was die Aktion gescheitert ist. Nun werden wieder alle Regeln nach Vorbedingungen überprüft und es geht von vorne los. ([2], S ) Precondition Die Precondition muss erfüllt sein, damit die Aktion ausgeführt werden kann. Es kann einfache Preconditons geben, die immer wahr sind, wenn zum Beispiel eine Leerlaufaktion mit niedriger Priorität erkennen soll, dass nichts zu tun ist. Es kann aber auch zum Beispiel die Database gefragt werden, ob ein gewisser Wert erreicht wurde. Zum Beispiel könnte man einer Regel, bei der es darum geht, sich Heilung zu besorgen, eine Precondition einbauen, dass die Leben niedrig sind. Außerdem könnte man verschiedene Bindings an den Arbiter liefern, wenn die Regel zum Beispiel heißen würde Sammel ein Blatt auf. Dann würde in der Precondition erst überprüft werden, was für Blätter in der Nähe sind. Als nächstes würden Wege mit dem Pathfinding gefunden werden und diese Wege würden dann als Bindings zurückgegeben werden. Doch wenn kein einziger Weg gefunden wird, sind die Preconditions nicht erfüllt. Wenn die Preconditions nicht erfüllt sind, wird diese Regel auch nicht beachtet. ([2], S ) 23

25 Abbildung 16: Rule-Based Systems. ([2], S. 428) Action Die Aktion mit zugehörigem Binding wird an den Action Performer gesendet, wenn die Precondition erfüllt wurde und der Arbiter diese Regel ausgewählt hat. Das Ausführen einer Aktion entspricht zum Beispiel dem Drücken oder Loslassen einer Taste auf dem Keyboard. Es wird natürlich nicht wirklich auf die Tastatur geklickt, sondern der KeyListener oder MouseListener empfängt ein dementsprechendes Event, das auch zum Beispiel beim Drücken einer Taste auf dem Keyboard entstehen würde. Dies ist natürlich nur sinnvoll, wenn der Anspruch ist, einen wirklichen Spieler nachzuahmen. Alternativ können auch direkt die Eigenschaften des Charakters verändert werden. Allerdings sollte man sich im Klaren sein, inwiefern der Agent dann die Möglichkeit besitzt, zu betrügen. Im weiteren Verlauf wird davon ausgegangen, dass das Senden von Keyboard- und MouseEvents als einzig richtige Lösung anzusehen ist. Aber eine Aktion muss nicht unbedingt aus dem Senden eines einzigen Events bestehen. Es gibt auch zum Beispiel die Möglichkeit, dass der Action Performer einen Weg bekommt, dieser wird an einen Perform-Way-Thread weitergeleitet. Dieser Perform-Way-Thread generiert, je nach momentaner Position und je nach Weg, immer wieder KeyboardEvents bis das Ende des Weges erreicht wurde, oder erkannt wird, dass der Weg nicht möglich ist. ([2], S ) Priority Die Priorität einer Aktion ist nur optional und je nach Rule Arbitration (siehe auf Seite 25) vom jeweiligen Binding abhängig. Wenn das Binding 24

26 besagt, dass die Precondition nicht erfüllt ist, ist die Priorität am besten -1 oder ein anderer absurder Wert. Ansonsten sollte die Priorität der Wichtigkeit der Aktion entsprechen. ([2], S ) Rule Arbitration Bei der Rule Arbitration geht es darum, welche Kriterien sind entscheidend, um eine Regel auszuwählen. ([2], S ) First Applicable Die erste Regel, die die Vorbedingungen erfüllt, wird gewählt. Hier ist der Vorteil, dass man die Reihenfolge der Regeln vorher so setzen kann, dass die erste Aktion, die die Vorbedingungen erfüllt auch wirklich die Aktion ist, die dann ausgeführt werden sollte. Ein weiterer Vorteil ist, dass nicht alle Regeln erst auf Vorbedingungserfüllung überprüft werden müssen. ([2], S.441f) Least Recently Used Die Regeln werden absteigend nach zeitlichem Abstand der letzten Benutzung geordnet und die erste Regel, die die Vorbedingung erfüllt, wird ausgewählt. Der Vorteil hierbei ist, dass verhindert wird, dass ein Agent immer dieselbe Regel benutzt. Der Nachteil ist, dass nicht beachtet wird, dass eine Regel eventuell kritischer oder wichtiger ist, als eine andere. ([2], S.442) Random Rule Die Regeln werden zufällig geordnet und die erste Regel, die die Vorbedingung erfüllt, wird ausgewählt. Der Vorteil und Nachteil zugleich ist, dass es schwer vorhersehbar ist, was der Agent nun auswählen wird. Dies kann je nach Genre erwünschenswert sein oder auch nicht. Ein reiner Nachteil ist jedoch, dass nicht beachtet wird, dass eine Regel eventuell kritischer oder wichtiger ist, als eine andere. ([2], S.442) Most Specific Conditions Eine Regel, die die meisten Einschränkungen in der Vorbedingung hat und alle Vorbedingungen erfüllt, wird gewählt. Hierbei handelt es sich eigentlich um ein vorher geordnetes First Applicable. ([2], S.442) Dynamic Priority Arbitration Wenn man die feste Prioritäten für jede Aktion setzt, würde es sich auch um ein vorher geordnetes First Applicable handeln. Anders ist es jedoch, wenn man die Priorität der Aktion vom Binding und dem Wissen abhängig macht. Zum Beispiel ist es wichtiger, sich zu heilen, je weniger Leben man hat. Der 25

27 Vorteil ist also, dass sich die Priorität einer Aktion abhängig von den Umständen, dem Binding und eventuell auch dem Zufall stetig verändern kann. Da die Priorität vom Binding abhängt, ist es notwendig, erst die Preconditions aller Regeln zu überprüfen. Danach wird das Binding mit der höchsten Priorität gewählt und dessen Aktion an den Action Performer gesendet. Diese Art Regeln auszuwählen, verlangt es, alle Regeln durchzugehen und erfordert somit eine effiziente Überprüfung der Preconditions. ([2], S.442f) Blackboard Architectures Eine Blackboard Architecture (siehe Abbildung 17) ist eine Ansammlung von mehreren Rule-Based Systems, die jeweils Experten für ein gewisses Fachgebiet darstellen. Ein Arbiter entscheidet, welcher Experte das Sagen bekommt und lässt ihn so lange handeln, bis er die Kontrolle wieder freigibt. ([2], S ) Abbildung 17: Blackboard Architecture. ([2], S. 460) 26

28 3 Eigenes Konzept Das ganze Kapitel bezieht sich auf das Jump N Run Computerspiel, dass auf getestet werden kann. Angewandt wird die Künstliche Intelligenz auf ein Jump N Run Computerspiel mit zufällig erstellten Levels (siehe Kapitel 3.1 auf Seite 27). Um Pathfinding in zufälligen erstellten Levels zu ermöglichen, wurden verschiedene Konzepte entwickelt, um automatisch Graphen für das Pathfinding zu erstellen (siehe Kapitel 3.2 auf Seite 28). Beim eigenen Konzept handelt es sich um eine Künstliche Intelligenz als Rule-Based System (siehe Kapitel auf Seite 21) mit Dynamic Priority Arbitration (siehe Kapitel auf Seite 25). Es wird auf das Erstellen von Regeln eingegangen und die erstellten Regeln werden vereinfacht aufgelistet und kommentiert (siehe Kapitel 3.6 auf Seite 35). Auch auf das Decision Making (Entscheidungen treffen), das World Interfacing (Wie erhält die Künstliche Intelligenz das Wissen?) und den Action Performer (Wie werden Aktionen ausgeführt?) wird kurz eingegangen. Des Weiteren wird die Anwendbarkeit diskutiert (siehe Kapitel 4.2 auf Seite 49) und es werden die typisch auftretenden Probleme mit Lösungsvorschlägen aufgezählt (siehe Kapitel 4.3 auf Seite 50). 3.1 Jump n Run mit zufälligen Levels Das Spiel ( auf das das eigene Konzept angewandt wird, wurde unabhängig von der Bachelorarbeit in Java programmiert. Es geht darum, als eine Art Marienkäfer durch ein Level zu laufen, wobei dieses Level zufällig erstellt wurde. Es gibt feste Gegebenheiten für das Level: Die erste Wolke, auf der man zu Beginn des Level steht Eine Blockade, die verhindert, dass man nicht links aus dem Level gehen kann Eine Art Lava, die sich circa 900 Pixel unter dem Startpunkt befindet und sich über das gesamte Level erstreckt (Bei Berührung stirbt der Charakter.) Das Finish ist Pixel vom Startpunkt entfernt. Man sieht 1000 mal 1000 Pixel. 27

29 Wenn der Charakter stirbt, startet er auf derselben x-koordinate, auf der Start-y-Koordinate und ist kurz unsterblich, hat aber ein Leben weniger. Falls der Charakter kein Leben mehr hat, ist das Spiel vorbei. Zufällig werden hinzugefügt: Wolken, die nicht blockieren, aber den Charakter halten, sofern er sich darüber befindet Holz, das blockiert und den Charakter hält, sofern er sich darüber befindet Blätter, die man aufsammeln kann 3 Äste, die man aufsammeln kann (Diese sind jedoch nur schwer zu erreichen.) Feuer, das dem Charakter bei Auftreffen alle Blätter entzieht und sie in der Gegend verstreut (Falls der Charakter hierbei kein Blatt hat, stirbt er, genau wie in der Lava.) In diesem Spiel sind Objekte im Level auf einen Bereich verteilt, der sich über 2000 Pixel hoch und und mehr Pixel zur Seite erstreckt. Die Levels werden mit steigendem Schwierigkeitsgrad immer länger. Zusätzlich gibt es mit zunehmenden Schwierigkeitsgrad weniger haltende Objekte und mehr Objekte, die Schaden zufügen. Wenn das Ziel in einem Level erreicht wurde, wird der Schwierigkeitsgrad erhöht und man wird in das nächste Level gesetzt. Es gibt theoretisch unendlich viele Level. Durch das zufällige Erstellen der Levels, kann ein Level mit höherem Schwierigkeitsgrad jedoch leichter zu schaffen sein, als ein anderes mit niedrigerem Schwierigkeitsgrad. 3.2 Automatische Graphenerstellung Für die Erstellung der meisten komplexen und planenden Regeln ist es notwendig zu wissen, ob es einen Weg von einem Punkt zu einem anderen Punkt gibt. Das Pathfinding (siehe Kapitel 2.3 auf Seite 13) liefert dieses Wissen und gibt sogar den Weg zurück, den man dann später zur Ausführung benötigt. Ein wichtiger Teil des Pathfindings ist die Überführung des Spieles in einen Graphen (siehe Kapitel auf Seite 13). Dieser Graph kann normalerweise in der Leveldesignphase manuell definiert werden. Doch dadurch, dass die Levels erst bei Laufzeit entstehen, ist es notwendig, diesen Prozess zu automatisieren. Es gibt drei Ansätze für die automatische Graphenerstellung, die an diesem Spiel getestet wurden. 28

30 Im ersten Ansatz geht es darum, die Objekte als Knoten und die Erreichbarkeit zwischen den Knoten als Verbindungen zwischen den Knoten zu sehen. Diese Erreichbarkeit wird durch eine optimale Sprungfunktion überprüft. Es handelt sich hierbei um eine Art Ausschlussverfahren. Der zweite Ansatz enthält die Rasterung des Levels in jeweils 10 mal 10 Pixel. Als nächstes wird dann überprüft, wie viele Rasterungen das Objekt schneidet, um diese dann mit den Eigenschaften des Objektes zu versehen. Der dritte Ansatz erstellt erst beim Pathfinding selbst einen Graphen. So werden sowohl pixelgenaue Bewegungen, als auch große Bewegungsabläufe, wie ein kompletter Sprung oder langes Laufen in eine Richtung, in Betracht gezogen Ansatz: Erreichbarkeit von Objekten Objekte entsprechen den Kanten eines Graphen. Die Erreichbarkeit zwischen Objekten entspricht den Verbindungen zwischen Kanten Erstellung der Kanten Bei der Erstellung der Kanten/Knoten eines Graphens (siehe Abbildung 18), betrachtet man alle möglichen Oberflächen von Objekten, die nicht verdeckt werden, als eine Kante. Abbildung 18: Das Erstellen von Knoten Optimale Sprungfunktion Die optimale Sprungfunktion dient dazu, festzustellen, ob ein Objekt durch Sprung erreichbar ist oder nicht (siehe Abbildung 19 und Abbildung 20). Wenn das Objekt sich in dem NICHT ERREICHBAR Bereich befindet, ist es auf jeden Fall nicht erreichbar und kann somit ausgeschlossen werden. Wenn es sich in dem VIELLEICHT ERREICHBAR Bereich befindet, ist es notwendig zu überprüfen, ob ein Objekt (schadend, haltend oder blockend) die optimale Sprungfunktion bis zu dem zu erreichenden Objekt schneidet. Dies gilt auch in dem Bereich zwischen der optimalen Sprungfunktion über 29

31 Abbildung 19: Optimale Sprungfunktion dem zu erreichbaren Objekt und dem zu erreichbaren Objekt selbst. Wenn sich ein Objekt im Weg befindet, muss die Funktion angepasst werden (siehe Abbildung 21). Wenn also nur ein oder kein Objekt im Weg war, kann man sicher sagen, dass das zu erreichende Objekt erreichbar ist und man weiß sogar wie. Doch wenn die abgeänderte Funktion nun wieder geschnitten wird, gibt es überabzählbar viele neue Möglichkeiten, wie die Funktion verändert werden könnte. Es wurden verschiedene Lösungsmöglichkeiten, für dieses Problem, getestet, doch keine war so richtig zufriedenstellend, da es bei jedem weiteren Objekt, das sich im Weg befindet, exponentiell mehr Wegmöglichkeiten wurden. Außerdem wurde das Springen von unten auf ein Objekt, das sich oben befindet, nicht einbezogen. Aus den oben genannten Gründen wurde nach einer neuen Möglichkeit des Pathfindings gesucht Ansatz: Rasterung des Levels Die Rasterung des Levels (siehe Abbildung 22) wird jedes mal, wenn ein neues Objekt entdeckt wird, aktualisiert. Außerdem wird lediglich für jeden Pixelblock (in diesem Fall 10x und 10y Pixel also 100 xy-paare ) gespeichert, ob sich dort ein haltendes, ein blockendes und ein schadendes Element, sowie ein Blatt oder ein Ast befindet. Doch da im Voraus festgelegt wird, dass immer 10 mal 10 Pixel betrachtet werden und nur gespeichert wird, ob sich dort überhaupt mindestens eine Ausführung von dem jeweiligen Objekttyp befindet, oder eben nicht, hat man manchmal Ungenauigkeiten, die man dann nur schwer wieder in den Griff bekommt. In manchen Fällen ist es zu ungenau, in anderen Fällen ist es dann wiederum zu genau. 30

32 Abbildung 20: Verlauf der optimalen Sprungfunktion Das positive an diesem Ansatz ist jedoch, dass er der erste funktionierende Pathfindingansatz war, der innerhalb der Künstlichen Intelligenz zu einigermaßen guten Ergebnissen führte. Allerdings hatte das statische Pixelrastern zwei Nachteile: Einerseits war diese Genauigkeit manchmal nicht nötig und somit leidet die Geschwindigkeit und der Speicherbedarf. Andererseits war es manchmal auch zu ungenau, so dass Fehler entstanden, die schwierig in den Griff zu bekommen sind. Zwar wurden die Fehler größtenteils beseitigt, aber dann kam die Frage auf, warum man eigentlich so an diesen 10 mal 10 Pixeln festhält. Besser wäre doch ein dynamisches System, das je nach Bedarf die Genauigkeit verändern kann. Somit könnte man Speicherbedarf, Zeitbedarf und Genauigkeit für jeden Abschnitt so optimieren, dass man viel bessere Ergebnisse erzielt. Die Lösung sollte die Entwicklung einer dynamischen automatischen Graphenerstellung sein Ansatz: Dynamische automatische Graphenerstellung und dynamisches Pathfinding Die dynamische automatische Graphenerstellung (siehe Abbildung 23) macht sich Bewegungsmuster zu nutze, die oft auftreten. So wird von jedem Punkt aus nicht nur der nächste Pixel oder Pixelblock überprüft, sondern es werden auch typische Bewegungsabläufe als mögliche nächste Aktion gesehen. Man erhält dabei eine viel größere Anzahl an möglichen nächsten Aktionen. Um es am Beispiel des Nach Rechts Springens einmal anzudeuten, gibt es 31

33 Abbildung 21: Veränderung der optimalen Sprungfunktion viele mögliche Genauigkeiten einen Sprung zu überprüfen. So kann man zum Beispiel erst überprüfen, ob sich ein Objekt im Weg befindet, wenn man den kompletten Sprung durchführen will (nur den Weg nach oben, noch nicht das Fallen). Als nächstes verringert man die Länge des Sprunges bis kurz davor, und setzt das als einen neuen Knoten im Pathfinding fest. Außerdem werden auch 50% des Sprunges, 10% des Sprunges, 5% des Sprunges, und 1 Pixel des Sprunges als Knoten hinzugefügt. Dies erfolgt nach Überprüfung, ob der Weg möglich ist. Hierbei sollte auch überprüft werden, ob der Weg schon in der Liste an möglichen Wegen enthalten ist. Außerdem sollte man noch nach Zyklen prüfen. Um es noch weiter am Beispiel nach rechts laufen auszuführen, kann man folgende Fälle unterscheiden: 1000, 400, 100, 50, 10, 5 oder 1 Pixel nach rechts laufen. Bei jeder Aktion wird an jedem Zwischenpunkt überprüft, ob sich etwas im Weg befindet oder die Aktion aus sonst einem Grund nicht mehr möglich ist. Das Ende der Aktion wird dann auf die mögliche Aktionslänge reduziert. Falls dadurch dann Knoten entstehen, die sich gleichen, wird natürlich nur einer davon genommen. Dieser Graph wird jedoch im Gegensatz zur Graphenerstellung durch Rasterung des Levels erst dynamisch zum Pathfinding erstellt, was die Dauer des Pathfindings je nach Implementation eventuell erhöhen kann. 3.3 Pathfinding Dijkstra beim 1. Ansatz (Objekterreichbarkeit) Es wird überprüft, auf welchem Objekt sich der Spieler befindet und der dazugehörige Knoten wird als Anfangsknoten gewählt. Nun wird der Dijkstra 32

34 Abbildung 22: Veranschaulichung der Rasterung eines Spielfeldes. Hier kann man zum Beispiel sehen, dass sich in B1 und C2 jeweils ein rotes und ein braunes Objekt befindet. Man kann jedoch nicht mehr rekonstruieren, ob sich das Objekt überhaupt erreichen lässt. Algorithmus angewandt. Bei jedem Schritt wird auch überprüft, ob man von dem momentanen Objekt direkt zum Ziel des Pathfindings springen kann. Wenn dies der Fall ist, wird der Weg gespeichert und zurückgegeben. Dieser Weg wird dem Arbiter dann als Binding übergeben. Der Dijkstra Algorithmus selbst wird hier als Wissen vorausgesetzt, da es sich um einen zentralen Aspekt der Informatik handelt Gesteuerte Tiefensuche mit A* beim 2. Ansatz (Rasterung) In javaähnlicher Form auf den Punkt gebracht, wie es ungefähr aussehen sollte: 33

35 Abbildung 23: Veranschaulichung der Wegmöglichkeiten des dynamischen Pathfindings. pathfinder ( Ort ort, Ort to ){ if ( ort!= to ){ try { A*( ort,to ); } catch ( StackOverFlowError e){ } for ( each direction i){ ispossible ( neuerortdurch (i )){ pathfinder ( neuerortdurch (i),to ); } } } } Die richtige Auswahl der Richtungen ist hier extrem wichtig. Der A* Algorithmus selbst wird wie der Dijkstra Algorithmus als Wissen vorausgesetzt Abgeänderter A* beim 3. Ansatz (dynamische Graphenerstellung) Erst erstellt man für einen Knoten alle Folgeknoten, wie in Kapitel auf Seite 31 beschrieben. Nun könnte man den normalen A* Algorithmus verwenden und den nächsten besten Knoten mit einer unterschätzenden Heuristik und einer bisherigen Wegberechnung bestimmen. Doch in diesem Fall würde das zu einer Menge Overhead führen, denn eigentlich ist der Sinn, dass 34

36 die ungenauen Knoten viel priorisierter expandiert werden, als die genaueren Knoten. Also ist es notwendig, dass der bisherige Weg viel weniger gewichtet wird, als die Heuristik des noch ausstehenden Weges. Eine mögliche Ausführung wäre dies: Bisheriger Weg: T eilabschnitte 2 max (x,y) + 1 min (x,y) + 1 Restheuristik: 10 max(x,y) + 5 min (x,y) Erklärung: x (y) ist der x- (y-) Abstand, der in den jeweiligen Teilabschnitten des bisherigen Weges zurückgelegt werden musste. Bei der Restheuristik ist x (y) der Abstand, zwischen der zu erwartenden Position und dem Ziel. Nun zählt man für jeden neuen Knoten den bisherigen Weg und die Restheuristik zusammen und fügt sie der Liste noch zu expandierender Knoten hinzu. Der Knoten der Liste mit dem niedrigsten Wert wird expandiert. Expandierte Knoten werden aus der Liste entfernt. 3.4 World Interfacing/Perception Das World Interfacing erfolgt dadurch, dass zu jedem Frame überprüft wird, welches Objekt vom Spieler zur Zeit gesehen wird. Diese werden an die Database der Künstlichen Intelligenz gesendet und dort, je nach Verwendungszweck, verarbeitet. 3.5 Decision Making Das Decision Making basiert auf dem, im Theorieteil erwähnten, Rule-Based System (siehe Kapitel auf Seite 21) mit Dynamic Priority Arbitration (siehe Kapitel auf Seite 25). Die Priorität der Regeln hängt von verschiedenen Werten und auch vom Zufall ab. Doch wenn die Priorität gleich ist, wird zufällig eine Regel mit einem Binding ausgewählt. Auch das Konzept der Bindings wurde eingeführt, mit dem man mehrere Arten erlauben konnte, eine Regel auszuführen. So wird zum Beispiel bei ein Blatt einsammeln in der Precondition jedes Blatt in der Nähe geordnet und dann nacheinander ein Weg dazu gesucht. Zusätzlich werden Objekte kurzzeitig deaktiviert, wenn das Pathfinding fehlschlägt. 3.6 Regelerstellung Zunächst wurden grundsätzliche Regeln erstellt, wie Nach Rechts Laufen, Springen und Rennen. Erst dann wurde das System getestet. Falls sich 35

37 der Agent jedoch anders verhält, als er sollte, wird eine neue Regel hinzugefügt, die womöglich dieses Verhalten simulieren könnte Grundregeln für ein 2d Sidescroller Jump n Run Computerspiel In einem Jump n Run gibt es ein paar grundlegende Faustregeln, die fast immer gelten: Rennen: Man sollte immer rennen, wenn dies möglich ist. Nach rechts bewegen: Man sollte meistens nach rechts laufen, wenn dies sinnvoll ist. Springen: Wenn rechts ein Abgrund oder ein Hindernis ist, ist es meistens sinnvoll zu springen. Fallen lassen: Wenn man fällt oder fliegt und sich ein sicher zu erreichendes Objekt unter einem befindet, sollte man sich meistens fallen lassen. Schadende Objekte meiden: Es ist meistens besser, schadende Objekte zu umgehen. Diese einfachen Regeln ergeben schon eine relativ umfassende Künstliche Intelligenz, die in sehr vielen Fällen zu guten Ergebnissen führt. Natürlich muss man noch bei jedem Spiel die Besonderheiten des Spiels oder des Levels mit beachten und eventuell weitere Regeln erstellen. Einige Regelansätze für typische Probleme werden im Folgenden etwas ausführlicher beschrieben Einfache Regeln (essentiell und effizient) Name: Rennen Precondition: Rennen ist nicht angeschaltet Action: Rennen anschalten Priority: 100 Bewertung und Kommentare zur Regel Rennen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. In diesem Spiel ist es eigentlich nie sinnvoll, nicht zu rennen. Der Rennen-Modus wird also automatisch angeschaltet und bleibt für den 36

38 Rest des Spiels bestehen. Dies geschieht, indem ein Shift-Button-Pressed- Event an den KeyListener gesendet wird. Da es hier keine Beschränkung gibt, macht es auch keinen Sinn, zu sparen oder ähnliches. Das kann natürlich in einem anderen Spiel anders aussehen. Wenn es zum Beispiel Kosten für das Rennen gibt, ist es noch abzuwägen, ob dies in dieser Situation sinnvoll ist. Auch das Abschalten des Rennens müsste dann in Betracht gezogen werden. Name: Nach rechts laufen Precondition: Rechts ist nichts im Weg, was blockiert und rechts ist nichts Schadendes im Weg und rechts ist kein Abgrund Action: Nach rechts laufen Priority: 2 Bewertung und Kommentare zur Regel Nach rechts laufen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Dies ist damit zu begründen, dass sich das Ziel immer rechts befindet. Also ist es normalerweise sinnvoll, sich nach rechts zu begeben. Übrigens ist diese Regel auch in der Luft anwendbar und bezieht sich somit nicht nur auf das Laufen, sondern auch auf das Springen, Fliegen und Fallen nach rechts. Normalerweise ist es zwar sinnvoll nach rechts zu laufen, außer wenn sich dort ein schadendes Objekt befindet. Es wird nicht nach rechts gelaufen, wenn sich dort etwas Blockierendes befindet, da dies durch das Spiel ohne Nachteil sowieso verhindert wird. In diesem Fall dient das Verhindern der Regel eigentlich nur dazu, der Leerlauf-Regel Raum zu bieten. 37

39 Name: Springen Precondition: Positiv: Negativ: Rechts ist ein Abgrund oder rechts blockiert etwas den Weg oder rechts ist etwas Schadendes im Weg oben ist etwas, was blockiert oder oben ist etwas, was schadet oder man befindet sich schon in der Luft Action: Springen Priority: 100 Bewertung und Kommentare zur Regel Springen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Das Springen über ein Hindernis oder eine Lücke ist ein wichtiger Teil in jedem Jump N Run und kann, bis auf wenige Ausnahmen, als eine gute Faustregel angewandt werden. Die Ausnahmen, die dann für das jeweilige Spiel gelten, müssen hier mit modelliert werden. Name: Sich fallen lassen Precondition: Positiv: Negativ: Der Spieler fällt oder gleitet. Der Spieler ist über einem haltenden Objekt. Das Objekt ist relativ nah. Zwischen dem Spieler und dem haltenden Objekt befindet sich etwas schädliches. Es ist unmöglich von dem haltenden Objekt weiterzukommen. Action: Fallen lassen Priority: 10 Bewertung und Kommentare zur Regel Sich fallen lassen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Das Sich fallen lassen entscheidet manchmal darüber, 38

40 ob man ein hohes Objekt erreicht oder nicht. Es ist oft sinnvoller, wenn man schon fällt, einen kleinen Abstand nach unten zu fallen, um von dort wieder abzuspringen, wenn man dann insgesamt höher kommen wird, als ohne dies zu tun. Name: Gleiten/Fliegen Precondition: Positiv: Der Spieler fällt Negativ: Der Wechsel in den Fliegen Modus würde dem Spieler schaden (Kollisionsveränderung). Action: Gleiten/Fliegen anschalten Priority: 10 Der Spieler lässt sich absichtlich fallen. Bewertung und Kommentare zur Regel Gleiten/Fliegen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Diese Regel ist sicherlich nicht für jedes Spiel anwendbar, da es sich um eine Spezialität dieses Spiels handelt. Die Regel des Gleitens/Fliegens kann natürlich auch weggelassen werden, wenn sie nicht anwendbar ist. Doch bei diesem Spiel ist es, bis auf wenige Ausnahmen, immer sinnvoller zu Gleiten/Fliegen, als zu Fallen, da man eine größere Distanz überwinden kann. Name: Gleiten/Fliegen um nicht von unten in Feuer zu springen Precondition: Spieler springt und befindet sich unter Feuer Action: Gleiten/Fliegen anschalten Priority: 10 Bewertung und Kommentare zur Regel Gleiten/Fliegen um nicht von unten in Feuer zu springen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Wenn der Spieler sich direkt unter Feuer befindet und springt, kann der unmittelbare Zusammenprall damit verhindert werden, dass der Spieler in den Gleiten/Fliegen Modus wechselt, da er ab dann nicht weiter an Höhe gewinnt. Diese Regel ist nicht in jedem Spiel möglich und man muss 39

41 sich somit eine andere Möglichkeit überlegen, Feuer zu vermeiden, wenn dies nicht möglich ist, je nach Spiel. Name: Aufhören nach rechts zu laufen Precondition: Spieler ist links neben Feuer Action: Nach rechts Laufen ausschalten Priority: 20 Bewertung und Kommentare zur Regel Aufhören nach rechts zu laufen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Da die Künstliche Intelligenz in diesem Spiel nicht aufhört, nach rechts gedrückt zu halten, ist es notwendig, einen Button-Released- Event zu senden, um zu verhindern, dass der Spieler in ein schadendes Objekt läuft Kompliziertere Regeln (essentiell, aber eventuell ineffizient) Die folgenden Regeln sind zwar komplizierter zu implementieren, aber wenn sie fehlerfrei und effizient implementiert werden, können sie eine effektive Erweiterung des Regelsatzes darstellen. Name: Nicht von oben in ein schadendes Objekt fliegen Precondition: Spieler fällt oder fliegt/gleitet mit dem Kurs auf ein schadendes Objekt Action: Finde einen alternativen Weg, bei dem man nicht auf ein schadendes Objekt fliegt. Priority: 100 Bewertung und Kommentare zur Regel Nicht von oben in ein schadendes Objekt fliegen : Es handelt sich zwar theoretisch um eine essentielle Regel, aber der Ansatz hat sich in der Praxis als fehlerhaft erwiesen. Die Regel wurde beim Testen in falschen Situationen angewandt und es gab enttäuschende Ergebnisse. Es hatte meist zur Folge, dass alle Leben an einer Stelle verloren wurden. Es handelt sich sicher um einen guten Gedanken, nur die Umsetzung müsste noch verbessert werden. Die richtige Erkennung, wann der Spieler in Feuer springen würde, sowie die effiziente Findung einer Alternative ist hierbei essentiell. 40

42 Name: Leerlaufregel Precondition: Keine Action: Einen Counter hochzählen Priority: 1 Bewertung und Kommentare zur Regel Leerlaufregel : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Die Leerlaufregel ist dazu da, um zu erkennen, wie lange der Charakter schon festsitzt und nichts tun kann. So kann man je nach Spiel folgende Aktionen in Betracht ziehen: Nach längerer Zeit alternative Routen finden die Richtung wechseln absichtlich Suizid begehen, um weiterzukommen Fähigkeiten benutzen Es bestehen noch viele andere Möglichkeiten, die man je nach Besonderheiten des Spieles anwenden könnte. Name: Finde einen neuen Weg Precondition: Der Leerlaufregelcounter erreicht ein gewisses Level. Nun werden Wege gesucht, mit denen man eine bessere Position erreichen könnte. Action: Den gefundenen Weg ausführen Priority: Die Priorität muss je nach erreichbaren Punkt variieren und ist meistens anderen Regeln zu bevorzugen. Bewertung und Kommentare zur Regel Finde einen neuen Weg : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. Zwar wurde beim Testen oft keine gute Alternative gefunden. Falls sich dennoch eine (brauchbare) Alternative finden lässt, ist es eine große Bereicherung, da man auch einer Lage entfliehen kann, aus der man sonst eventuell nicht herauskommen würde. Name: Nach links laufen Precondition: Der Leerlaufregelcounter erreicht ein gewisses Level. Action: Iterativ probieren, sich immer mehr nach links zu bewegen und es dann von dort erneut probieren, bis man an dem Ort vorbeigekommen ist, an dem man stecken geblieben ist. Priority: Die Priorität ist abhängig vom Leerlaufregelcounter. 41

43 Bewertung und Kommentare zur Regel Nach links laufen : Es hat sich beim Testen herausgestellt, dass es sich hierbei um eine essentielle Regel handelt. In sehr vielen Situationen hat diese Regel gereicht, um nicht stecken zu bleiben. Diese Regel sollte abwechselnd mit der Finde Einen Neuen Weg Regel angewandt werden, in dem Fall, dass man nicht weiterkommt. Praktisch wurde es so umgesetzt, dass der Leerlaufregelcounter nach unten gezählt wurde bis 0 erreicht wird. Als nächstes wurde ein Counter hochgezählt, für wie oft man stecken geblieben ist, und somit die Zeit, die man sich nach links bewegt hat, iterativ steigt. Name: Aus einem Käfig befreien Precondition: Befindet sich der Spieler an einem Ort, aus dem er in keine Richtung unbeschadet herauskommt, dann finde einen Weg, mit dem man minimalen Schaden erleidet, aber sich aus der Lage befreien kann. Action: Begehe den gefunden Weg. Priority: Priorität ist abhängig vom erlittenen Schaden und ob man wirklich aus der Situation herauskommt. Bewertung und Kommentare zur Regel Aus einem Käfig befreien : Es hat sich beim Testen herausgestellt, dass es sich zwar um eine essentielle Regel handelt, aber die Ausführung funktionelle Fehler hatte. Somit war es besser, diese Regel nicht einzubauen, da sie oft zu Fehlern geführt hat. Es wurde von der Künstlichen Intelligenz manchmal fälschlicherweise davon ausgegangen, dass es keinen Ausweg gibt, obwohl das nicht der Fall war. Es handelt sich zwar um einen guten Gedanken, nur die Umsetzung müsste noch verbessert werden Fortgeschrittenere Regeln für ein 2d Sidescroller Jump n Run Computerspiel Diese Regeln könnten je nach Art des Spiels nützlich sein, sind aber nicht zwingend erforderlich. Oft ändert es nichts an dem Erfolg des Spielers. Doch wenn es zum Beispiel die Vorgabe gibt, dass bestimmte Dinge aufgesammelt werden müssen, ohne die es nicht weitergeht, gäbe es hier entsprechende Regelansätze, die dafür eventuell hilfreich sind. 42

44 Name: Einen essentiellen Gegenstand aufsammeln Precondition: Man befindet sich an einem sicheren Ort und es gibt einen Weg zu einem essentiellen Gegenstand Action: Führe den Weg aus Priority: Extrem hoch, je nach Gefahr auf dem Weg und Wert des Gegenstandes Bewertung und Kommentare zur Regel Einen essentiellen Gegenstand aufsammeln : Ein Problem hierbei ist, wann die Regel nicht angewandt werden soll. Da durch sie die Performance extrem reduziert wird, wenn nach jedem Schritt überprüft wird, ob es einen Weg zum essentiellen Objekt gibt. Beim Testen der Regel gab es oft Endlosschleifen oder extreme Performance Probleme. Es ist hierbei essentiell, dass das Pathfinding in jeder Situation perfekt funktionieren können muss. Im Rastersystem ist dies zum Beispiel teilweise einfach zu ungenau, um eindeutig zu sagen, ob es auf jeden Fall möglich ist. Doch eine genaue Berechnung wäre oft zu aufwändig. Eine effiziente und korrekte Lösung für dieses Problem ist eine echte Herausforderung. Wenn diese Probleme behoben wären, wäre es jedoch eine große Bereicherung für den Regelsatz. Name: Einen helfenden Gegenstand aufsammeln Precondition: Man befindet sich an einem sicheren Ort und es gibt einen Weg zu einem helfenden Gegenstand Action: Führe den Weg aus Priority: Je nach Position, die man für das Aufsammeln aufgeben muss und je nach Wichtigkeit des Gegenstandes Bewertung und Kommentare zur Regel Einen helfenden Gegenstand aufsammeln : In dem Spiel, um das es hier geht, handelt es sich bei diesen Gegenständen um Blätter. Diese können eingesammelt werden, um sich Leben dazuzuverdienen. Außerdem verliert man alle Blätter, statt ein Leben, falls man Blätter hat und Schaden nimmt. Wenn man kein Blatt hat und Schaden nimmt, verliert man ein Leben. Also ist es oft nicht sinnvoll, eine starke Position aufzugeben, um ein Blatt aufzusammeln. Aber wenn man dabei nichts verliert, ist es immer sinnvoll es zu tun. Wenn man für einen Gegenstand eine gute Position aufgibt, muss man abwägen, ob er das wert ist. Ein wichtiges Kriterium für den Erfolg dieser Regel ist also das richtige Nichtanwenden dieser Regel. Wenn sie nämlich in risikoreichen Situationen angewandt wird, hat das oft fatale Folgen. Die Regel hat beim Testen 43

45 oft dazu geführt, dass die Position verschlechtert wurde und somit der Spieler zum Beispiel in die Lava fiel, nachdem er das Blatt aufgesammelt hat. Es ist also notwendig, eine Art Risikobewertung in diese Regel einzuführen. Wie risikofreudig man ist, entscheidet über Erfolg und Misserfolg dieser Regel. Beim Testen wurden sowieso genug Blätter zufällig aufgesammelt, wenn sie einfach ignoriert wurden und wenn sie zufällig auf dem Weg waren, so dass es bessere Ergebnisse ohne diese Regel gab, als mit. Es ist eine Herausforderung, diese Regel so zu gestalten, dass sie wirklich einen Nutzen bringt. Aber wenn die Regel gut, effizient und korrekt arbeitet, sollte sie eine große Bereicherung für den Regelsatz darstellen. Name: Einen helfenden Gegenstand aus der Luft aufsammeln Precondition: Man befindet sich in der Luft und es gibt einen kurzen Weg zu einem helfenden Gegenstand Action: Führe den Weg aus Priority: Je näher desto höher Bewertung und Kommentare zur Regel Einen helfenden Gegenstand aus der Luft aufsammeln : Hier ist das richtige Nichtanwenden der Regel eine der größten Herausforderungen. Wenn sie nämlich in zu risikoreichen Situationen angewandt wird, verliert der Spieler zu viel Position und kann somit manche Orte eventuell nicht mehr erreichen oder verliert sogar ein Leben. Auch sollte die Berechnung des Weges nur in der Ausnahme ausgeführt werden, da die Zeit in der Luft für Berechnungen extrem begrenzt ist. Denn wenn man während der Berechnung auch nur einen Pixel nach unten fällt, könnte der Weg nicht mehr gültig sein. Allgemein ist diese Regel sehr vorsichtig zu benutzen, da sie die Qualität des Regelsatzes extrem verschlechtern kann, wenn sie nicht effizient und korrekt implementiert wird. Name: Die Distanz zu einem essentiellen Gegenstand verringern Precondition: Der Spieler befindet sich zu weit weg, um einen essentiellen Gegenstand direkt zu erreichen. Aber es gibt eine Möglichkeit, näher an diesen Gegenstand zu kommen. Action: Den Weg ausführen Priority: Je näher man an dem essentiellen Gegenstand ist, desto höher die Priorität. Aber sie sollte niedriger sein, als die Priorität von Ast Aufsammeln Bewertung und Kommentare zur Regel Die Distanz zu einem essentiellen Gegenstand verringern : Bei dieser Regel stellt sich die Frage, wann sie angewandt werden sollte und 44

46 wann nicht und wie man sicherstellt, dass es überhaupt möglich ist, den essentiellen Gegenstand einzusammeln. Die Umsetzung führte in der Praxis oft zu Endlosschleifen und war somit nicht wirklich brauchbar. Wenn diese Probleme behoben wären, wäre es jedoch eine große Bereicherung für den Regelsatz. Abbildung 24: Abgebildet ist ein unabwendbarer Sprung ins Feuer. Wenn man links von einem blockierenden oder schadenden Objekt springt und dann oben auch ein schadendes Objekt ist, kann man sich nicht, ohne Schaden zu nehmen, in den Fliegen/Gleiten Modus drehen, da das Objekt rechts im Weg ist. Name: Etwas wegbewegen für Drehung Precondition: Der Spieler befindet sich zu nah an einem Objekt, so dass er sich nicht drehen kann Action: Sich von dem Objekt wegbewegen Priority: Wenig Bewertung und Kommentare zur Regel Etwas wegbewegen für Drehung : Diese Regel basiert auf der Idee, dass man sich nicht drehen kann, um zu Fliegen, wenn man sich zu nahe an einem anderen Objekt befindet. Somit hätte man zum Beispiel das Problem, das in Abbildung 24 dargestellt ist. In diesem Fall sollte diese Regel eintreten und dem Agenten somit helfen, nicht unnötig in ein schadendes Objekt zu springen. Die Umsetzung hatte jedoch Macken, so dass die Position des Spielers oft unnötig verschlechtert wurde. Beim Testen hat sich herausgestellt, dass ohne die Regel ein viel besseres Ergebnis erzielt wurde. Da es sich um einen Sonderfall handelt und es auch nicht richtig funktioniert hat, ist diese Regel in dieser Kategorie gelandet. 45

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Studieren- Erklärungen und Tipps

Studieren- Erklärungen und Tipps Studieren- Erklärungen und Tipps Es gibt Berufe, die man nicht lernen kann, sondern für die man ein Studium machen muss. Das ist zum Beispiel so wenn man Arzt oder Lehrer werden möchte. Hat ihr Kind das

Mehr

Dokumentation für das Spiel Pong

Dokumentation für das Spiel Pong Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? In der gedruckten Version der Spielregeln steht: der Startspieler ist der Spieler, dessen Arena unmittelbar links neben dem Kaiser steht [im Uhrzeigersinn].

Mehr

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen walker radio tv + pc GmbH Flüelerstr. 42 6460 Altdorf Tel 041 870 55 77 Fax 041 870 55 83 E-Mail info@walkerpc.ch Wichtige Informationen Hier erhalten sie einige wichtige Informationen wie sie ihren Computer

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Eigenen Farbverlauf erstellen

Eigenen Farbverlauf erstellen Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites

Mehr

Alle gehören dazu. Vorwort

Alle gehören dazu. Vorwort Alle gehören dazu Alle sollen zusammen Sport machen können. In diesem Text steht: Wie wir dafür sorgen wollen. Wir sind: Der Deutsche Olympische Sport-Bund und die Deutsche Sport-Jugend. Zu uns gehören

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

AUF LETZTER SEITE DIESER ANLEITUNG!!!

AUF LETZTER SEITE DIESER ANLEITUNG!!! BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Wie optimiert man die Werbungserkennung von Ad- Detective?

Wie optimiert man die Werbungserkennung von Ad- Detective? Wie optimiert man die Werbungserkennung von Ad- Detective? Die Ad-Detective-Werbe-Erkennung von VideiReDo basiert auf der Erkennung von Schwarzwerten / scharzen Bildern, die die Werbeblöcke abgrenzen.

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

GeoPilot (Android) die App

GeoPilot (Android) die App GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen

Mehr

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft. Das ist ein Text in leichter Sprache. Hier finden Sie die wichtigsten Regeln für den Verein zur Förderung der Autonomie Behinderter e. V.. Das hier ist die Übersetzung der Originalsatzung. Es wurden nur

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

Mehr

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank Tutorials: Übertragung von Fotos (+ ) auf einen anderen Computer Export der In dieser Lektion erfahren Sie, wie Sie am effektivsten Fotos von einem Computer auf einen anderen übertragen. Wenn Sie Ihre

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Gutes Leben was ist das?

Gutes Leben was ist das? Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Qualitätsbedingungen schulischer Inklusion für Kinder und Jugendliche mit dem Förderschwerpunkt Körperliche und motorische Entwicklung

Qualitätsbedingungen schulischer Inklusion für Kinder und Jugendliche mit dem Förderschwerpunkt Körperliche und motorische Entwicklung Forschungsprojekt: Qualitätsbedingungen schulischer Inklusion für Kinder und Jugendliche mit dem Förderschwerpunkt Körperliche und motorische Entwicklung Leichte Sprache Autoren: Reinhard Lelgemann Jelena

Mehr

StarCraft Brood War Kampagnen in StarCraft II Installations-Handbuch

StarCraft Brood War Kampagnen in StarCraft II Installations-Handbuch StarCraft Brood War Kampagnen in StarCraft II Installations-Handbuch Erste Version (August 2012) von Telenil Dieses Dokument ist ein Schritt-für-Schritt Installations-Handbuch für das StarCraft 1 und Brood

Mehr

AUSBILDUNG eines OBEDIENCE HUNDES

AUSBILDUNG eines OBEDIENCE HUNDES Beginners, CH (Box, Carré), 15 m entfernt Beginners, CH ab 2017 FCI - 1 (Box, Carré), 15 m entfernt mit Platz, 15 m FCI - 2 FCI - 3 mit Platz und Abrufen, 23 m Voransenden in einen Kreis, dann in ein Viereck

Mehr

Was ist Sozial-Raum-Orientierung?

Was ist Sozial-Raum-Orientierung? Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume

Mehr

Anlegen eines DLRG Accounts

Anlegen eines DLRG Accounts Anlegen eines DLRG Accounts Seite 1 von 6 Auf der Startseite des Internet Service Centers (https:\\dlrg.de) führt der Link DLRG-Account anlegen zu einer Eingabemaske, mit der sich jedes DLRG-Mitglied genau

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen!

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen! Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen! www.wee24.de. info@wee24.de. 08382 / 6040561 1 Experten sprechen Ihre Sprache. 2 Unternehmenswebseiten

Mehr

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache Für Ihre Zukunft! Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache 1 Europäischer Fonds für Regionale Entwicklung: EFRE

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

10.1 Auflösung, Drucken und Scannen

10.1 Auflösung, Drucken und Scannen Um einige technische Erläuterungen kommen wir auch in diesem Buch nicht herum. Für Ihre Bildergebnisse sind diese technischen Zusammenhänge sehr wichtig, nehmen Sie sich also etwas Zeit und lesen Sie dieses

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Die Post hat eine Umfrage gemacht

Die Post hat eine Umfrage gemacht Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Kreatives Gestalten mit Flash 5.0

Kreatives Gestalten mit Flash 5.0 Kreatives Gestalten mit Flash 5.0 Animationen, Effekte und Anwendungen für das WWW Bearbeitet von Isolde Kommer 1. Auflage 2000. Buch. 444 S. Hardcover ISBN 978 3 446 21463 7 Format (B x L): 20,1 x 23,6

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Eine der Aktien hat immer einen höheren Gewinn als die andere Aktie. Ihre Aufgabe ist es diese auszuwählen.

Eine der Aktien hat immer einen höheren Gewinn als die andere Aktie. Ihre Aufgabe ist es diese auszuwählen. Instruktionen am Anfang von Experiment 1 (auf Papier ausgeteilt: grünmarkierte Textstellen zeigen den Instruktionstext in der jeweiligen Bedingung an; Kommentare sind gelb markiert.) Stellen Sie sich vor,

Mehr

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon.

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon. www.blogger.com Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon. Sie müssen sich dort nur ein Konto anlegen. Dafür gehen Sie auf

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: david vajda 3. Februar 2016 Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: Elektrische Stromstärke I Elektrische Spannung U Elektrischer Widerstand R Ladung Q Probeladung q Zeit t Arbeit

Mehr

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Bilingual konkret Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Moderner Unterricht ist ohne die Unterstützung durch Computer und das Internet fast

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

Mehr

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Rohstoffanalyse - COT Daten - Gold, Fleischmärkte, Orangensaft, Crude Oil, US Zinsen, S&P500 - KW 07/2009

Rohstoffanalyse - COT Daten - Gold, Fleischmärkte, Orangensaft, Crude Oil, US Zinsen, S&P500 - KW 07/2009 MikeC.Kock Rohstoffanalyse - COT Daten - Gold, Fleischmärkte, Orangensaft, Crude Oil, US Zinsen, S&P500 - KW 07/2009 Zwei Märkte stehen seit Wochen im Mittelpunkt aller Marktteilnehmer? Gold und Crude

Mehr

Was ich als Bürgermeister für Lübbecke tun möchte

Was ich als Bürgermeister für Lübbecke tun möchte Wahlprogramm in leichter Sprache Was ich als Bürgermeister für Lübbecke tun möchte Hallo, ich bin Dirk Raddy! Ich bin 47 Jahre alt. Ich wohne in Hüllhorst. Ich mache gerne Sport. Ich fahre gerne Ski. Ich

Mehr

Datenschutz im Unternehmen. Was ist Datenschutz, und weshalb betrifft er unser Unternehmen?

Datenschutz im Unternehmen. Was ist Datenschutz, und weshalb betrifft er unser Unternehmen? Was ist Datenschutz, und weshalb betrifft er unser Unternehmen? 1 Herzlich willkommen! Die Themen heute: Datenschutz ein aktuelles Thema Gründe für einen guten Datenschutz Welche Grundregeln sind zu beachten?

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

TYPO3 Super Admin Handbuch

TYPO3 Super Admin Handbuch TYPO3 Super Admin Handbuch Erweiterung News Für das System der Maria Hilf Gruppe Version 02 09.03.10 Erstellt durch: NCC Design Florian Kesselring Zeltnerstraße 9 90443 Nürnberg 1 Inhaltsverzeichnis Inhalt

Mehr

Nicht über uns ohne uns

Nicht über uns ohne uns Nicht über uns ohne uns Das bedeutet: Es soll nichts über Menschen mit Behinderung entschieden werden, wenn sie nicht mit dabei sind. Dieser Text ist in leicht verständlicher Sprache geschrieben. Die Parteien

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Bilder Schärfen und Rauschen entfernen

Bilder Schärfen und Rauschen entfernen Bilder Schärfen und Rauschen entfernen Um alte Bilder, so wie die von der Olympus Camedia 840 L noch dazu zu bewegen, Farben froh und frisch daherzukommen, bedarf es einiger Arbeit und die habe ich hier

Mehr

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt. Zeitmanagement Allgemeine Einleitung Wie oft haben Sie schon gehört Ich habe leider keine Zeit? Und wie oft haben Sie diesen Satz schon selbst gesagt? Wahrscheinlich nahezu jeden Tag. Dabei stimmt der

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Kaufkräftige Zielgruppen gewinnen

Kaufkräftige Zielgruppen gewinnen Kaufkräftige Zielgruppen gewinnen Wie Sie Besucher auf Ihre Webseite locken, die hochgradig an Ihrem Angebot interessiert sind 2014 David Unzicker, alle Rechte vorbehalten Hallo, mein Name ist David Unzicker

Mehr

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen Beispielheft Inhalt Allgemeine Einführung Test Eins: Test Zwei: Test Drei: Test Vier: Test Fünf: Argumentationsvermögen Auffassungsvermögen Zahlenvermögen Sprachverständnis Räumliches Vorstellungsvermögen

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren.

Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren. Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren. Gold! Gold! Nichts als Gold, soweit das Auge reicht. So ein Goldesel ist schon was Praktisches. Doch Vorsicht: Die störrischen Viecher können einem auch

Mehr