Pong Mathematik (Abprallen des Balles)



  • Hallo,

    Ich versuche mich gerade an einem Pong Spiel. Soweit läuft alles, dass heisst der Ball läuft Diagonal und prallt auch an den Wänden und dem Spieler ab.

    Das ganze habe ich so gelöst, dass ich einfach die Richtung des Balles verändere, z.B wenn der Ball RIGHTUP fliegt und die Wand oben berührt, soll er RIGHTDOWN weiterfliegen...

    Nunja, das ganze ist ja schön und gut, aber so wie ich es momentan habe, fliegt mein Ball bloss im 45 Grad Winkel.

    Welche Mathematik wird denn bei einem "professionellen" Pong Spiel eingesetzt? Könnt Ihr mir vielleicht weiterhelfen?



  • Du meinst wohl eher Physik. Schau dir mal Stöße an. Das wird dann aber alles etwas komplizierter.



  • Oh, dieser Thread ist ausserdem im falschen Forum.

    Tut mir Leid, könnte das wer bitte verschieben?




  • Mod

    Sofern deine Wände alle genau senkrecht oder waagerecht sind, reicht es einfach jeweils die x- (bei senkrecht) oder die y-Geschwindigkeit (bei waagerecht) umzukehren. Das ist auch die Technik die bei den "professionellen" Pong-Spielen eingesetzt wird.

    Wenn du natürlich noch Sachen wie Drall oder schiefe Wände haben willst, reicht das natürlich nicht mehr aus, aber man sollte erstmal klein anfangen.

    Kleine Anekdote: Die GANZ alten Pong-Spiele haben dafür übrigens selbstmodifizierenden Code benutzt, weil der Arbeitsspeicher zu kostbar war für so einen Quatsch wie eine Variable für die Geschwindigkeit. Das ist eine kleine Herausforderung für fortgeschrittene Programmierer, das mal nachzubauen.



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • SeppJ schrieb:

    Die GANZ alten Pong-Spiele haben dafür übrigens selbstmodifizierenden Code benutzt, weil der Arbeitsspeicher zu kostbar war für so einen Quatsch wie eine Variable für die Geschwindigkeit.

    Ach geh Schmarrn so ein Quatsch. Du kannst mir nicht erzählen dass es jemals einen Computer gegeben hat der zwar mächtig genug war die Grafik für ein Pong zu berechnen, aber nicht genug RAM/Register hatte um die Geschwindigkeit abzuspeichern.
    WENN das originale Pong selbstmodifizierenden Code verwendet hat, dann ganz sicher nicht weil das RAM knapp gewesen wäre.

    Das ist eine kleine Herausforderung für fortgeschrittene Programmierer, das mal nachzubauen.

    Wieso sollte man das wohl tun wollen?



  • Die ganz alten pongs hatten als graphische Darstellung ein Oszilloskop und das ist meines Wissens älter als ein Computer ;), von daher kann das schon stimmen.



  • SeppJ schrieb:

    Kleine Anekdote: Die GANZ alten Pong-Spiele haben dafür übrigens selbstmodifizierenden Code benutzt, weil der Arbeitsspeicher zu kostbar war für so einen Quatsch wie eine Variable für die Geschwindigkeit. Das ist eine kleine Herausforderung für fortgeschrittene Programmierer, das mal nachzubauen.

    Du meinst der ganze Code war im RAM? Ich glaube eher, die ganz alten PONGs wurden in ASICs gegossen und bestanden aus ein paar Logik-Gattern, also ohne einen allgemeinen Mikroprozessor zu haben.

    Übrigens, selbstmodifizierender Assemblercode ist ja nicht sooo schwierig zu realisieren.



  • JaykopX schrieb:

    Die ganz alten pongs hatten als graphische Darstellung ein Oszilloskop und das ist meines Wissens älter als ein Computer ;), von daher kann das schon stimmen.

    Hast du einen Link dazu?
    Sonst halte ich das erstmal für ein Gerücht 🙂



  • hustbaer schrieb:

    Sonst halte ich das erstmal für ein Gerücht

    Du hast keine Ahnung: http://www.electronixandmore.com/project/pong/index.html



  • hustbaer schrieb:

    JaykopX schrieb:

    Die ganz alten pongs hatten als graphische Darstellung ein Oszilloskop und das ist meines Wissens älter als ein Computer ;), von daher kann das schon stimmen.

    Hast du einen Link dazu?
    Sonst halte ich das erstmal für ein Gerücht 🙂

    Der Vorgänger von Pong, entworfen von dem hier:
    http://de.wikipedia.org/wiki/William_Higinbotham

    Ob du dem Link trauen kannst und ob William Higinbotham und seine Story nicht ein hirngespinst ist, um zu "Beweisen", dass Pong auf'm Oszi lieft ist dir überlassen ;).

    Und nun mal ehrlich, Aussagen anzweifeln ist gut, aber man kann es auch übertreiben, immerhin haben dir hier schon 3 Leute gesagt, dass es Wahrscheinlich so war. Einen echten Beweis kannst du hier nicht erwarten 🙄 .

    EDIT: Zum eigentlichen Thema 😃
    Du kannst ja je nachdem wo der Ball den Schläger trifft die x- bzw y-. Koordinate ein bischen ändern, dann hast du zwar keine exakte Physik, aber mehr als nur den 45° Winkel und es bleibt voraussehbar was passiert wenn der Ball den Schläger an einer bestimmten Stelle trifft. Ansonsten ist es sogar Physikalisch richtig das nur 45° Winkel auftauchen(Theoretisch).



  • Was seid ihr heute zart besaitet!

    Und nun mal ehrlich, Aussagen anzweifeln ist gut, aber man kann es auch übertreiben, immerhin haben dir hier schon 3 Leute gesagt, dass es Wahrscheinlich so war. Einen echten Beweis kannst du hier nicht erwarten

    WTF?

    Es gibt zu dem Thema genau zwei (!) widersprüchliche (!) Beiträge vor meinem Beitrag. Auf einen dieser Beiträge habe ich geantwortet.

    Darauf hin schreibt der Author des anderen mir eine freche Antwort.

    Und jetzt kommst du und willst behaupten dass ich über-skeptisch bin, und 3 Leuten nicht glaube, die etwas behauptet haben (was impliziert sie hätten dasselbe behauptet, was nun wiederum nicht stimmt)?

    Was soll ich daraus schliessen?

    Gab's heute wo Freibier?

    Davon abgesehen.
    Der Link zu dem "Tennis for Two" ist interessant. Wenn man es genau nimmt ist das aber kein Pong. Auch ist es ganz sicher nicht "die ersten Pongs" (plural), sondern eher "ein Pong ähnliches Unikat".

    Nachdem ich jetzt selbst nachgesehen habe: "das" Pong wurde von Atari entwickelt, und verwendet laut Wikipedia a) einen Vektor-Schirm (ähnlich einem Oszilloskop, aber eben kein Oszilloskop) und b) einen "diskret" ausgebauten "Prozessor" - was auch immer man darunter verstehen möchte.
    Inwieweit man bei dem System von "Programmcode" sprechen kann, weiss ich nicht, da ich keine näheren Details zu dem System gesucht habe. Es würde mich aber wirklich sehr wundern, wenn man auf so einem System selbst-modifizierenden Code eingesetzt hätte. Vor allem da ich davon ausgehen würde, dass der Code hier vermutlich fest verdrahtet war (ein wie auch immer geartetes ROM).

    Was lernen wir daraus? Dass ich skeptisch bin, liegt einfach daran, dass die Leute so immens viel Unsinn schreiben.
    (p.S.: was das Unsinn schreiben angeht will ich mich auch gar nicht ausnehmen!)

    EDIT: Fehler korrigiert.



  • Ja, meine Aussage mit 3 Leuten kann man natürlich auch auf die Goldwaage legen und auseinanedernehmen. Ich spüre den Mathematiker in dir :D.

    Damit hier nicht noch mehr WTF? und/oder freche Antworten kommen:
    Ich möchte Niemanden irgendwas unterstellen, vorwerfen oder sonst was, wer sich von mir angegriffen gefühlt hat:
    "Tut mir Leid! War nicht so gemeint!"
    Bemühen wir uns alle einander zu verstehen. Das Internet lässt manche Zeilen kälter rüberkommen als sie sind.
    Gerne entferne ich auch die Zeilen, sollte der Betroffen dies wünschen.

    Wir können uns darauf einigen, dass mein Link keinen nützlichen Hinweis gegeben hat das die Pongs('tschudlige), dass das erste Pong-ähnliche-Wesen keinen Bezug zu dem Pong hat was Atari vermarktet hat. Und damit ist die Frage geklärt, dass das Pong nicht auf einem Oszi lief und nur einen Vektor-Schirm verwendet hat(was jedoch immernoch kein Computer mit "Grafikengine" ist, welcher alles irgendwie "rendern" muss).

    Bleibt die Frage nach dem Selbstmodifizierendem Code, dazu sage ich nur:
    "Möge Jeder glauben was er möchte, oder recherchieren bis er absolute Erleuchtung findet."

    Ich jedenfalls denke nicht mehr darüber nach, gibt andere Dinge die mehr Spass machen z.B. das http://de.wikipedia.org/wiki/Collatz-Problem

    P.S.: Wie sieht's denn nu aus mit der Mathematik von Pong hast du(der Threadersteller) einen Lösung gefunden?



  • hustbaer schrieb:

    Was seit ihr heute zart beseitet!

    Und dann noch Andere anschnauzen, kein Deutsch sprechen zu können.



  • Wenn du schon den Oberlehrer spielen möchtest, dann kritisiere doch wenigstens noch "beseitet". Das sollte eigentlich "besaitet" heißen.

    MfG,
    ScRaT



  • Kóyaánasqatsi schrieb:

    hustbaer schrieb:

    Was seit ihr heute zart beseitet!

    Und dann noch Andere anschnauzen, kein Deutsch sprechen zu können.

    Dich schnauze ich eigentlich meistens an weil du Unsinn schreibst, nicht wegen Rechtschreibung/Grammatik/Formfehlern oder Dergleichen.



  • ScRaT_GER schrieb:

    Wenn du schon den Oberlehrer spielen möchtest, dann kritisiere doch wenigstens noch "beseitet". Das sollte eigentlich "besaitet" heißen.

    MfG,
    ScRaT

    Ja, das ist zugegebenermassen peinlich 🙂



  • ScRaT_GER schrieb:

    Wenn du schon den Oberlehrer spielen möchtest, dann kritisiere doch wenigstens noch "beseitet". Das sollte eigentlich "besaitet" heißen.

    MfG,
    ScRaT

    Merkst du noch was? Es ging nicht um den Rechtschreibfehler (ich mache wahrscheinlich noch mehr als er), sondern darum, dass er meint Andere mit dem Daumen runterzudrücken zu müssen.

    hustbaer schrieb:

    ScRaT_GER schrieb:
    Wenn du schon den Oberlehrer spielen möchtest, dann kritisiere doch wenigstens noch "beseitet". Das sollte eigentlich "besaitet" heißen.

    MfG,
    ScRaT

    Ja, das ist zugegebenermassen peinlich

    Ja, ist ja schön das du dich bestätigt fühlst *Kopf streichel*


  • Mod

    und da das hier nichts mehr mit graphikprogrammierung zu tun hat -> closed


Anmelden zum Antworten