Autor Thema: Kolliosionsabragen.  (Gelesen 11170 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline matashen

  • Benutzer
  • Beiträge: 1.779
Kolliosionsabragen.
« am: So 11.04.2010, 15:40:33 »
Hallo,
wie lassen sich am effizientesten Coolisionsabfragen realisieren.
Ich hab zwar aufm Lynx die möglichkeit der Hardware das pixelgenau machen zu lassen, kostet aber RAM - und der ist da nur Sperlich vorhanden.

Gibts da Softwaretechnisch einen Königsweg?

Gruß Matthias
Have you played Atari today ?!

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Kolliosionsabragen.
« Antwort #1 am: So 11.04.2010, 21:21:53 »
Kommt drauf an um was für ein Objekt es sich handelt, oder? Ich denke mal... Du brauchst die Abfrage nicht für ein Rechteckt, oder? Weil das wäre ja sehr einfach abzufragen, ... Bei einem Komplexen Objekt würde ich auch erstmal auf die Ausmaße in Rechtecks-Form Abfragen, dann könnte man sich komplexe Abfragen ersparen, bzw. diese Berechnungen nur durchfüren wenn es wirklich nötig sein könnte.

Ich bin halt nicht so der Mathe Profi ;)

Man konnte so eine Kollisionsabfrage auch irgendwie mir XOR / OR / AND lösen, das war glaube ich das eleganteste, aber ich weiß leider nicht wie das geht...

Offline matashen

  • Benutzer
  • Beiträge: 1.779
Re: Kolliosionsabragen.
« Antwort #2 am: So 11.04.2010, 21:27:26 »
xor abfrage gehen nicht, da die sprites im speicher gepackt sind und via Hardware beim zeichnen entpackt werden.
Have you played Atari today ?!

guest401

  • Gast
Re: Kolliosionsabragen.
« Antwort #3 am: Mo 12.04.2010, 10:36:45 »
Sofern die Sprites nicht allzu komplex aussehen und man die Positionen als x- und y-Koordinate hat (kann man auch schnell umrechnen) würde ich einfach mittels Pythagoras den Abstand bestimmen und ab einem gesetzten Abstand die Kollision auslösen.
Mit einem 68k geht das zumindest recht flott da man da gut über Tabellen arbeiten kann; der 6502 ist dafür wohl eher kacke, aber der Lynx hat doch nen math.Copro, kann der sowas gut?
Die Rechnung kann man natürlich optimieren wenn z.b. das Spielersprite immer in der Bildmitte (oder gleichbleibender Position) ist.

Ich weiß aber leider nicht wie der Bildschirmaufbau des Lynx ist, vielleicht läßt sich hierüber noch optimieren.

Gruß Alex

Offline matashen

  • Benutzer
  • Beiträge: 1.779
Re: Kolliosionsabragen.
« Antwort #4 am: Mo 12.04.2010, 21:59:32 »
Dann ists wohl doch besser ich opfere 8K RAm und aktivier Suzy
Have you played Atari today ?!

guest401

  • Gast
Re: Kolliosionsabragen.
« Antwort #5 am: Mo 12.04.2010, 22:17:16 »
Muß das dermaßen exakt sein?

Als Spieler ist man meist froh, wenn das eigene Raumschiff nicht gleich explodiert nur weil ein Pixel vom Flügel irgendwas gestreift hat.

guest385

  • Gast
Re: Kolliosionsabragen.
« Antwort #6 am: Di 13.04.2010, 06:00:41 »
Naja das kommt ja auch drauf an was man machen will. U.a. auch von der Auflösung, der Größe der Sprites und vor allendingen Sinn und Zweck.,

Japanische ScoreShmups haben meist nur 1-4 pxl als Trefferzone (meist das Cockpit oder der Kopf der Spielfigur), bei mehreren 1000 Geschossen auf dem Bildschirm ist das auch sinnvoll und fair, ein R-Type ähnliches Spiel sollte dann doch schon ein mehr oder weniger komplexe (sprich passende) Treffermaske haben. (Ich hoffe mal meine seltsame Beispielwahl stört hoffentlich nicht beim erkennen, von dem was ich meine :))

Offline matashen

  • Benutzer
  • Beiträge: 1.779
Re: Kolliosionsabragen.
« Antwort #7 am: Di 13.04.2010, 19:56:58 »
Nö ich hab dann extra ne Maske nur für den Trefferbereich, die Grafik selbst ist nicht die collisionsmask
Have you played Atari today ?!