Beispiel Brainstorming

From KIP Wiki
⧟kip-jumptonavigation⧽⧟kip-jumptosearch⧽

Beispiel: Brainstorming Lasst uns als Machbarkeitsstudie einen einfachen Prototyp einer Polygon-Spiele-App erstellen. Da Virtual Reality ein relativ neues Medium ist, sind noch nicht alle Nutzer damit vertraut. Und aufgrund der unbegrenzten Möglichkeiten, die sich mit Virtual Reality bieten, müssen wir den Nutzerfokus anders steuern als in herkömmlichen 2D-Anwendungen. In diesem Designkonzept werden erfolgreiche interaktive Muster sowie die üblichen Designfehler (und Hinweise zu deren Vermeidung) aufgeführt, die in Virtual Reality- Anwendungen oft zu Verwirrung führen. Inspiration Ich habe neulich dieses Video gefunden – ich finde, wir sollten etwas erstellen, das ungefähr so aussieht wie in dem Video. https://player.vimeo.com/video/142163788 https://vimeo.com/142163788 Außerdem habe ich noch ein paar andere Screenshots gefunden, die wir als Referenz verwenden können, wenn wir an den Visuals arbeiten …

Hier ist eine Pinterest-Pinnwand mit Beispielen für den Stil, den ich mir für die Illustrationen vorgestellt habe. https://www.pinterest.com/brobo/low-poly/ https://www.pinterest.com/brobo/low-poly/ Was den Soundtrack angeht: ich hätte am liebsten etwas, das nicht vom Spiel ablenkt und sich problemlos wiederholen lässt. Ich habe neulich diesen Track hier gefunden – sowas in der Art passt doch ganz gut zum Illustrationsstil weiter oben. https://w.soundcloud.com/player/? url=https%3A%2F%2Fsoundcloud.com%2Ftycho%2Ftycho- montana%3Fin%3Dtycho%2Fsets%2Ftycho-awake-deluxe-version&autoplay=false https://soundcloud.com/tycho/tycho-montana?in=tycho/sets/tycho-awake-deluxe-version Level/Stufen Hier sind ein paar Vorschläge für die ersten paar Levels. Wir haben ja in unserem letzten Meeting darüber gesprochen. Ihr könnt sie gerne ändern oder etwas hinzufügen, falls ich nicht an alles gedacht habe! Level 1 Ziel:

Einen Satz mit genau drei Formen sammeln, die zusammen 15 ergeben. Spielfortgang:

Wenn du an der Reihe bist, musst du eine Form auswählen, die noch nicht von einem der beiden Spieler ausgewählt wurde. Diese Form steuerst du jetzt. Streich sie in der Zahlenliste durch und schreib die Zahl auf deine Seite der Form, um sie dadurch als deine Form zu kennzeichnen. Level 2 Ziel:

Einzelne Formen im 15er-Satz zerstÜren, die nicht zur ausgewählten Farbe passen.

Spielfortgang: Wenn du an der Reihe bist, musst du eine Farbe auswählen, die noch nicht von einem der beiden Spieler ausgewählt wurde. In diesem Level steuerst du jetzt diese Farbe. Sie wird automatisch in der Taskleiste ausgewählt. Schreib die Farbe auf deine Seite der Form, um sie dadurch als vergeben zu kennzeichnen. Level 3 Ziel:

Die Farbe wechseln, um sie den Formen der Gegner anzupassen. Spielfortgang: wenn

du an der Reihe bist, folg der Karte, um deine Form zu derjenigen farbigen Flagge im Gebiet des Gegners zu führen, die noch nicht von einem der beiden Spieler ausgewählt wurde. Diese Form steuerst du jetzt. Streich sie in der Zahlenliste durch und schreib die Zahl auf deine Seite der Form, um sie dadurch als deine Form zu kennzeichnen. Spielmechanik Hier ist eine Skizze, die wir im Meeting gestern schnell gezeichnet haben. Nur nochmal zur Erinnerung: Wenn der Cursor in der Mitte des Fensters fixiert ist, muss der Nutzer das Gerät um die X- und Y-Achse drehen und kippen, um die verschiedenen Objekte auszuwählen, die in der Szene auftauchen. Prototypfunktionen 1 . Objekt werfen 1 . Geschwindigkeit 2 . Winkel 3 . Ball kann Elemente umstoßen 4 . Ball kann Elemente verfehlen 2 . Objekt rollen 1 . Geschwindigkeit 2 . Winkel 3 . Ball kann Elemente umstoßen 4 . Ball kann Elemente verfehlen 3 . Irgendwelche anderen Hauptaktionen, die wir unterstützen sollten? Umgebung auswählen Avatar hochladen Andere Objekte zum Werfen/Rollen freischalten 4 . Rangliste und Funktion zum Einladen von Freunden anzeigen Perspektive und Darstellung Matrix für die Perspektive und Einsatz von Shadern void idle (void) {

   hBuffer->getFrame(hFrame);
   if (hFrame->goodH && hFrame->timeStamp != timeStamp) {
       timeStamp = hFrame->timeStamp;
       std::cout << "(" << hFrame->eye.x << ", " <<
                   hFrame->eye.y << ", " <<
                   hFrame->eye.z << ") \n";
       eye = vec3(hFrame->eye.x, hFrame->eye.y, hFrame->eye.z);
       d_near = eye.z;
       d_far = eye.z + 50;
       P = mat4((2.0*d_near)/(right-left), 0, (right+left)/(right-left),

0,

                0, (2.0*d_near)/(top-bottom), (top+bottom)/(top-bottom),

0,

                0, 0, -(d_far+d_near)/(d_far-d_near), -

(2.0*d_far*d_near)/(d_far-d_near),

                0, 0, -1.0, 0);
       d_x = -(dot(eye, u));
       d_y = -(dot(eye, v));
       d_z = -(dot(eye, n));
       C = mat4(1.0, 0.0, 0.0, eye.x,
                0.0, 1.0, 0.0, eye.y,
                0.0, 0.0, 1.0, 0.0,
                0.0, 0.0, 0.0, 1.0);
       V = mat4(u.x, u.y, u.z, d_x,
                v.x, v.y, v.z, d_y,
                n.x, n.y, n.z, d_z,
                0.0, 0.0, 0.0, 1.0);
       MV = C * V;
       //MV = V;
       glutPostRedisplay();
   }

}