Einen Graphen zeichnen

  • Mit Hilfe von Polynominterpolation könnte man aus Punkten eine Funktion zum Anzeigen berechnen, ist der Algorithmus auch in SQF einigermaßen machbar? Das könnte ich mir gut für ein Marktsystem vorstellen.

    "Sie haben Feinde? Super! Das heißt, dass Sie sich in Ihrem Leben für etwas eingesetzt haben." - Winston Churchill

  • Das ist schon wieder Jahre her, dass ich sowas gemacht habe. Ich sehe aber keinen Grund, warum es nicht funktionieren sollte.
    Kommt darauf an, wie oft man das im Spiel machen möchte. Einmal am Missionsstart ist überhaupt kein Problem. Jeden Frame wird zuviel Rechenpower beanspruchen. Braucht man die Numerik jeden Frame, dann ist eine Extension wohl besser. Siehe ACE Advanced Ballistics oder die ACE FCS Extension.
    Einen Markt sollte man aber auch einfach am Anfang der Mission berechnen können, oder sogar schon beim Missionsbau eine Lookup-Table erstellen, und meine Graphenmethode nur zum Darstellen verwenden.
    Ich persönliche würde eine Preiskurve für ein Spiel aber mit Hilfe von überlagerten Sinuskurven generieren, ggf. moduliert mit einer Zufallsfunktion, z.B. SQF random seed.

  • Ich bin einfach mal davon ausgegangen, dass man die letzten n Preise von jeweiligen Rohstoff persistiert und dann nach jedem Marktzyklus ein Mal die entsprechende Funktion auf dem Server berechnet. Das sollte performancetechnisch glaube ich kein Problem sein.

    "Sie haben Feinde? Super! Das heißt, dass Sie sich in Ihrem Leben für etwas eingesetzt haben." - Winston Churchill

  • Auf dem ersten Server, auf dem ich damals gespielt habe, gab es so einen Graph für die Entwicklung von jedem Rohstoff. Nur sah der leider ziemlich beschissen aus, weil er sehr linear war. Ich hätte nicht gedacht, dass man Graphen so gut zeichnen kann.

    "Sie haben Feinde? Super! Das heißt, dass Sie sich in Ihrem Leben für etwas eingesetzt haben." - Winston Churchill

  • Hier mal eine Anwendung.


    Code Performance-Vergleich von eager evaluation vs lazy evaluation vs super lazy evaluation bei unterschiedlichen Wahrscheinlichkeiten aller Bedingungen (damit es 2D bleibt haben an jeder Stelle alle 3 Bedingungen die gleiche Wahrscheinlichkeit).



    Gezeichnet im "Plotting Tool" Arma 3.