The Meltdown Contingency

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche


Analyse

Einleitung

Aufgrund der Tatsache dass wir im Modul 118 ein Projekt als Modulprüfung haben, haben wir (Die zwei Legendären) beschlossen ein RPG Spiel zu Programmieren (The Meltdown Contingency).
Das Spiel ist 2D und wird sich fortwährend in Entwicklung befinden, auf ewig!

Anforderungen

Beschreibung Prio
1 Starten/Beenden 1
a Score anzeigen 4
2 Pausieren 4
3 Level-Ups 2
a Individuelle Skill Verbesserung 3
4 Gegner 1
a Verschiedene Gegner 2
b Boss-Monster 3
5 Fortbewegung 2
6 Kampfsystem 1
a Nahkampf 1
b Fernkampf(Add-on) 2

Starten/Beenden

Beim Start vom Spiel geht es nach einer kurzen Vorbereitungszeit(5Sekunden) sofort los. Zum Beenden hat man im Spiel GUI zwei Möglichkeiten entweder man drückt während dem Spiel die Windows Standard schliessen Taste. Oder man schliesst es wenn man das Spiel fertig gespielt hat oder gestorben ist. Bei diesen kommt nämlich eine Score-Menü wo man entscheiden kann ob man weiterspielen will oder beenden will.

Pausieren(optional)

Während dem Spiel hat man die Möglichkeit das Spiel zu pausieren. Dabei wird das ganze Spiel angehalten und man kann nur fortsetzen wenn man die entsprechende Taste wieder drückt. (Kurz taste P)

Level-Ups

Bei einem Kill bekommt man je nach Gegner eine bestimmte Anzahl EXP nach einer bestimmten Anzahl an EXP, welche sich nach jedem Level-Up erhöht steigt man ein Level bei einem Level-Up hat man die Möglichkeit ein paar Skills zu verbessern. Darunter wäre mit dem Standard und der Standard verbesserung pro Level-Up:

  • Beschreibung : Standardwert / + Standard Level-Up Wert / + Individueller Level-Up Wert:
  • Maximales Leben : 100 / + 1 / + 20
  • Angriffs stärke : 10 / + 1 / + 2
  • Geschwindigkeit : 10 / + 1 / + 1
  • Reichweite : 10 / + 1 / Nicht manuell verbesserbar
  • Sprunghöhe : 10 / + 1 / + 1

Gegner

Es gibt Insgesamt 7 Verschiedene Gegner 3 Normale und 4 Boss Gegner: Normale Gegner:

  • Greed
    • Leben : 20
    • Angriff : 5
    • Geschwindigkeit : 5
    • SpawnWahrscheinlichkeit: 76%
  • Rage
    • Leben : 25
    • Angriff : 10
    • Geschwindigkeit : 5
    • SpawnWahrscheinlichkeit: 7%
  • Gluttony
    • Leben : 60
    • Angriff : 5
    • Geschwindigkeit : 5
    • SpawnWahrscheinlichkeit: 7%

Boss Gegner:

  • Dini Mueter
    • Leben : 300
    • Angriff : 15
    • Geschwindigkeit : 10
    • Erscheinung: Nach 50 Kills
  • Envy
    • Leben : 300
    • Angriff : 15
    • Geschwindigkeit : 15
    • Erscheinung: Nach 100 Kills
  • Sandueli
    • Leben : 300
    • Angriff : 25
    • Geschwindigkeit : 15
    • Erscheinung: Nach 150 Kills

Endboss:

  • Pride
    • Leben : 600
    • Angriff : 25
    • Geschwindigkeit : 20
    • Erscheinung: Nach 200 Kills

Fortbewegung

Mit den Pfeiltasten links und rechts ist es Möglich sich Seitwärts fortzubewegen. Mit der Leertaste kann man Springen.

Kampfsystem

Das Kampfsystem ist recht simpel und zwar gibt es momentan nur eine Art Angriff und zwar der Nahkampf Angriff. Für später ist geplant dass man einen Fernkampf Angriff hinzufügen wird. Die Taste Für den Nahkampf Angriff ist "Y".

Realisierung

Wir haben uns entschlossen in Modulen zu Arbeiten. Die Entwicklungsumgebung ist Visual Studio mit Visual Baisc (VB.Net) Folgende Module verwenden wir:

  • Player
  • Player_Move
  • Enemies
  • Enemy_Move
  • Physics
  • Schaden

Timer:

  • RealTimer
  • CreateEnemyTimer

Windows Forms:

  • Halo 7
  • LevelUp
  • GameOver
  • Pause

Beschreibungen

Hier werden die Module und Forms beschrieben in Ihren Tätigkeiten

Player

In diesem Modul ist die Klasse Player abgespeichert mit den Player daten, also Angriff Leben etc.

Zudem befindet sich dort noch die Funktion DeathofEnemy Dort wird beschrieben was passiert wenn der Feind stirbt und dort werden auch die Erfahrungspunkte zum Player dazugezählt, sowie auch Killsstats etc.

Player_Move

In dem Modul werden die Tasteneingaben verwaltet.

Enemies

In diesem Modul ist die Klasse Enemy definiert sowie auch die Eigenschaften einzelner Feindtypen.

Enemy_Move

In diesem Modul werden die Feindbewegungen beschrieben, also das der Feind den Spieler berühren will und auch den kürzesten Weg zu Ihm sucht.

Physics

In diesem Modul werden die Fall- und Spring Physik von Player und Enemy beschrieben.

Schaden

Dieses Modul teilt den Schaden den betreffenden Entitys zu und berechnet auch die "Hitboxen". Hitboxen sind der Bereich in dem man Schaden nehmen kann.

RealTimer

Dieser Timer befindet sich im Hauptprogramm in der Form Halo 7. Dieser Timer ist immer auf 1(Eine Millisekunde). Dieser bewirkt, dass das Spiel in RealTime abläuft. Dadrin werden die meisten Module aufgerufen und verwaltet auch das DeatofEnemy Ereignis Sowie auch den Tod eines Players. Das LevelUp Menü wird auch über diesen Timer aufgerufen.

CreateEnemyTimer

Wie der Name schon sagt ist dieser Timer für den Intervall des Erscheinens der Gegner zuständig. Auch wird darin die Zufalls funktion für den Gegnerspawn definiert und auch das Erscheinen der Bossmonster.

The Meltdown Contingency

Dieses WIndows Form ist das Hauptprogramm das Spiel selbst.

LevelUp

Dieses Form wird beim LevelUp aufgerufen, dort wählt man die zu verbessernden Skill-Points aus.

GameOver

Dieses Form wird aufgerufen, wenn man stirbt dort hat man die Möglichkeit auf ein neues Spiel oder das Spiel zu beenden.

Pause

Dieses Form wird mit der Taste "P" aufgerufen. Dieses Form pausiert das Spiel und kann wieder durch den Button "Fortfahren" fortgesetzt werden. In dieser Form hat man auch die Möglichkeit das Spiel zu beenden.