• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Eigene Spieler KI

Scheuraa

Minecrafter
Registriert
24 Juli 2017
Beiträge
6
Alter
25
Diamanten
250
Hey ich wollte Fragen wie es möglich ist in Spigot eine eigene KI zu programmieren, wodurch man Spieler hat, welche abhängig von ihrem Typ bestimmte Laufwege machen und dabei allerdings immer zwischen mehreren Entscheiden und dadurch dann auch manchmal Fehler beim Minigame machen
 

MrMarshall

Minecrafter
Registriert
2 Dezember 2018
Beiträge
14
Diamanten
300
Das mag dir vielleicht nicht gefallen, aber alleine dass du diese Frage hier im Forum postest zeigt schon, dass du definitiv noch nicht bereit bist so etwas komplexes zu programmieren. Du solltest vielleicht mit kleineren Dingen anfangen und dich dann hocharbeiten.. Vielleicht dann einfach mal googlen wie du so etwas machst, bzw. dich erstmal mit den Minecraft Packets auseinandersetzen. Dann solltest du eigentlich auch selbst darauf kommen
 

Scheuraa

Minecrafter
Registriert
24 Juli 2017
Beiträge
6
Alter
25
Diamanten
250
Also ersteinmal kriege ich es hin eigene NPCs zu erstellen und frage hier nur danach wie es möglich ist diese im Bezug auf ein anderes Objekt und abhängig ihres types zu bewegen. Als Beispiel hier mal das American Football Simulations Game Madden NFL bei welchem beispielsweise der Quarterback andere Laufwege hat wie ein Wide Reciever. (Ich nehme zur Vereinfachung jetzt mal nur einen Spielzug) Da rennt der Quarterback jetzt beispielsweise erst ein paar schritte zurück und wirft dann den Ball, während der Wide Reciever erst einen vorgegebenen Laufweg läuft um nach dem Werfen des Balles sich in Richtung diesem zu Bewegen. Nun möchte ich das ganze beispielsweise in Minecraft umsetzen. Der Quarterback holt sich also den Ball, in dem Fall ein Hünchen geht je nach Situation einige Schritte zurück und wirft dann den Ball zu einem Mitspieler. Das der Ball ankommt ist nun zufällig. Der Wide Reciever geht hierbei dann dem Ball entgegen und versucht wenn er dann Ball fängt ein paar Schritte zugehen. Die Zwei NPCS machen also zwei komplett unterschiedliche Laufwege abhängig von ihrem Typen. und abhängig von der Position des Balles.
Wie kriege ich so eine Abhängigkeit in Spigot umgesetzt und jetzt komm nicht mit Google ich habe schon sehr viel gegooglet und bisher keine wirkliche Spigot Lösung hierfür gefunden
 
Registriert
10 Dezember 2017
Beiträge
161
Alter
26
Diamanten
322
Minecraft
DerFrZocker
Das lässt sich "relativ einfach" mit Java und objektorientierter Programmierung lösen. Jeder künstlicher Spieler ist ein Object wo ein verschiedene Verhaltensweisen enthält, diese sind ebenfalls Objecte. Hier könnte man dann mit verschiedene Interfaces arbeiten um es Flexible zu halten und für jeweils eine Funktion zuständig sind, zum Beispiel für eine "onBallThrown();" oder "onBallCatch();" Methode. Danach erstellst du ein paar Verhaltens Abläufe, zum Beispiel soll eine wo gar nichts macht, eine wo zum ball hin rennt oder wieder eine wo vom Ball weg rennt. Und diese Verhaltensweisen kannst du dann Random dem Spieler geben. Um dann noch ein bisschen mehr Variation einzubringen, kann man dem Spieler für die gleiche Methoden verschiedene Arbeit Abläufe geben und diese mit einer prozentualen Chance ausstatten.

Oder du setzt auf deep lerning (was ich eher weniger empfhele für dein vorhaben). (Wobei das auch mal interesant wäre so einer Kl zuzusehen wie sie Minecraft Lernt)

Um das aber umzusetzen sollteste du wie schon @MrMarshall erst Java lernen und dich an kleineren Projekten üben. Da dein vorhaben nicht viel mit der SpigotAPI zu schaffen hat sondern eher mit java und allgemein Programmierung, Minecraft dient hier nur als Schnittstelle um deine gecodete KL einfach Grafisch darzu stellen ohne das du dich darum auch noch kümmern musst. Und das du dich eher weniger mit Java und der objektorientierter Programmierung auskennst schließe ich mal daraus, dass du ersten in diesem Forum frägst und nicht in ein Java oder Kl Forum und dass du
sehr viel Erfahrungen im Umgang mit der SpigotAPI
anstatt "sehr viel Erfahrungen im Umgang mit Java" schreibst.

Und zum schluss noch: Finde ich es schade das man immer direkt in ein Forum rennt und um Hilfe zu bitten, ohne überhaupt ein Ansatzt zu liefern das man es selber Versucht hat das Problem zu lösen / sich überlegt hat wie man etwas umsetzen soll.
 

Scheuraa

Minecrafter
Registriert
24 Juli 2017
Beiträge
6
Alter
25
Diamanten
250
Und das du dich eher weniger mit Java und der objektorientierter Programmierung auskennst
Ich habe Java seit 4 Jahren als Schulfach wodurch deine Aussage schonmal 0 Sinn macht. Ich habe das hier mit der SpigotAPI geschrieben da dies hier ein Minecraft Forum ist und es hier um ein Minecraft Plugin geht.
Finde ich es schade das man immer direkt in ein Forum rennt und um Hilfe zu bitten, ohne überhaupt ein Ansatzt zu liefern das man es selber Versucht hat das Problem zu lösen / sich überlegt hat wie man etwas umsetzen soll.
Ich habe wie bereits oben erwähnt mehrfach danach gegoogelt und bereits mehrere Leute zu dem Thema befragt darunter auch Lehrer.
Zudem finde ich es Schade dass bei einer einfachen Frage immer das Standartmäßige. Probier erstmal kleinere Projekte etc. kommt oder Google doch mal ohne meistens auch nur selber eine sinnvolle Sache zu der Frage beizutragen(bei dir hier nicht der Fall). Ich denke mal ich frage hier nicht einfach so und manchmal steht man halt bei seinen Plugins oder Programmen auch nach mehreren Überlegungen und nach mehrerem Suchen immernoch auf dem Schlauch und ich denke dieses Forum bzw. dieser Bereich dient ja dazu sich Hilfe zu holen.
Zudem beschränkt sich mein Problem hier nicht nur auf die KI sondern auch auf das bewegen des Spielers so dass dies realistisch wirkt.
PacketPlayOutRelEntityMove funktioniert leider nicht und durch PacketPlayOutEntityTeleport musste ich diesen ja ziemlich oft teleprtieren dass dies realistisch wie ein laufen aussieht.
 
Registriert
10 Dezember 2017
Beiträge
161
Alter
26
Diamanten
322
Minecraft
DerFrZocker
Da würde ich dir empfehlen, dich erstmall auf ein Problem zu konzentrieren, entweder auf die Kl oder das Bewegen des Entitys. Wobei du das bewegen des Spieler erstmal auch von Citizens (https://dev.bukkit.org/projects/citizens) regeln lassen kannst. Dabei kannst du darauf achten dein code so zugestallten, dass du später einfach die Bewegungsmethode ändern kannst. Und bei der Kl musst dann experimentieren und eine geeignete Lösung finden, das es sich realistisch anfühlt. Ich habe dir meine Idee dazu geschrieben, es gibt aber sehr warscheinlich auch bessere und schlechtere Methode das umzusetzen als meine.

Ich habe Java seit 4 Jahren als Schulfach
von solchen Aussagen halte ich wenig da 1) ich sie nicht überprüfen kann 2) ich viele Leute kenne die angeblich 5-6Jahre Programieren aber keine Ahnung von Objekten oder Interface haben.

ich denke dieses Forum bzw. dieser Bereich dient ja dazu sich Hilfe zu holen.
Da hast du vollkommen recht das Forum ist da um sich gegenseitig zu helfen. Nur es gilt aber auch das die meisten Leuten hilfsbereiter und netter sind, wenn man zeigt das man sich mit dem Thema / Problem beschäftigt hat. (Was man aus deinem Start Beitrag nicht raus lesen kann). Wenn du schon so viel gegoogelt hast und es schon mit PacketPlayOutRelEntityMove erfolglos probiert hast, Warum hast du sollche Informationen nicht schon in den start beitrag geschieben? sondern erst in den 3 und 4? Und solche standart antworten wie "Googlen" und "lern erstmal die basics" kommen nicht von alleine, die kommen von solchen Beiträgen wie deiner, wo nur kurz das Problem beschrieben wird ohne, weiter informationen was man schon versucht hat etc. Und dann ist es noch meistens ein einfacher Fehler wie zum Beispiele ein Nullpointer wo man mit 5 minuten Googeln / 10 minuten experimentieren oder mit baisc Java wissen einfach lösen kann. Und wenn dan die gleiche Person ein par tage später erneut kommt mit fast den gleichen Problem, Frag ich mich als warum helfe ich solchen Leuten noch, wenn sie nicht mal Lernbereit sind. Und dann kommt Lagsam eine abneigung zu solchen Fragen wie deine. Und man schiebt sie in die gleiche Schublade, und zwar zu denen wo ein /heal Command Programmieren können und sich nun voll der Boss fühlen und als nächstes gleich ein eigenes Spigot programmieren wollen (oder eine kl).

Lange Rede kurzer sin, wenn du eine frage hast oder ein Ratschlag brauchst. Bemühe dich bei deinem Start Beitrag und schreibe das was du schon versucht hast hinzu oder deine Lösungs Ansätze. So das wir sehen das du dich bemüht hast es selber zu lösen. Dan bekommst du in denn meisten fällen auch eine gute und klare Antwort.

Anmerkung: ich habe jetzt einfach mal drauf los geschrieben ohne es noch mal durchzulesen, kann sich deshalb wir und zusammenhanglos lesen, aber ich hoffe man versteht die kern aussage.
 

MrMarshall

Minecrafter
Registriert
2 Dezember 2018
Beiträge
14
Diamanten
300
Ich habe Java seit 4 Jahren als Schulfach wodurch deine Aussage schonmal 0 Sinn macht. Ich habe das hier mit der SpigotAPI geschrieben da dies hier ein Minecraft Forum ist und es hier um ein Minecraft Plugin geht.

Ich habe wie bereits oben erwähnt mehrfach danach gegoogelt und bereits mehrere Leute zu dem Thema befragt darunter auch Lehrer.
Zudem finde ich es Schade dass bei einer einfachen Frage immer das Standartmäßige. Probier erstmal kleinere Projekte etc. kommt oder Google doch mal ohne meistens auch nur selber eine sinnvolle Sache zu der Frage beizutragen(bei dir hier nicht der Fall). Ich denke mal ich frage hier nicht einfach so und manchmal steht man halt bei seinen Plugins oder Programmen auch nach mehreren Überlegungen und nach mehrerem Suchen immernoch auf dem Schlauch und ich denke dieses Forum bzw. dieser Bereich dient ja dazu sich Hilfe zu holen.
Zudem beschränkt sich mein Problem hier nicht nur auf die KI sondern auch auf das bewegen des Spielers so dass dies realistisch wirkt.
PacketPlayOutRelEntityMove funktioniert leider nicht und durch PacketPlayOutEntityTeleport musste ich diesen ja ziemlich oft teleprtieren dass dies realistisch wie ein laufen aussieht.

Ich glaube du verstehst uns nicht so ganz.. Du schreibst deinen Thread nicht so, dass wir dir helfen können oder dir Tipps geben können weil wir deinen aktuellen Wissensstand nicht kennen. Zudem beschreibst du überhaupt nicht das eigentliche Problem sondern forderst mit deinem Beitrag eher, das man dir ein paar Links und Codeschnippsel schickt, die du dann einfach in dein Projekt kopieren kannst, was auch nicht der Sinn der Sache ist.. Wie gesagt google ist dein bester Freund und wenn die von dir angegebenen Packets nicht funktionieren, dann frag dich doch mal warum nicht und such eine Lösung.. das ist schließlich was man programmieren nennt, oder nicht??
 

Scheuraa

Minecrafter
Registriert
24 Juli 2017
Beiträge
6
Alter
25
Diamanten
250
Ich glaube du verstehst uns nicht so ganz.. Du schreibst deinen Thread nicht so, dass wir dir helfen können oder dir Tipps geben können weil wir deinen aktuellen Wissensstand nicht kennen. Zudem beschreibst du überhaupt nicht das eigentliche Problem sondern forderst mit deinem Beitrag eher, das man dir ein paar Links und Codeschnippsel schickt, die du dann einfach in dein Projekt kopieren kannst, was auch nicht der Sinn der Sache ist.. Wie gesagt google ist dein bester Freund und wenn die von dir angegebenen Packets nicht funktionieren, dann frag dich doch mal warum nicht und such eine Lösung.. das ist schließlich was man programmieren nennt, oder nicht??
Erstmals fordere ich nirgends codesnipsel sondern lediglich eine Hilfe bei meinem Problem welche mir DerFRZocker auch zum Teil geben konnte. Zudem sag ich jetzt zum 10 ten mal dass ich mich bereits länger mit dem Problem auseinandersetze. Und wenn du mir nicht weiterhelfen kannst sondern hier einfach nur kritisieren willst dann bist du bei diesem Thread falsch. Du hast mir bis jetzt nicht eine konstruktive Hilfe gegeben sonder kritisierst nur. DerFRZocker als Beispiel gibt mir erst ein paar Ratschläge wie ich es besser machen kann und gibt mir dann konstruktive Kritik wie ich das Thema das nächste mal besser gestallte.
Zudem wenn es dir nicht passt kann man es auch einfach ignorieren es zwingt dich keiner darauf zu antworten.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Ich find das kommt eher so rüber, als müsstest du uns beweisen was du kannst anstelle einfach dein Wissen anzugeben. Außerdem ist der häufigste Grund, wenn jemandem hier im Forum nicht geholfen die Frage selbst. Aus deinem Eingangspost war mir jedenfalls sofort klar, dass du so wenig Wissen über das Thema hast, dass ich nicht mal weiß wo ich anfangen soll.

Das glaub ich übrigens nach wie vor, aber wenn du das was du behauptet hast wirklich kannst, dann solltest du zuerst nachlesen, was ein "Gameloop" ist. Deine AI wird üblicherweise als Teil des Gameloops ausgeführt und berechnet ihre Aktion für den nächsten Tick anhand ihres aktuellen Zustandes. Im einfachsten Fall ist das eine Statemachine, wobei es auch fortgeschrittenere Verfahren gibt um eine KI zu implementieren. Wie du die Bewegung dann auf das Spiel überträgst ist ein völlig anderes Thema und hat mit der KI nicht mehr viel zu tun.

Du kannst beides getrennt voneinander implementieren und wenn du zuerst die Bewegungen hin bekommen möchtest, dann kannst du dir ja eine total simple KI bauen, die nur die ganze Zeit in eine Richtung läuft oder springt. Zu dem Thema KI gibt es jedenfalls unglaublich viele Informationen im Internet, sogar Videos auf Youtube. Du wirst also konkreter werden müssen, falls du Fragen hast.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Um mal Bezug auf die Frage zu nehmen: Weswegen brauchst du dafür eine KI? Was soll denn dein NPC "lernen" und sich beibringen. Da reichen einfache Algorithmen doch aus.
KI hat nichts mit lernen zu tun. Du verwechselt das mit Maschinellem Lernen.
 
Oben