-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
go-cod #97
Comments
@stwe mein Scope aktuell ist alles an Spieldaten zu verstehen, zu parsen und erstmal reinzuholen was geht. Das faengt bei den COD/GAD Dateien an und hoert bei den verschiedenen Chunks und Inseldaten auf. Ich hab nicht unbedingt vor einen Savegamekompatibles spiel zu erzeugen. Es gibt da noch sehr viel zu erforschen, was noch nicht eindeutig klar ist. Wichtig ist zu identizieren was man unbedingt von den Original Files braucht und was kann mann sich erschliessen. Da ich wirklich kurz angebunden bin, ist meine Roadmap aktuell mal den COD Parser zu portieren. Kleine Schritte. C++ ist fuer mich ein erstmal ein abgeschlossenes Thema. Wenn ich das weiter verfolge, dann in der Sprache, die ich taeglich nutze.
Go ist nicht schwer. Das lernt man tatsaechlich nebenbei :-) |
@siredmar da ergänzen wir uns gut. Ich habe Urlaub und gerade ein neues Projekt gestartet, in der Hoffnung, dass mir keiner Ärger macht wegen dem Namen MDCII. Mir ist nichts besseres eingefallen. Aber egal. Mal eine Frage zu Deinem Go Code: Nehmen wir mal an, Du erstellst tatsächlich einen COD Reader in Go. Kann man das Dingen (Libt) irgendwie in C++ nutzen/aufrufen.? Ansonsten wäre ein Projekt sehr gut, welches die CODs in json oder xml zurückgibt. |
Meinen cod Parser gibt's ja schon in C++. Du kannst ihn rausnehmen und in eine Lib packen, wenn du möchtest. Er arbeitet mit protobuf. Daraus lässt sich ein json dumpen oder besser idealerweise gleich protobuf benutzen und ne eigene Klasse damit befüllen (siehe unten). Hier ein Beispiel für die haeuser. cod Hier das proto file Hier ein cod-Exporter, der nen json dump macht |
Ansonsten: ja klar kannst du go in C++ nutzen. |
Ich habe den Parser mal mittels eines völligen Blindflugs in mein Projekt übernommen und die Boost Abhängigkeit entfernt. Ganz zufrieden bin ich nicht mit meinem Ergebnis (deprecated methods, Probleme mit den Umlauten unter Win), aber so auf den ersten Blick läuft das Ding; er produziert mir jedenfalls eine Json von der haeuser.cod. Ich hatte Deinen Parser schon früher dazu genommen, um mir eine Json zu erstellen, aus der ich dann die Objekte erstellt habe. Mir geht es vor allem darum, dass ich diese Json nicht mit dem Repo verteilen wollte. Ziel erreicht. Wenn mal eine Version in Go fertig sein sollte, nehme ich die gerne.... |
Mein Ansatz wäre es ohnehin einen Importer von original Ressourcen zu bauen. z. b. "hier-sind-die-original-dateien-mach-mir-daraus-was-vernunftiges" dann kann man nämlich den Code völlig unabhängig vom eigentlichen originalkrams bauen |
@siredmar Wie ich sehe geht es hier im branch go-cod weiter. Das Projekt ist nicht tot. Du hast ein "clean up" durchgeführt, was mich hier zu dem Ticket veranlasst. Wohin soll die Reise gehen? Die Erfahrung mit meinen zwei Versuchen, etwas Brauchbares mit den Anno Files auf die Beine zu stellen, endete schließlich mit der Erkenntnis, dass ich das Projekt von der falschen Seite aus angegangen bin. Ich habe quasi einen Savegame-Viewer erstellt, der von der Struktur her nur sehr schwer in ein Spiel verwandelt werden kann. Das lag natürlich daran, dass ich verstehen wollte, wie der original Content benutzt werden muss. Falls Du nun ein (kleines) Spiel erstellen möchtest, würde ich Dir raten, von vornherein das Ziel zu verfolgen, so schnell wie möglich eine wie auch immer geartete Game Logic auf den Bildschirm zu bringen. Also den einfachsten Fall coden und sich über den Erfolg freuen Der Fahrplan dafür würde nun nicht so aussehen, dass wieder ein Savegame mit 6000 Grafiken geladen wird, sondern grob:
Damit ist man erstmal sechs Monate ausgelastet, das System ist benutzbar, ausbaufähig und man sollte sich von Anfang an nicht wieder in Animationen und drehende Fragezeichen verrennen. Schließlich wird man gezwungen, sich mal über seine Datenstrukturen bzgl. der Spielobjekte und deren Organisation Gedanken zu machen. Jedenfalls ist das mein Plan......irgendwann gehe ich die Sache genauso an, und zwar in C++. In Go kann ich Dir leider nicht helfen.
The text was updated successfully, but these errors were encountered: