TheLabyrinth - Finde den Weg nach draußen

Hier könnt ihr eure selbstgeschriebenen Plugins veröffentlichen.

TheLabyrinth - Finde den Weg nach draußen

Beitragvon Sep2703 » Sa 4. Okt 2014, 19:42

Hey,

ich möchte hier mal eines meiner Projekte vorstellen, woran ich in letzter Zeit etwas gearbeitet habe.


TheLabyrinth


Dabei handelt es sich um ein Minispiel.
Gedacht ist es für Server-Netzwerke, da ein Spiel einen eigenen Server beansprucht.
Der Spielmodus lässt sich mit 2 bis 8 Spielern spielen und ein Spiel dauert im Durchschnitt 10-15 Minuten.

Ziel des Spiels ist es, als erster einen Block im Ziel des Labyrinths abzubauen oder als letzter Spieler im Labyrinth zu überleben.
Im Labyrinth befinden sich Monster, die die Suche nach dem Ausgang noch etwas erschweren sollen.

Spielverlauf
Nach Start des Servers beginnt ein Countdown 120 Sekunden herunter zu zählen.
Sind nach Ablauf des Countdowns < 2 Spieler auf dem Server, so startet dieser einfach bei 120 Sekunden neu.
Sind ausreichend Spieler online, so werden alle Spieler zum Startpunkt des Labyrinths teleportiert.
Ab sofort beginnt die "Startphase", in der die Spieler 30 Sekunden lang unsichtbar sind und noch keine Werkzeuge haben. Und alle Spieler erhalten noch Blindheit. Der Blindheitseffekt hält erstmal bis zur Endphase des Spiels an.
Diese Phase ist gedacht, damit sich die Spieler verteilen können, ohne sich gegenseitig "hinterher" zu laufen.
Ist die Startphase beendet, so werden alle Spieler sichtbar und jeder bekommt eine Holzspitzhacke und ein Holzschwert.
Das Holzschwert ist zur Verteidigung gegen Monster und zum Angreifen anderer Spieler gedacht.
Weiter ist die Holzspitzhacke zum Abbauen des Blocks im Ziel.
Nun befindet sich das Spiel in der Hauptphase.
Stirbt ein Spieler, so startet dieser einfach wieder von vorn und verliert einen Punkt, wenn er von einem anderen Spieler getötet wurde.
Der "Killer" erhält dann zwei Punkte.
Die Endphase des Spiels beginnt nach weiteren 10 Minuten. Ab diesem Zeitpunkt gilt: Wer stirbt fliegt raus.
Hinzu kommt, dass nun ja die Blindheit nicht mehr da ist und alle Spieler freien Blick haben.
Außerdem bekommt jeder Spieler nun eine Steinspitzhacke und ein Steinschwert.
Die Endphase kann (theoretisch) unbegrenzt lange andauern. In mehreren Testläufen war diese jedoch nach spätestens weiteren 15 Minuten zu Ende; auch in einem extrem schwierigen und großen Labyrinth. Eventuell wird in einem Update noch die Funktion für eine Zeitbegrenzung implementiert.

Das Score-System
Momentan haben die Punkte noch keinen richtigen Nutzen, sind aber schon vertreten.
Für folgende Aktionen gibt es Punkte:
  • Durch einen anderen Spieler getötet [-1 Punkt]
  • Power-Up am Ende des Spiels im Inventar [+1 Punkt]
  • Spieler getötet [+2 Punkte]
  • Sieg [+10 Punkte]
Die Punkte können mit /score eingesehen werden.

Power-Ups
Um die Spannung weiterhin zu steigern, wurde das System der "Power-Ups" hinzugefügt.
Power-Ups sind momentan nur teils implementiert, sollen aber in späteren Updates vollständig in das Spiel einfließen.
Es gibt folgende Power-Ups:
  • Doppelter Angriffsschaden (30 Sekunden)
  • Unsichtbarkeit (30 Sekunden)
  • Teleport zu einem zufälligen, anderen Spieler
Die Power-Ups spawnen noch nicht im Labyrinth.
Ein Power-Up ist ein gedroppter Diamant.
Durch das aufsammeln wird das Power-Up aktiv.
Dabei ist es Zufall, welches der drei Power-Ups der Spieler erhält.

Befehle
Hier eine Liste mit allen verfügbaren Befehlen, die das Plugin bereitstellt:
  • setscore <player> <score>
  • score [<player>]
  • addscore <player> <score>
  • setlobby
  • setstart
  • setgoal (Auf den Block schauen!)
  • info
  • start
  • labyrinth (Liefert eine kurze Beschreibung und Syntax aller Befehle)

Permissions
Es wird das Berechtigungssystem von Spigot bzw. Bukkit unterstützt.
"labyrinth.admin" oder "labyrinth.*" erlaubt Zugriff auf alle Befehle und Funktionen.
Die Befehle haben Berechtigungen nach folgendem Muster:
labyrinth.befehl
Wobei "setlobby", "setstart" und "setgoal" jeweils administrative Berechtigungen erfordern.

Setup/Installation
Um das Plugin auf einem Server zu installieren, sollten einige wichtige Punkte beachtet werden.
Das Plugin wird in den "plugins"-Ordner des Servers kopiert/verschoben/...
Der Server wird neugestartet.
"AutoSave" bzw. automatisches Speichern der Welt, in der das Labyrinth sein wird, sollte deaktiviert werden (die Welt muss nach einem Server-Neustart zurückgesetzt sein).
Schwierigkeit sollte auf Einfach, Mittel oder Schwer eingestellt sein, damit Monster spawnen können.
Es sollte mit /setlobby die Lobby, mit /setstart der Start-Punkt und mit /setgoal der Block im Ziel definiert werden.
Die "config.yml" im Ordner des Plugins sollte editiert werden.
Nach einem erneuten Server-Neustart ist das Plugin einsatzbereit.

UUID-Support
Das Score-System funktioniert momentan mithilfe von einer Datei.
Dabei wird an einer Unterstützung für mehrere SQL-Datenbanken gearbeitet.
Das neue System der UUIDs wird bereits unterstützt.
Die UUIDs werden von der Mojang-API bezogen.


Für Entwickler
Das Plugin stellt eine Schnittstelle für Entwickler bereit.
Es ist ganz einfach möglich, einige Power-Ups zu entwickelt.
Die Klassen sollten momentan allerdings manuell in die Jar-Datei eingefügt werden und der Code aus der "PowerUpManager"-Klasse muss dazu editiert werden. An einer besseren Lösung (z.B. mit einem Ordner für die Power-Ups) wird bereits gearbeitet.
Um ein Power-Up zu erstellen, muss eine Klasse erstellt werden, die das Interface "PowerUp" implementiert.
Dann werden zwei Methoden vorgeschrieben, die beliebig gefüllt werden können.
Wichtig ist, das Power-Up zu registrieren, dazu muss die "registerPowerUps()"-Methode in "PowerUpManager" editiert werden.


Updates

Aktuelle Version: 1.0.1
Im nächsten Update sind folgende Änderungen/Neuigkeiten geplant:
  • Verbesserte Entwickler-Schnittstelle
  • Power-Ups spawnen automatisch im Labyrinth
  • Maximale Spieldauer besser konfigurierbar
  • SQL-Unterstützung
  • Möglichkeit, dass automatische Speichern der Welt mithilfe des Plugins zu deaktivieren
  • Monster im Labyrinth werden durch das Plugin verwaltet
  • Plugin-eigenes Chat-System


Download
Das Plugin wird von mir kostenlos bereitgestellt.
Ich erlaube es, den Quellcode anzusehen.
Das Plugin darf nicht ohne meine Einverständniserklärung veröffentlicht werden.
Ich stelle die Version 1.0.1 von "TheLabyrinth" hier bereit: http://ibukkitcoding.de/downloads/thelabyrinth1_0_1.jar


Schlusswort
Ich wünsche euch viel Spaß damit!
Würde mich über euer Feedback, über Tipps oder Verbesserungsvorschläge freuen.

Sep2703
Du möchtest programmieren lernen oder dein Bukkit-/Spigot-Wissen erweitern?
Hier habe ich für dich kostenlose Tutorials: https://youtube.com/janhektor
Benutzeravatar
Sep2703
 
Beiträge: 677
Registriert: Mi 8. Jan 2014, 15:13
Wohnort: 127.0.0.1

Re: TheLabyrinth - Finde den Weg nach draußen

Beitragvon ilouHD » Sa 4. Okt 2014, 22:03

Hört sich gut an. Mal testen.
Bild
Benutzeravatar
ilouHD
 
Beiträge: 1733
Registriert: Do 9. Jan 2014, 14:49

Re: TheLabyrinth - Finde den Weg nach draußen

Beitragvon IK_Raptor » Mi 15. Okt 2014, 21:40

Lol, ich habe das hier grade gefunden.

Ich habe selbst mal ein Projekt in den Sommerferien angefangen unter genau dem Namen, es dann aber wieder verworfen. Es sollte ebenfalls sammelbare Items, als ein Spielinhalt beinhalten, ansonsten aber ein anderes Spielziel haben :O

Sollte ich es irgendwann weiterführen, wollte ich nur klar stellen, dass ich mir hier keine "Inspiration" gesucht habe. ;)
Benutzeravatar
IK_Raptor
 
Beiträge: 609
Registriert: Mo 12. Aug 2013, 15:37


Zurück zu Veröffentlichungen

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast

cron