Pneumatic Man: Unterschied zwischen den Versionen

Aus /dev/null
Wechseln zu: Navigation, Suche
[unmarkierte Version][gesichtete Version]
K
 
(47 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Dies hier ist ein vorläufiges Quasi - Anforderungsdokument (sowohl Was als auch Wie), das vorerst nur für angemeldete Nutzer sichtbar sein soll und später in den PneumaticMan Artikel umgebaut werden kann. Es kann von den GDW - Teilnehmern ergänzt werden, auf Bedarf.
+
'''Pneumatic Man''' ist ein "Jump´n Drill" mit Höhlensetting im Sci-Fi-Design, welches während der [[GameDevWeek]] im [[Wintersemester]] 2014/2015 von der Java Gruppe entwickelt wurde. Als Framework wurde [[libGDX]] verwendet.
  
=Spielidee=
+
== Download & Quellcode ==
  
Das Spiel "Pneumatic Man" ist ein Jump´n Run mit Höhlensetting im Sci-Fi-Design. Der Spieler, welcher sich auf einem springenden Superbohrer befindet, hat die Aufgabe seine verschütteten Kameraden zu befreien und den Levelausgang zu erreichen. Dabei wird er mit unterschiedlichen Fallen und Gegner konfrontiert, die ihm diese Aufgabe erschweren. Der Held befindet sich auf einem Superbohrer der gleichzeitig als Sprungmaschine genutzt wird. Dieser bohrt permanent und zerstört den Boden. Aus diesem Grund muss der Spieler sich schnell durch das Level bewegen, damit er nicht in Sackgassen oder Fallen fällt.  
+
* Zum Spielen wird [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8] benötigt.
 +
* [https://cloud.fsi.hochschule-trier.de/index.php/s/GnY43IJl5tWLLP8 Spiel Download]
 +
* [https://github.com/GameDevWeek/GDW-2014-WS Quellcode]
  
==Welt==
+
== Spielidee ==
 +
[[Datei:LevelPneumaticMan.jpg|thumb|In-Game Grafik von Pneumatic Man]]
 +
Der Spieler hat die Aufgabe seine verschütteten Kameraden zu befreien und den Levelausgang zu erreichen.
 +
Dabei befindet er sich auf einem Superbohrer, der zugleich als Sprungmaschine dient. Der Superbohrer ist permanent im Einsatz und zerstört mit jedem Aufprall den darunterliegenden Untergrund. Deshalb muss man sich zügig durch das Level bewegen, denn wer nicht schnell genug ist, verliert durch wegbrechende Steine den Boden unter den Füßen.
 +
Wenn man Pech hat, stürzt man dann in Fallen, die den Spieler sofort aufspießen, oder genauso tödliche Lavaströme. Außerdem muss man auf herabstürzende Steine Acht geben, die den Spieler unerwartet treffen können.
 +
Nicht nur auf dem Boden, sondern auch an Seiten und an der Decke lauern Fallen, die genau wie Steine herabstürzen können.
 +
An einigen Stellen befinden sich zudem  Lavafontänen, die man geschickt überwinden muss, wenn man nicht gegrillt werden möchte.
 +
Aber nicht nur die Höhle selbst ist tückisch, auch Gegner erschweren die Rettungsmission. Sowohl Hunde als auch Chamäleons können den Spieler töten, weshalb man diese besser umgehend außer Gefecht setzt, indem man mit dem Bohrer drauf springt.
 +
Insgesamt ist also viel Geschick und Schnelligkeit vom Spieler gefordert, wenn er die Level erfolgreich abschließen möchte.
  
* Höhlensetting / Sci-Fi-Design: Der Aufbau der Welt ist in Blöcken
 
* fixer Start-/ Endpunkt für jede Map
 
* Im Level verstreut sind eingesperrte Kameraden. Eine bestimmte Anzahl an Kameraden ist essenziell für den erfolgreichen Levelabschluss, weitere gerettete Kameraden verbesern die Qualität des Levelabschlusses.
 
* Die Anzahl der im Level verstreuten Kameraden ist variabel.
 
* Es ist möglich, dass ein Level keine Kameraden zu retten enthält.
 
* Die Kameraden sitzen in Lücken zwischen Steinen, nicht im Stein selbst.
 
* Wird der Endpunkt ohne die geforderte Anzahl an befreiten Kameraden erreicht, wird eine entsprechende Meldung ausgegeben. (Die geforderte Anzahl kann auch 0 sein)
 
* Die Blöcke haben Haltbarkeiten, die bei jeder Berührung mit dem Bohrer sinkt bis er zerstört wird.
 
* Es gibt Blöcke mit verschiedener Haltbarkeit, u.A. auch unzerstörbare.
 
* Es gibt Blockarten die 1, 2, 3 (später: Typ 1, 2, 3) oder unendlich viele Bounces aushalten, bis sie zerstört werden.
 
* Springt der Charakter, entfernt er von dem Block, von dem er abspringt und von dem Block auf dem er landet 2 Haltbarkeit jeweils.
 
* Der Zerstörungsradius der Bombenblöcke beträgt 2 Blöcke.
 
* Es gibt Bomben mit unterschiedlichen Explosionsradien (Optional)
 
* Wenn der Spieler in der Mitte von zwei Blöcken bohrt, werden beide abgebaut mit der Hälfte des Einzelabbaus.
 
* Es gibt unzerstörbare Blöcke und Bombenblöcke die zeitverzögert explodieren und angrenzende Blöcke zerstören.
 
* Es gibt horizontal-bewegende Plattformen, die unzerstörbar sind.
 
* Es gibt keinen Fallschaden.
 
* Wird der Level erfolgreich beendet, erscheint ein WinScreen (es existiert bereits eine Teil-Graphik hierfür: transparentes Tablet).
 
* Der WinScreen enthält eine Checkliste an geretteten Kameraden.
 
* Stirbt der Charakter, wird das Level reseted.
 
  
===Fragen===
+
== Welt ==
==Fallen==
+
[[Datei:Coworker.jpg|thumb|right|Kamerad]]
 +
Die Welt ist eine unterirdische Höhlenlandschaft, die von zahlreichen Lampen und Leuchtröhren erhellt wird. Glühende Lava und fluoreszierende Pilze verleihen dem Spiel seine ganz eigene Atmosphäre.
 +
Aufgebaut ist sie aus einzelnen Blöcken unterschiedlichen Typs. Manche Blöcke sind unzerstörbar, auf ihnen kann sich der Spieler beruhigt aufhalten. Andere brechen nach einer Weile weg, weshalb man nicht allzu lange darauf herumspringen sollte. Die hellsten Blöcke brechen extrem schnell weg und verlangen dem Spieler das meiste ab. Wer diese Blöcke falsch oder zu langsam nutzt, hat oft keine zweite Chance.
 +
Es gibt außerdem besondere Blöcke wie Bomben. Einmal durch einen Bounce aktiviert, sollte man diese schleunigst hinter sich lassen, bevor sie hochgehen und alles Umliegende mit ihrer Explosion zerstören.
 +
Manche Blöcke bilden sich bewegende Plattformen, die sich entweder vertikal oder horizontal bewegen und vom Spieler genutzt werden müssen, um an sein Ziel zu kommen. Andere wiederum blockieren den Weg und hindern den Spieler am Vorwärtskommen.
 +
Über die Welt verteilt befinden sich die zu rettenden Kameraden.
 +
Wer bei dem Versuch, diese zu befreien, stirbt, wird an den Startpunkt des Levels zurückversetzt.
  
* Lavafontänen die in zeitlichen Abständen eine bestimmte Höhe nach oben schießen, und den Spieler töten.
 
* Herabfallende Steine, die durch einen Trigger ausgelöst werden, töten den Spieler und verursachen Schaden bei Blöcken, auf die sie fallen.
 
* Ein Stein kann auch beliebig vielen Blöcken bestehen (= komplexer Stein).
 
* Jeder einzelne Stein eines solchen komplexen Steins hat eine gewisse Anzahl Hitpoints.
 
* Fällt dieser komplexe Stein herunter, werden die einzelnen Steine des komplexen Steins zerstört, die mit anderen Blöcken kollidieren. Auf den Blöcken, mit denen sie kollidieren, verursachen sie 1/2 Schaden * Hitpoints des einfachen Steins, der auf dem Block gelandet ist.
 
* Die Hitpoints der Steine können variieren, je nach Steintyp. Bisher existieren Abstufungen: 2 / 4 / 6 Hitpoints.
 
* Stacheln am Boden, Decke und Seiten. Stacheln sind von allen Seiten tödlich.
 
* Fallen Stacheln herunter, drehen sie sich und zeigen mit der spitzen Seite nach oben.
 
* Fallen Stacheln auf einen festen Block, bleiben sie dort liegen und fungieren weiterhin in ihrer Funktion.
 
* Stacheln hängen an Blöcken.
 
* Zerstört man den Block, an dem Stacheln hängen, fallen sie hinunter.
 
* Fallen Stacheln in Lava, werden sie zerstört.
 
  
 +
== Spieler ==
 +
[[Datei:Char.jpg|right|Spieler]]
 +
Der Spieler spielt einen Maulwurf, der sich auf einem Superbohrer befindet, mit dem er durch die Gegend hüpft. Er muss seine verschütteten Kameraden (ebenfalls Maulwürfe) retten. Dabei hat der Spieler keine Lebensanzeige, sondern stirbt sofort.
  
===Fragen===
 
  
===Anmerkungen===
+
== Gegner ==
==Spieler==
+
* Es gibt zwei verschiedene Gegnertypen.
 +
* Diese werden von einer simplen KI gesteuert.
 +
* Weiterhin triggern sie keinerlei Fallen.
 +
* Der erste ist "glücklicher, dicker Hund". Dieser Gegnertyp läuft herum.
 +
* Der zweite ist ein hüpfendes Chamäleon.
  
* Der Spieler springt dauerhaft und kann nicht nicht-springen (bouncen). Bzw.: Der Spielercharakter kann auf einem Punkt springen, aber nicht still stehen.
 
* Jede hoch-runter Bewegung entfernt auf dem darunter liegenden Block 1 Haltbarkeit.
 
* Der Charakter springt nicht in festen Rastern.
 
* Landet ein Charakter zwischen zwei Blöcken, zerstört er bei beiden die hälfte der Haltbarkeit, die er normalerweise bei nur einem Block zerstören würde.
 
* Begriffsäquivalenz: "Gehen", Bouncen, Bohren.
 
* Der Spieler kann springen mittels Tastendruck.
 
* Wärend dem Sprung kann man die Richtung des Sprungs ändern.
 
* Sind alle Blöcke unter dem Charakter zerstört und er berührt die Lava darunter, stirbt er.
 
* Stirbt der Charakter ist er sofort tot, es gibt keine Lebensanzeige.
 
* Der Charakter hat nur ein Leben, es gibt also auch keine Anzahl an Leben ungleich 1.
 
* Stirbt der Charakter, muss es möglich sein, sich in den Highscore einzutragen.
 
* Größe der Spielfigur: 1,5 Blöcke
 
* Standardbewegung des Helden beträgt in der Höhe 0,5 Block (in der Animation, nicht Physikalisch)
 
* Sprunghöhe beträgt 3 Blöcke
 
* Die Bewegungsweite, egal ob Sprung oder Bounce beträgt bei Maximalbeweung 2 Blöcke.
 
* Der Spieler soll eine Art Supersprung / Doppelbounce bekommen (Optional)
 
* Der Spieler kann nicht rutschen, nur springen.
 
  
 +
<gallery>
 +
Datei:Dog.jpg|Gegnertyp Hund
 +
Datei:ChamäleonPneumatic.jpg|Gegnertyp Chamäleon
 +
</gallery>
  
===Fragen===
 
  
#Wie würde der Doppelbounce funktionieren? (doppelter Tastendruck?)
+
== Fallen ==
 +
* Lava: Ein Lavastrom, in den man nicht fallen sollte.
 +
* Lavafontänen: Schießen in regelmäßigen Abständen aus dem Boden.
 +
* Spikes: Befinden sich auf dem Boden, an den Seiten und an der Decke. Können  herabstürzen.
 +
* Herabfallende Steine: Lösen sich von der Decke und erschlagen den Spieler.
  
 
+
[[Kategorie:GameDevWeek]] [[Kategorie:GameDevWeek Spiele]]
==Gegner==
 
* Eine Gegnerart die sich auf festen Pfaden bewegt. Bei Berührung stirbt der Spieler.
 
* Der Gegner Lavafontäne schiesst in regelmässigen Abständen aus der Lava hervor und tötet den Spieler auf berührung.
 
* Der Gegner Gesteinsbrocken fällt von oben herrunter, zerstört den ersten Block auf den er fällt und tötet den Spieler, wenn er ihn von oben trifft.
 
* Der Gesteinsbrocken zerstört KEINE unzerstörbaren Blöcke, der Gesteinsbrocken wird jedoch an dieser Stelle zerstört.
 
* Der Gegner Bombe befindet sich in Blöcken und zündet, sobald der Spieler darauf landet.
 
* Nachdem die Bombe gezündet hat vergeht ein Countdown von 3 Sekunden, dann explodiert sie.
 
* Befindet sich eine Bombe innerhalb des Umkreises einer Explosion (z.B. von einer Bombe), so explodiert diese auch.
 
* Der Zerstörungsradius der Bombenblöcke beträgt 2 Blöcke.
 
* Der Gegner glücklicher, dicker Hund läuft auf den Spielercharakter zu und zerstört derweil ''keine'' Blöcke.
 
* Der Gegner Chamäleon springt (atm: 3 hoch, 2 weit) auf den Spielercharakter zu. Nach jedem Sprung existiert ein Cooldown bis es wieder springen kann. Auch das Chamäleon zerstört hierbei ''keine'' Blöcke.
 
* Der glückliche, dicke Hund und das Chamäleon lassen sich töten, indem man sie von oben bespringt.
 
* Der glückliche, dicke Hund und das Chamäleon sterben, wie der Spieler, bei allen Fallenarten die tödlich sind und Lava, triggern aber keine Events.
 
* Chamäleon und Hund verhalten sich jedoch so, das ihr tod möglichst nicht eintritt.
 
* Erreicht der glückliche, dicke Hund oder das Chamäleon den Spieler, stirbt der Spieler.
 
* Es gibt einen Gegner (Chamäleon) der von Punkt A zu Punkt B und wieder zurück zu Punkt A läuft.
 
* Berührt das Chamäleon den Spieler, stirbt dieser.
 
===Fragen===
 
 
 
 
 
==Items (optional) ==
 
* Es gibt einen Power Up Helm, das ein Sterben durch ein Ereignis, das von oben kommt, ein mal verhindert. (optional)
 
* Es gibt Item-Blöcke, aus denen Power Up's spawnen (optional).
 
* Es gibt Sprungfeder-Blöcke, die den Spieler höher springen lassen, wenn man darauf springt. Diese gehen nicht kaputt. (optional)
 
* Es gibt Gegner, die Projektile verschiessen in geraden linien. Dre Spieler kann auf diese Projektile springen um sie als Plattform zu benutzen (optional)
 
* Analog zu Wurfparabel-Projektilen (optional)
 
 
 
==Menü / HUD==
 
 
 
* Es gibt eine Levelauswahl.
 
* Bei der Levelauswahl ist auf jeden Fall das erste Level auswählbar.
 
* Hat man ein Level oder eine Reihe von Leveln erfolgreich beendet, wird, bei Aufruf des Menü's, dort auch das nächste Level zur Auswahl angezeigt.
 
* Hat man ein Level erfolgreich beendet, kommt der WinScreen.
 
* Auf dem WinScreen wird sowohl separat gerettete Arbeiter, Anzahl vollständig zerstörter Blöcke und benötigte Zeit, als auch der errechnete Highscore in Form einer Zahl angezeigt.
 
* Wärend dem eigendlichen Spiel wird die Anzahl der zerstörten Blöcke angezeigt, eventuell auch die Anzahl der geretteten Arbeiter.
 
 
 
==Umsetzungsdetails==
 
Hier kommen Umsetzungsdetails hinein, die auch implementarische Details beinhalten können.
 
===Datenverteilung===
 
#Eine Übersicht der Menüs und Buttons von den Designern befindet sich in Ownclowd/Konzept/Menu Ordner (höchste Versionszahl).
 
#Ein provisorisches Stadium von Map Laden ist jetzt in Develop mit getTileInfo( int layerint x,int y ) kann ein <TileInfo>-Object zu einem Block abgefragt werden.
 
===Details zur Steuerung===
 
* Die Bewegungsgeschwindigkeit ist bei der Gamepad-Steuerung abhängig von der Anschlagsweite des Analogsticks.
 
* Schlägt man den Analogstick des Gamepads voll in eine Richtung an, soll die Maximalgeschwindigkeit ausgelöst werden. Je weniger der Stick in eine Richtung gedrückt wird, desto weniger Geschwindigkeit soll die Figur haben.
 
* Wenn der Spieler hoch springt, springt er 3 Tiles hoch und kann maximal auch 3 Tiles weit springen.
 
====Fragen====
 
#Bei einem Tastendruck wird eine Startgeschwindigkeit von x%, je länger der Tastendruck ist, desto mehr Geschwindigkeit soll addiert werden. Nach 1s (startwert! muss getestet werden) soll die Maximalgeschwindigkeit erreicht werden?
 
 
 
 
 
===Details zur Tilemap===
 
(unvollständig)
 
 
 
* alles englisch (Name, Eigenschaften usw.)
 
* Camelcase
 
* Ein Layer mit allen Objekten mit denen man kollidieren kann
 
* Tile properties:  
 
**Invulnerable: true/false
 
**Hitpoints: (int)
 
**Type: (Lava, Floor, Spike)
 
**Name: (Block0, Block1, Block2, Block3, Block4, Block5, Block6, Lava1, Lava2, Lava3, Lava4, Bomb, SpikeLeft, SpikeTop, SpikeDown, SpikeRight)
 
**Light: true/false
 
**Radius: float
 
**Layer: 0,1,2
 
 
 
Eigenschaften für Objekte:
 
*Player:
 
**Name: Player
 
*PlayerSpawn:
 
**Name: PlayerSpawn
 
*LavaFountain:
 
**Name: LavaFountain
 
**Intervall: float
 
**Height: float
 
**IntervallOffset: float
 
**length: float
 
*RockTrigger:
 
**Name: RockTrigger
 
**Id: (int) passend zur id der Steine
 
*Rock:
 
**Name: Rock
 
**TriggerId: (int) ref auf Id vom Trigger
 
*Platform:
 
**Hitpoints: int
 
**Name: Platform
 
**Mode: oneTime/always
 
**Direction: right/left/up/down
 
**Speed: float
 
**Distance: float
 
*LevelEnd:
 
**Name: LevelEnd
 
*Enemy:
 
**Name: Enemy
 
**Direction left/right
 
**Type: dog/chameleon
 
*Miner:
 
**Name: Miner
 

Aktuelle Version vom 9. Oktober 2017, 18:49 Uhr

Pneumatic Man ist ein "Jump´n Drill" mit Höhlensetting im Sci-Fi-Design, welches während der GameDevWeek im Wintersemester 2014/2015 von der Java Gruppe entwickelt wurde. Als Framework wurde libGDX verwendet.

Download & Quellcode

Spielidee

In-Game Grafik von Pneumatic Man

Der Spieler hat die Aufgabe seine verschütteten Kameraden zu befreien und den Levelausgang zu erreichen. Dabei befindet er sich auf einem Superbohrer, der zugleich als Sprungmaschine dient. Der Superbohrer ist permanent im Einsatz und zerstört mit jedem Aufprall den darunterliegenden Untergrund. Deshalb muss man sich zügig durch das Level bewegen, denn wer nicht schnell genug ist, verliert durch wegbrechende Steine den Boden unter den Füßen. Wenn man Pech hat, stürzt man dann in Fallen, die den Spieler sofort aufspießen, oder genauso tödliche Lavaströme. Außerdem muss man auf herabstürzende Steine Acht geben, die den Spieler unerwartet treffen können. Nicht nur auf dem Boden, sondern auch an Seiten und an der Decke lauern Fallen, die genau wie Steine herabstürzen können. An einigen Stellen befinden sich zudem Lavafontänen, die man geschickt überwinden muss, wenn man nicht gegrillt werden möchte. Aber nicht nur die Höhle selbst ist tückisch, auch Gegner erschweren die Rettungsmission. Sowohl Hunde als auch Chamäleons können den Spieler töten, weshalb man diese besser umgehend außer Gefecht setzt, indem man mit dem Bohrer drauf springt. Insgesamt ist also viel Geschick und Schnelligkeit vom Spieler gefordert, wenn er die Level erfolgreich abschließen möchte.


Welt

Kamerad

Die Welt ist eine unterirdische Höhlenlandschaft, die von zahlreichen Lampen und Leuchtröhren erhellt wird. Glühende Lava und fluoreszierende Pilze verleihen dem Spiel seine ganz eigene Atmosphäre. Aufgebaut ist sie aus einzelnen Blöcken unterschiedlichen Typs. Manche Blöcke sind unzerstörbar, auf ihnen kann sich der Spieler beruhigt aufhalten. Andere brechen nach einer Weile weg, weshalb man nicht allzu lange darauf herumspringen sollte. Die hellsten Blöcke brechen extrem schnell weg und verlangen dem Spieler das meiste ab. Wer diese Blöcke falsch oder zu langsam nutzt, hat oft keine zweite Chance. Es gibt außerdem besondere Blöcke wie Bomben. Einmal durch einen Bounce aktiviert, sollte man diese schleunigst hinter sich lassen, bevor sie hochgehen und alles Umliegende mit ihrer Explosion zerstören. Manche Blöcke bilden sich bewegende Plattformen, die sich entweder vertikal oder horizontal bewegen und vom Spieler genutzt werden müssen, um an sein Ziel zu kommen. Andere wiederum blockieren den Weg und hindern den Spieler am Vorwärtskommen. Über die Welt verteilt befinden sich die zu rettenden Kameraden. Wer bei dem Versuch, diese zu befreien, stirbt, wird an den Startpunkt des Levels zurückversetzt.


Spieler

Spieler

Der Spieler spielt einen Maulwurf, der sich auf einem Superbohrer befindet, mit dem er durch die Gegend hüpft. Er muss seine verschütteten Kameraden (ebenfalls Maulwürfe) retten. Dabei hat der Spieler keine Lebensanzeige, sondern stirbt sofort.


Gegner

  • Es gibt zwei verschiedene Gegnertypen.
  • Diese werden von einer simplen KI gesteuert.
  • Weiterhin triggern sie keinerlei Fallen.
  • Der erste ist "glücklicher, dicker Hund". Dieser Gegnertyp läuft herum.
  • Der zweite ist ein hüpfendes Chamäleon.



Fallen

  • Lava: Ein Lavastrom, in den man nicht fallen sollte.
  • Lavafontänen: Schießen in regelmäßigen Abständen aus dem Boden.
  • Spikes: Befinden sich auf dem Boden, an den Seiten und an der Decke. Können herabstürzen.
  • Herabfallende Steine: Lösen sich von der Decke und erschlagen den Spieler.