Computational Thinking Pattern

Aus Scalablegamedesign
Zur Navigation springen Zur Suche springen

"Computational Thinking" meint, dass Probleme so formuliert werden, dass sie von Computern bearbeitet werden können.

"Computational Thinking Patterns" sind Denk- und Analysemuster, welche dazu dienen, Computational Thinking umzusetzen. Indem Kinder "Computational Thinking Patterns" anwenden, lernen sie, Probleme computergerecht zu formulieren. "Computational Thinking Patterns" können auch in der realen Welt gesehen werden und schlagen somit eine Brücke zwischen der Alltagserfahrung und der Computertechnik.


Muster

Es gibt eine Reihe von Mustern in der aktuellen Literatur, zur besseren Übersicht werden sie hier in Gruppen eingeteilt.


Bauen

Verarbeitung erfordert oft, dass Elemente entstehen oder abgebaut werden.

Generieren

Generieren

Ein neues Element entsteht, zum Beispiel neben einem bestehenden. Beispiele sind:

  • Ein Raumschiff feuert einen Schuss ab.
  • Aus einer Höhle kommen Monster.


Absorbieren

Generieren

Ein Element verschwindet. Beispiele sind:

  • Pac Man isst einen Punkt.
  • Ein Auto verschwindet in einem Tunnel.


Fortbewegung

In einem Spiel bewegen sich Spielfiguren über ein Feld.

Tastensteuerung

Generieren

Die Spielfigur bewegt sich nach den Tasten, die gedrückt werden.

Je nach Spiel bewegt sich die Spielfigur auch konstant vorwärts und ändert einfach die Richtung, wenn eine Taste gedrückt wird.


Ziehen

Generieren

Ein Agent zieht einen anderen Agenten hinter sich her. Dieses Pattern ist nicht besonders häufig in Spielen, aber es eignet sich gut als Beispiel, da es viele Möglichkeiten gibt, es umzusetzen. Beispiele sind:

  • Ein Zug zieht Wagen nach sich.
  • In "Snake" zieht der Kopf der Schlange die weiteren Elemente des Körpers nach sich.


Stossen

Generieren

Ein Agent schiebt einen anderen Agenten vor sich her. Dies ist ein oft verwendetes Muster in Puzzle-Spielen.


Transportieren

Generieren

Ein Agent führt einen anderen Agenten mit sich. In AgentCubes geschieht dies, indem die Agenten aufeinander gestapelt sind.


Choreographie

Generieren

Für komplexe Bewegungen mehrerer Agenten kann es notwendig sein, dass die Bewegungen zentral choreographiert werden. So bewegen sich eine Reihe von Agenten synchron, zum Beispiel die Raumschiffe im Spiel "Space Invaders".


Kollision

Generieren

Die Kollision von zwei Agenten wird überwacht und das Spiel reagiert darauf. Kollision ist in den meisten Spielen wichtig:

  • Die Spielfigur wird durch Kollision mit Wänden daran gehindert, das Spielfeld zu verlassen.
  • Das Spiel wird beendet, wenn die Spielfigur mit einem Gegner kollidiert.
  • Ein Gegner wird vom Spielfeld entfernt, wenn er Kontakt mit einem Projektil macht, welches die Spielfigur abgefeuert hat.


Information

Befragen & Zählen (Polling)

Generieren

Häufig wird der Spielverlauf beeinflusst vom Zustand einer Menge von Agenten. In diesem Fall muss eine Umfrage umgesetzt werden. Beispiele:

  • Pac Man gewinnt, wenn keine Pillen mehr auf dem Spielfeld sind.
  • Space Invaders ist fertig, wenn keine gegnerischen Raumschiffe mehr auf dem Spielfeld sind.


Nummerieren & Identifizieren

Wenn in einem Spiel Agenten gezielt angesteuert werden müssen, dann muss eine Möglichkeit vorhanden sein, diese zu identifizieren. Das kann zum Beispiel geschehen, indem die Agenten durchnummeriert werden.

Orientierung

Pfad

Eine Möglichkeit, Spielfiguren gezielt zu bewegen, ist, sie einem Pfad entlang laufen zu lassen.

Diffusion

Generieren

Damit sich eine Spielfigur gezielt bewegen kann, wird Information auf dem Spielfeld verteilt. Typischerweise wird die Information von einem Agenten gestreut und nimmt dann ab, je weiter man vom Agenten entfernt ist. Die Spielfigur bekommt also einen "Duft".

Ein Beispiel ist, wenn Gegner die Spielfigur verfolgen sollen. Die Spielfigur streut dann einen "Duft", und die Gegner können dem Duft folgen, um zur Spielfigur zu gelangen. Dieses Muster erlaubt es, recht komplexe Bewegungsmuster umzusetzen.

Hill Climbing

Generieren

Dieses Muster ist das Gegenstück zur Diffusion. Wenn auf dem Spielfeld Information verteilt ist, dann können die Spielfiguren Ziele verfolgen, indem sie einfach "dem Duft folgen", also von Feldern mit tiefen Werten zu Feldern mit höheren Werten aufrücken.


Kollaboratives Hill Climbing (mehrere Agenten)

Ein sehr komplexes, aber nicht allzu schwierig umzusetzendes Muster ist, dass Agenten zusammenarbeiten, um zum Gipfel zu gelangen. So können Gegner verschiedene Wege verfolgen, um zur Spielfigur zu gelangen.

In der Umsetzung geht man so vor, dass ein Gegner jeweils den Duft absorbiert an der Stelle, wo er selbst gerade ist. So folgen die anderen Gegner dann anderen Pfaden, um zur Spielfigur zu gelangen. Die Spielfigur wird von den Gegnern sozusagen umzingelt.

Hierarchisches Hill Climbing (mehrere Bedürfnisse)

Ein anderes komplexes Muster ist, dass die Spielfigur mehreren Düften folgt. Zum Beispiel sucht sie Nahrung auf, wenn sie Hunger hat, und geht zu Bett, wenn sie müde ist. Zur Umsetzung muss eine Hierarchie umgesetzt werden, so dass jeweils klar ist, welches Bedürfnis am stärksten ist.