Ich komme bei meinem kleinen Mini-Spiel irgendwie bei den Kollisionen nicht weiter.
Genauer gesagt, fehlt mir die konkrete Idee, wie man so etwas sinnvoll lösen kann.
Um mal bisschen deutlicher zu machen was mir vorschwebt, habe ich eine Grafik erstellt.
Es soll zu Beginn erstmal nur zwei Typen von Objekten geben. Kreaturen und Projektile.
Mit Projektile sind z.B Pfeile gemeint, die eine Kreatur abfeuern können soll.
Dabei steuert man als Spieler vorerst einfach eine der Kreaturen.
Kreaturen und Projektile sind beides Entitys, die in einem Manager gemeinsam verwaltet werden.
Es soll nun ein Ereignis ausgelöst werden, wenn die beiden Objekt-Typen miteinander, untereinander oder an den Wänden kollidieren.
Mein Problem ist, dass ich nicht weiss, welche Art von Kollision nun sinnvoll wäre.
Einfach Kreise gegeneinander abzufragen, würde ich vermutlich noch irgendwie hinbekommen. Da muss ja auch nicht viel anderes gemacht werden, als die Distanz zum Mittelpunkt untereinander zu vergleichen.
Wie aber prüfe ich das ganze gegen eine Wand? Hier entsteht doch sehr schnell das Problem, dass bei sich schnell bewegenden Kreaturen/Projektilen, deren "Sprünge" (von der letzten Position zur neuen Position) so gross werden können, das sie Hinternisse einfach "überspringen".
Hier fehlt mir komplett ein Ansatz.
Zudem wäre es ja wünschenswert, wenn man an den Wänden entlang "silden" würde. So wie es einem aus vielen anderen Spielen bekannt ist.
Soll heissen, nicht ein simples laufen/stoppen, sondern eine Art stark vereinfachte Physik. Idealerweise könnte man dann auch die anderen Kreaturen umher schupsen.
Bei dem Material was ich so im Netz gefunden habe, werden meistens nur Kreise oder Rechtecke miteinander verglichen. Da ist mir zudem aufgefallen, dass sich diese beiden Methoden schon ziemlich stark unterscheiden und sich ein "Kreis-System" nicht ohne weiteres mit Rechtecken erweitern lässt.
Welche Methode wird denn in der Regel für Spiele dieser Art genommen?
Habt ihr irgendein Tipp für mich, wie ich da weiter kommen kann?
Oder vielleicht eine Empfehlung zu einem Tutorial, Buch oder Video?
Gruss starcow