Hallo Besucher, der Thread wurde 10k mal aufgerufen und enthält 35 Antworten

letzter Beitrag von schwubbe am

Balancing eines Spieles auslesen

  • Moin


    Kurz gefragt: Ich möchte gerne aus dem Spiel "Bürgermeister" die Balancingdaten auslesen. Kann mir da jemand helfen?


    Länger gefragt:
    Ich hatte früher anfang der 90er mal'n C128D mit ein paar Spielen dabei.
    Lange lange ist's her und vieles hat sich bei mir getan.
    Seit ein paar Jahren befasse ich mich aly Hobby mit Webprogrammierung, und seit Monaten schon hänge ich durch, weil ich kein Projekt habe für mein Hobby.
    Jetzt kam ich auf die gloreiche Idee das Spiel "Bürgermeister" mit HTML, CSS, AJAX, PHP und MySQL nachzubauen; einfach um mal wieder was zu coden.
    Einen Emulator und die Spieldatei von Bürgermeister hatte ich auch schnell gefunden und zum laufen gebracht.
    Mir fiel aber schnell auf, das dort mehr berechnet wird, als mir in Erinnerung war.
    Um das nun aber möglichst getreu nachprogrammieren zu können, muss ich nun irgendwie Die Balancing- und Schwellenwerte in Erfahrung bringen.


    Da ich vom Coden auf dem C64 bisher noch nicht die geringste Ahnung hatte versuchte ich es erstmal mit dem D64 Edditor.


    Aber was da rauskam, war ja nun alles andere als ein lesbares Balancing-Set :-þ


    Nach weiterem googlen fand ich dann euch und sah, das noch deutlich mehr aktive gibt als ich zu träumen gewagt hätte.


    Deshalb mal die Frage an euch:
    Müsste es die Möglichkeit geben, an die von mir benötigten Daten in Klarschrift heranzukommen?
    Wenn ja, wie würdet ihr vorgehen, bzw. was würdet ihr mir empfehlen?



    Liebe Grüße
    schwubbe



    Falls benötigt noch ein paar Daten zu meiner Ausrüstung:
    GamingLaptop mit Win10
    C64-Emulator: CCS64 Version 3.9.2.
    Versuchter D64-Editor: D64 Editor http://www.d64editor.com/
    Konkret geht es um das Spiel: Bürgermeister (deutsche Version)
    "Spieldatei": BUERGM-D.D64

  • OK, scheinbar ist mein Wunsch aussichtsloser als ich dachte.

    Das liegt daran, wieviel Zeit und Mühe Du bereit bist zu investieren.


    Bei dem Programm handelt es sich um ein gepacktes Basic-Programm. Um da an den Code zu kommen, müßtest Du
    1.) im Emulator (WinVice) am Ende des Entpackprozesses das Programm mittels Breakpoint anhalten, bevor das Basic-Programm gestartet wird,
    2.) das Basic-Programm mit dem Monitor von WinVice auf dem PC in eine PRG-Datei schreiben,
    3.) zur weiteren Bearbeitung am besten das C64-Studio von Endurion installieren,
    4.) das gespeicherte Basic-Programm in das C64-Studio laden und dort den Code ansehen.

  • Okay, hier grob das Programm einmal als ungefähre PRG-Datei zum Einlesen in das C64-Studio, einmal als BAS-Datei (mit der Endung TXT zum Hochladen im Forum) zum Betrachten im Texteditor.
    Achtung: Das Basicprogramm enthält C64-typische Steuerzeichen zur Positionierung des Cursors auf dem Bildschirm. Es kann also sein, daß der von Dir verwendete Texteditor daher eine Warnung ausgibt. Was in den Dateien enthalten ist, die zu Beginn des Programms geladen werden, weiß ich nicht, vermute aber, daß es sich um Graphiken handelt.


    Viel Erfolg bei der Suche nach den Daten!

  • Es gibt keine "Balancing-Daten", vorausgesetzt, Du stellst Dir da irgendwie eine Art standardisierte Tabelle vor oder sowas. Theoretisch kann sowas zwar in Form einer Tabelle implementiert sein, aber selbst wenn das der Fall sein sollte, gibt es da keinen Standard-Weg um diese auszulesen und zu verstehen. Es wird Dir nichts anderes übrig bleiben, als Dir den gesamten Code aufmerksam anzuschauen und zu verstehen.

  • Ihr habe aber schon mitbekommen, der der User längst wieder gelöscht ist?

    Da wir hier glücklicherweise noch keinen Forenzensor haben, der unerwünschte Themen oder seiner Meinung nach nicht ernsthaft gestellte Fragen als 'Terra Incognita' kennzeichnet, könnten ja theoretisch einige Forenschreiber ihre Antworten dennoch geben wollen, falls es mal jemand anderen interessieren sollte- oder auch der gesperrte User trotzdem noch mitliest.

  • Ihr habe aber schon mitbekommen, der der User längst wieder gelöscht ist? ;)


    Der ist nicht gelöscht, der war schließlich nie registriert ;)
    (Wollte euch meinen Account nicht als Leiche aufbürden, da ich außer Fragen zu stellen leider nicht viel zum Forum beitragen kann.

    [...]Aber ausgerechnet zwischen den Feiertagen auf eine Antwort zu hoffen, wenn die meisten hier in Urlaub sind oder was anderes zu tun haben, ist auch schon mutig. ^^


    Da ich selbst an Feiertagen arbeite und sie nicht feiere hatte ich das gar nicht bedacht XD

    Viel Erfolg bei der Suche nach den Daten!


    Vielen Lieben Dank, ich werde mir die Dateien mal anschehen und schauen, ob es mir etwas hilft :)

    Es gibt keine "Balancing-Daten", vorausgesetzt, Du stellst Dir da irgendwie eine Art standardisierte Tabelle vor oder sowas. Theoretisch kann sowas zwar in Form einer Tabelle implementiert sein, aber selbst wenn das der Fall sein sollte, gibt es da keinen Standard-Weg um diese auszulesen und zu verstehen. Es wird Dir nichts anderes übrig bleiben, als Dir den gesamten Code aufmerksam anzuschauen und zu verstehen.


    Damit hatte ich auch nicht gerechnet. Mir war schon klar, das ich wahrscheinlich alles danach durchforsten muss.

  • Der ist nicht gelöscht, der war schließlich nie registriert ;)
    (Wollte euch meinen Account nicht als Leiche aufbürden, da ich außer Fragen zu stellen leider nicht viel zum Forum beitragen kann.

    Wie geht denn sowas? 8|


    Auch Fragen mit Antworten der anderen User können wichtig sein. ;)

  • Auch Fragen mit Antworten der anderen User können wichtig sein. ;)

    Natürlich, aber fragen kann ich auch als Gast :)
    PS: Bin jetzt auch registriert damit ich die Dateien runterladen konnte.

    He, wenn Du etwas rauskriegst, kannste diese wertvollen Infos doch schon mal hier teilen, oder vielleicht lieferst Du ja sogar nen Trainer ;)

    Uhh ... Ich hätte zwar keinerlei Probleme damit derartigen Ruhm und Dankbarkeit zu ernten, aber ich bezweifle doch sehr stark, das ich über dieses Vorhaben derart an Wissen gewinnen werde, das ich anderen Lehren könnte ^^

  • Kleiner Zwischenstand für interessierte:


    Dank der Datei von M.J. ist das Thema Balancing kein großes Problem mehr.
    Ich muss mir da lediglich noch ein wenig mehr Überblick über die Random-Funktion des Basic verschaffen (besonders über min und max, vmtl 0-1), damit ich es möglichst getreu in PHP oder Javascript nachgebaut bekomme.


    Die Schriftart hat mich ein wenig gewurmt, immerhin will ich da ja schon am Original bleiben.
    Ich habe mich letzlich dafür entschieden im Spiel Worte und Zahlen durch Bildchen selbiger zu ersetzen. Das ist mittels str_replace in PHP und sprites in CSS recht simpel, und ich muss mich nicht damit befassen, eine alte Schriftart neu aufzulegen, um dann am Ende trotzdem Probleme bei der Einbindung oder fehlenden Zeichen zu bekommen.


    Mit der Steuerung bin ich noch nicht ganz zufrieden, wenn auch ziemlich.
    Da das Auslesen der Pfeiltasten und Strg nicht so zuverlässig zu sein scheint (ich hatte Probleme), habe ich mich dazu entschlossen die klassische WASD-Belegung und die Leertaste als Feuerknopf zu programmieren (kann ich aber auch jederzeit ändern).


    Aktuell hänge ich gerade etwas an dem Punkt, so man den/die Namen und Stadtnamen eingeben muss.
    Die Übermittlung der Daten an das Skript will grad nicht so, geschweige denn, das ich die Eingabebereiche optisch dem Original ... während der User dann Zeichen für Zeichen eingibt ....
    Ne, das werde ich auch vorerst mit "normalen" Formularfeldern belassen, und im Zweifel später noch ändern.


    Nach den ganzen Vorbereitungensollte das Programmieren des eigentlichen Spiels (was der Schritt nach den Usereingaben bei mir ist) ziemlich easy von statten gehen. Ich werde euch dann auch mal was zum anschauen verlinken.
    Vorerst werde ich mich am Original halten, mit allem drum und dran. Später werde ich mich vlt auch noch an einer Art remake versuchen, wo ich dann Rechenfehler ausbügle, der bisher sinnfreien Universität einen Sinn gebe etc. pp. Mal schauen :)

  • Vielleicht hilft Dir das hier ein bisschen:


  • Da das Auslesen der Pfeiltasten und Strg nicht so zuverlässig zu sein scheint (ich hatte Probleme), habe ich mich dazu entschlossen die klassische WASD-Belegung und die Leertaste als Feuerknopf zu programmieren (kann ich aber auch jederzeit ändern)


    Hmmm, wenn das Original Joystick war würde ich statt wasd eher ijkl empfehlen, das kann man dann mit der rechten hand bedienen, wie einst den joystick. wasd ist ja eher populär als linke-hand-ergänzung zur maus in der rechten ;)


    Noch ein wenig "Designmotz" :D nicht in den falschen hals kriegen bitte .... ein Browserspiel baut man ja eigentlich in javascript. Also, NUR in javascript. Serverseitiger Code ist nur nötig/sinnvoll, wenn man Spieler vernetzen will, oder zumindest sowas wie highscores zentral verwalten. Zu dem Zweck wären heute REST services am ehesten das zeitgemäße Mittel. Die kannst natürlich auch in PHP implementieren ... ;) nur so als Denkanstoß :)

  • Vielleicht hilft Dir das hier ein bisschen

    Ne, leider so überhaupt gar nicht :|
    Wie gesagt, bisher weiß ich, das die Zufallszahl scheinbar zwischen 0 und 1 liegt und 9 Nachkommastellen hat.
    Im Zweifel muss ich damit arbeiten und sie auf eigene Weise erzeugen.



    Hmmm, wenn das Original Joystick war würde ich statt wasd eher ijkl empfehlen, das kann man dann mit der rechten hand bedienen, wie einst den joystick. wasd ist ja eher populär als linke-hand-ergänzung zur maus in der rechten ;)


    Noch ein wenig "Designmotz" :D nicht in den falschen hals kriegen bitte .... ein Browserspiel baut man ja eigentlich in javascript. Also, NUR in javascript. Serverseitiger Code ist nur nötig/sinnvoll, wenn man Spieler vernetzen will, oder zumindest sowas wie highscores zentral verwalten. Zu dem Zweck wären heute REST services am ehesten das zeitgemäße Mittel. Die kannst natürlich auch in PHP implementieren ... ;) nur so als Denkanstoß :)


    ijkl ließe sich einrichten, auch, das beide Kombinationen parallel möglich sind; sogar so, das man die Wahl hat.
    Mal schauen. Ist halt grad nicht meine Prio #1.
    Ja, das PHP kann man ganz sicher ersetzen, keine Frage, was es schon unnötig macht.
    Ist aber schon bewusst aufgeteilt. JS liegt mir einfach nicht soo sehr und ich mag es nicht sonderlich. Ich hab ja schon Stunden gebraucht um die Userdaten via AJAX zum Server zu kriegen -.-'
    Zudem will ich mich mit dem Projekt ja in meinem Wissensstand trainieren, und ich arbeite gewöhnlich mit PHP.
    Nicht zuletzt aber habe ich die highscore in der Tat in einer MySQL-DB gespeichert und werde wohl auch die rundenbasierten Userdaten dort ablegen.


    Für die Zukunft des Projektes aber kann die Aufteilung auch noch recht sinnvoll werden. Wenn ich wirklich ein Remake, eine Version 2.0 dovan mache, dann habe ich a) den Grundbaustein schon fertig und würde u.a. wegen möglichem vernetzten Multiplayer und Userverwaltung auf PHP setzen müssen.
    Aber wie geschrieben: Unrecht hast du eigentlich nicht.