"Die Gilde I Gold" - Reverse Engineering und Remake

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
Antworten
GuildMan
Beiträge: 9
Registriert: 09.01.2019, 18:26
Echter Name: Alexander

"Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von GuildMan »

Ich habe mal wieder tief in meinem Spielefundus gegraben und bin da über einen echten Klassiker gestolpert.
Ich hatte vor einiger Zeit schonmal Kontakt mit dem derzeitigem Rechteinhaber Kontakt aufgenommen um mich zu informieren ob neue Patches in Planung sind.
Leider musste dies verneint werden, der Grund dafür ist das bei der Übernahme der 4Head-Studios die Daten von den Servern gelöscht wurde bevor Nordic Games diese sichern konnte.

Nach einigen E-Mails und Skype-Chats kam das Thema auf das Spiel neu zu Programmieren, allerdings nicht durch Nordic Games, sondern durch Private Personen. Denn Nordic Games hat nicht das Personal und die Zeit dafür über. Des weiteren kam von Ihm via Skype die Aussage, wenn es eine Lauffähige Demo gäbe könnte er sich vorstellen die weitere Entwicklung zu unterstützen.

Ich dachte mir erstmal hier nach zu fragen ob es Interessenten gibt, denn ich selbst besitze nicht die Kenntnisse um soetwas zui Programmieren.

MfG
GuildMan
Zuletzt geändert von xq am 20.01.2019, 13:19, insgesamt 2-mal geändert.
Benutzeravatar
xq
Establishment
Beiträge: 1527
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von xq »

Interesse hätte ich da schon dran, aber leider fehlt mir die Zeit...
Was das ganze interessant machen würde: Die Orginal-Assets verwenden zu dürfen bzw. sogar das Spiel quasi nur mit nem neuen technischen Untersatz zu versehen.

Schwierigkeiten seh ich aber in der Wirtschaftssimulation an sich, da die meines Erachtens überraschend komplex ist

Aber falls ein Projekt zustande kommt, seh ich mich nicht abgeneigt, ab und zu mal Code beizusteuern (sofern das Projekt Open Source wird)
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
GuildMan
Beiträge: 9
Registriert: 09.01.2019, 18:26
Echter Name: Alexander

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von GuildMan »

Open Source denke ich nicht. Denn das wird Nordic Games wohl eher nicht wollen. Natürlich wäre das ne super sache, aber das wird wohl eher nichts mit OS!
Benutzeravatar
xq
Establishment
Beiträge: 1527
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von xq »

Naja, sie hätten aber auch nix von "closed source", da das Spiel ja doch schon älter ist.
Einige Spiele machen es auch so, dass der Code offen ist, die Assets aber lizensiert werden. Damit hast du auch den Effekt, dass Leute die Projekte auf andere Plattformen porten
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
GuildMan
Beiträge: 9
Registriert: 09.01.2019, 18:26
Echter Name: Alexander

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von GuildMan »

Das stimmt schon, aber die Teile 2+3 sind nunmal nicht so Gut geworden wie der erste. Ich hab auch schon an eine Umsetzung als Browsergame gedacht. Nur gibt es dabei so seine Hirden.

Ich kann gerne nochmal versuchen Kontakt aufzunehmen um nach OS zu fragen, allerdings bräuchte ich dafür erstmal genug Programmierer. Ich selbst kann nicht Programmieren, würde mich also eher um das zusammentragen des Spieleinhalts usw kümmern.

Hoffe es finden sich noch mehr Interessenten, dann würde ich das ganze auch im Projektforum vorstellen.
mrz
Beiträge: 77
Registriert: 07.08.2008, 14:34

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von mrz »

Dass der Programmcode von Closed Source Spielen unter einer Open Source Lizenz neu geschrieben wird,
der Content aber quasi immer noch über das nicht-kostenfreie und nicht Lizenz-offene original Spiel bezogen werden muss,
ist ja nichts Ungewöhnliches. Nur um mal ein paar bekannte Beispiele zu nennen:

OpenRCT2 (RollerCoaster Tycoon 2)
https://github.com/OpenRCT2/OpenRCT2

openage (Age of Empires)
https://github.com/SFTtech/openage

ioquake3 (Quake III Arena)
https://github.com/ioquake/ioq3/

Aus meiner Sicht ist das eine Win-win-Situation und ich denke die Chancen
sind gut dass der Hersteller bzw Rechteinhaber das Okay gibt insofern ihr
es gut angeht.
GuildMan
Beiträge: 9
Registriert: 09.01.2019, 18:26
Echter Name: Alexander

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von GuildMan »

Wenn sich interessierte Programmierer bei mir melden, dann wäre ich auch bereit mich um alles zu kümmern. Sprich das ganze im Projektforum vorzustellen, mich mit dem Spieleentwickler abzusprechen usw.

Wer interesse hat bitte einfach mal hier oder per PN melden.

@mrz

Wenn das so gängige Praxis ist dann wäre ich einem Open Source-Projekt nicht abgeneigt!
GuildMan
Beiträge: 9
Registriert: 09.01.2019, 18:26
Echter Name: Alexander

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von GuildMan »

Ich möchte noch einmal auf diese Idee aufmerksam machen.

Wenn interesse an einer OpenSource-Lösung besteht dann meldet euch bitte hier oder per PN.

Dann kann man alles notwendige besprechen.
Benutzeravatar
xq
Establishment
Beiträge: 1527
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von xq »

Ich denke, da musst du auch mal in anderen Foren suchen, die meisten hier haben schon ihre eigenen Großprojekte ;)

Bei einer OpenSource-Lösung wäre ich denke ich dabei, hängt aber auch von der Wahl der Technik ab und wo du denn mit dem Projekt genau hinwillst...

Wenn du schon Kontakt zu Nordic hast:
Wie viele Daten würden sie für einen Remake denn vom Original herausgeben? Code? Assets? Dürfen wir das Originalspiel Reverse-Engineeren, um an die Assets zu kommen?

Welche Engine soll verwendet werden? Unity würde sich anbieten, da es ein sehr "highleveliges" Spiel ist (viel komplexe Logik, aber nichts, was "performant" sein muss). Mit Unreal hab ich selber noch keine Erfahrung gemacht. Welche Plattformen sollen angestrebt werden?

(Ich will da jetzt nicht sofort eine Antwort auf die Fragen, aber das soll als Denkanstoß für dich sein, es ist immer schon besser, wenn etwas Planung vorhanden ist statt nur einem "Lass und das mal machen!")

Grüße
Felix
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
GuildMan
Beiträge: 9
Registriert: 09.01.2019, 18:26
Echter Name: Alexander

Re: Wer kennt noch "Die Gilde I Gold"?

Beitrag von GuildMan »

MasterQ32 hat geschrieben:Bei einer OpenSource-Lösung wäre ich denke ich dabei, hängt aber auch von der Wahl der Technik ab und wo du denn mit dem Projekt genau hinwillst...
Da ich selbst nicht wirklich Programmieren kann, würde ich die Wahl der Technik denen überlassen die Programmieren. Das angepeilte Ziel ist einen Stabilen Singleplayer-Modi zu haben der nicht immer an der selben stelle abstürzt. Gibt im SP einen Bug der das spiel nach einer Gewissen Spieldauer abstürzen lässt. Für den Multiplayer wäre eine stabile Verbindung das Ziel. Da hier immer wieder Verbindungsabbrüche stattfinden die das Spiel im MP eigentlich fast unspielbar machen.
MasterQ32 hat geschrieben: Wenn du schon Kontakt zu Nordic hast:
Wie viele Daten würden sie für einen Remake denn vom Original herausgeben? Code? Assets? Dürfen wir das Originalspiel Reverse-Engineeren, um an die Assets zu kommen?
Es können nur die Daten aus dem Installationsordner verwendet werden, da bei der übernahme von den 4Head-Studios damals die Daten des Spiels, sowie der Patches von den Servern gelöscht wurden bevor Nordic-Games diese Sichern konnte. Dies ist auch der Grund warum nie wieder Patches kamen! Was die Grafiken angeht sind diese in Binary-Files im Installationsordner zu finden. Ich habe nach den Audiofiles noch nicht geschaut aber auch diese sollten dort zu finden sein.
MasterQ32 hat geschrieben: Welche Engine soll verwendet werden? Unity würde sich anbieten, da es ein sehr "highleveliges" Spiel ist (viel komplexe Logik, aber nichts, was "performant" sein muss). Mit Unreal hab ich selber noch keine Erfahrung gemacht. Welche Plattformen sollen angestrebt werden?
Auch hier kommt es darauf an, was die Programmierer nutzen möchten. Was die Plattformen angeht kommt nur Windows in Frage, denn es gibt keine Version für Mac oder Linux.


Ich hoffe ich konnte alle deine Fragen beantworten^^
Benutzeravatar
xq
Establishment
Beiträge: 1527
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von xq »

Hallo!

Da mich das Projekt schon juckt, habe ich gestern etwas Zeit investiert und mich mal anfänglich durch die Spieldaten gewühlt. Dabei sind folgende Erkenntnisse aufgetreten:
Komsiche Textdatei hat geschrieben:Erkenntnisse:
  • .bin bzw. .bin0 sind zip-files
  • .ed3-Dateien sind Level (Also Objekte + Position)
  • .bgf-Dateien sind 3D-Modelle
    • Manche Modelle besitzen zusätzliche TXS-Datei
  • .bmp wird für Texturen verwendet
  • .esc sind Textdateien, die eine C-ähnliche Scriptsprache enthalten
  • Viele Dateien enthalten *sehr viele* NUL-Bytes (also wenig Onformation)
  • A_Geb.dat enthält Infos über Gebäude (Array-Datei)
    • Siehe auch A_Geb.decoder
  • A_Obj.dat enthält Infos über Objekte (Array-Datei)
    • Siehe auch A_Obj.decoder
  • .sbf-Dateien sind Audio-Bänke
    • Enthält mehrere Sounds mit jeweils 1-n Varianten
    • Enthält MP3 oder WAV/RIFF
  • Animationen sind auch bgf-dateien, aber mit .baf-Endung
    • Besitzen zusätzlich ein ini-file mit einigen infos
  • Ingame-Objekte haben "Subobjekte"
    • Siehe: ESC-Script `GetSubObjectHandle`
  • Daten über Städte findet man in `/Resources/gamedata/Cities/`
    • *.ini ist "Wirtschafts-Konfiguration" der Stadt
    • *.cty ist wohl das "Level"
    • *.net ist das netzwerk-Level?!
  • `/Resources/gamedata/ai/Historical.dfn`
    • Enthält Namen von Päpsten?
    • Papst Stirbt 1404 (Bonifatius IX) → Innocentius VII
  • `/Resources/gamedata/saves` enthält die Spielstände, welche mit gzip gepackt worden sind

Fragen:
  • Wo sind die Rezepte gespeichert?
  • Wie berechnet sich der korrekte Preis für ein Haus?
    • Preis(Haus,Baupreisniveau=Lausig) => 4940
    • Preis(Haus,Baupreisniveau=Mittel) => 6175
    • Preis(Kleine Statue,Baupreisniveau=Lausig) => 9840
    • Preis(Kleine Statue,Baupreisniveau=Mittel) => 12300
    • Preis(Mittlere Statue,Baupreisniveau=Lausig) => 19440
    • Preis(Mittlere Statue,Baupreisniveau=Mittel) => 24300
    • Preis(Große Statue,Baupreisniveau=Lausig) => 38640
    • Preis(Große Statue,Baupreisniveau=Mittel) => 48300
  • Wie berechnet sich die Herstellungszeit?
    • ggf. über Produktivitätsbonus
    • Handwerkskunst-Skill?
Für die A_Geb.dat und die A_Obj.dat habe ich sogar schon einen unvollständigen Dekoder:

Code: Alles auswählen

# A_Geb.dat-Dekoder
size=589 # Datei besteht aus Blöcken dieser Größe, kein Header
array=1 # Und ist ein Array

gebäudetype : u8
*name : string[32]

%org 0x243
bauzeit : u32 # In Jahren
gebäudelevel : u8
preis : u32 # ist das wirklich der preis? Wenn ja, wie skaliert? (Baupreisniveau)

Code: Alles auswählen

# A_Obj.dat-Dekoder
size=65
array=1

type : u8
*name : string[32]
level : u8 # "freischalt-level" ?
bauzeit : u32 # In Minuten
prop_idx : u16[4] # wenn != 0, ist in prop_val ein wert gesetzt, ist im Bereich ~1-5
prop_val : u16[4] # werte bei ~500±200
thingy : u16   # ändert sich bei brettern, sonst 1
preis : u16    # für erweiterungen ist das hier preis * 2, ab und zu auch mal Preis * 3 / 4
%skip 2 # always zero
value : u16 # 3 bei Währungen/Münzen, Rohstoffvorkommen, Potential, 1 bei "Benutzbarem", 2 bei Essbarem, nicht direkt nachvollziehbar
%skip 2 # always zero
%skip 21 # always zero
# end of struct

Code: Alles auswählen

# Dekoder für SBF (Sound Bank File)-Dateien

%sep
%print SBF Header:
*name : string[304]
%skip 4
snd_count : u32
%skip 16

%sep
%rep snd_count
	%print Sound:

	name : string[48]
	%skip 2
	variants : u16
	%skip 8
	file_start : u32
%endrep

# Hier folgen dann die Daten ein einem Format ähnlich
# foreach(sound in sounds)
# {
#   Sound-Header
#   for ( i = 0; i < sound.variants; i++)
#   {
#     Variant-Header
#     RIFF- oder MP3-Daten
#   }
# }

Grüße
Felix
Zuletzt geändert von xq am 20.01.2019, 13:52, insgesamt 1-mal geändert.
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
xq
Establishment
Beiträge: 1527
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von xq »

Ach ja, für die Decoder hab ich ein kleines Tool gebaut, hier mal zwei Screenshots davon:

Bild

Bild
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
EuleMitKeule
Beiträge: 5
Registriert: 09.08.2021, 20:58
Echter Name: Lennard Beers

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von EuleMitKeule »

Moin,

ich bin gerade auf diesen Thread gestoßen, und dachte ich erzähle mal von meinem Vorhaben.
Ich plane tatsächlich schon seit längerem, ein Remake vom originalen Die Gilde-Spiel zu entwicklen.
Ich bin noch unsicher, wie sehr ich mich am original orientieren möchte, aber fest steht, dass ich die Unity Engine verwenden möchte.
Bislang habe ich ein bisschen mit einem Bausystem, Pathfinding und KI-Routinen herumgespielt, aber das Projekt befindet sich noch in der absoluten Anfangsphase.

Ich habe auch schon mehrmals mit sowohl THQ Nordic als auch dem damaligen Lead Developer von Die Gilde Tobias Severin Kontakt gehabt, und kann leider auch nur bestätigen, dass der Source Code des Originalspiels nicht mehr existiert.

Ich würde daher gerne meine Mitarbeit an einem wie auch immer gearteten Remake anbieten. Ich habe außerdem mindestens einen weiteren Programmierer mit Unity-Erfahrung, der mitmachen würde.

Ich habe schon einen Discord-Server für das Projekt eingerichtet.
Falls ihr immer noch Interesse an dem Projekt habt, dann tretet gerne bei, dann können wir dort alles weitere besprechen.

https://discord.gg/nySs2bVbbw

LG Lennard
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 364
Registriert: 05.07.2003, 11:17

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von Lord Delvin »

Wäre es nicht naheliegender, eine Disassembly nach C zu versuchen und dann langsam nach C++ zu migrieren?
EuleMitKeule
Beiträge: 5
Registriert: 09.08.2021, 20:58
Echter Name: Lennard Beers

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von EuleMitKeule »

Lord Delvin hat geschrieben:
11.08.2021, 20:53
Wäre es nicht naheliegender, eine Disassembly nach C zu versuchen und dann langsam nach C++ zu migrieren?
Also einerseits habe ich absolut keine Erfahrung mit Reverse Engineering und Disassembly, andererseits steht zumindest von meiner Seite aus nicht fest, wie weit das neue Spiel sich z.B. grafisch aber auch gameplaytechnisch am alten orientieren soll.

Ich bin thereotisch auch offen für ein Reverse Engineering, jedoch weiß ich wie gesagt nicht, wie viel ich dazu beitragen könnte.
Benutzeravatar
Jonathan
Establishment
Beiträge: 1823
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von Jonathan »

Lord Delvin hat geschrieben:
11.08.2021, 20:53
Wäre es nicht naheliegender, eine Disassembly nach C zu versuchen und dann langsam nach C++ zu migrieren?
Ich habe das mal für Gubble 2 versucht (was unter aktuellen Betriebssystemen massive Probleme hat), in der Hoffnung ich könnte da irgendwie ein paar Wrapper einbauen, und dann halbwegs ursprünglich zum Laufen kriegen.
Der C-Code war nicht nur eine absolute Katastrophe, er kompilierte auch nicht. Verwendet hatte ich dafür RetDec, das erschien mir von den frei-verfügbaren auf den ersten blick am besten.

Prinzipiell interessiert mich das Thema sehr. Aber mit dem was ich gesehen habe schien mir, als müsste man monatelang reverse engineeren, was welcher Code-Teil macht und wofür welche Variable stehen könnte (die alle nur durchnummeriert waren). Letztendlich war mir das dann nicht die Arbeit wert, da habe ich noch genügend andere Projekte, die mehr Erfolg versprechen.
Aus diesen Gründen habe ich leider auch nicht wirklich Interesse an einem Gilde-Neubau zu arbeiten, insbesondere da ich das Spiel nie selber gespielt habe und daher kein Fan bin. Aber es würde mich freuen, hier Ergebnisse zu sehen :)
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 364
Registriert: 05.07.2003, 11:17

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von Lord Delvin »

Naja wenn du mit nm&Co keine sinnvollen Symbole bekommst, ist mein Vorschlag nicht hilfreich.
Für C habe ich das auch nie in so einem Umfang gemacht.
Aber komplett blind neu bauen ist auch nicht zwingend einfacher als sich mit durchnummerierten Variablen rumzuschlagen.

Ich weiß nicht; ich wäre bei so einer Aktion auch eher bei Might and Magic dabei als hier.
EuleMitKeule
Beiträge: 5
Registriert: 09.08.2021, 20:58
Echter Name: Lennard Beers

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von EuleMitKeule »

Lord Delvin hat geschrieben:
20.08.2021, 13:39
Aber komplett blind neu bauen ist auch nicht zwingend einfacher als sich mit durchnummerierten Variablen rumzuschlagen.
Einfach nicht, aber bei einem technisch simplen Spiel wie die Gilde auf jeden Fall machbar.
Wir haben in den letzten Tagen jetzt ein funktionierendes Produktions-System, Handels-System und Zeit-System implementiert und haben jetzt angefangen, eine KI zu schreiben, die einen Betrieb managen kann (das Pendant zum Meister in die Gilde).
Bis zu einem vollständig spielbaren Gilde-Klon ist es natürlich noch ein weiter Weg, aber es geht voran.
EuleMitKeule
Beiträge: 5
Registriert: 09.08.2021, 20:58
Echter Name: Lennard Beers

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von EuleMitKeule »

Achso, wer interessiert ist, kann sich natürlich gerne im Repository umsehen: https://github.com/EuleMitKeule/die-gulde
zurg
Beiträge: 1
Registriert: 04.11.2021, 22:16

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von zurg »

Find's super, dass es noch Menschen gibt, die das selbe denken wie ich. Würde auch anbieten an so einem Projekt mitzuarbeiten. Groß Unity Erfahrung hab ich jedoch nicht.

@EuleMitKeule: hättest du auch Screenshots von dem aktuellen Stand? Vielleicht motiviert das noch weitere mitzumachen, wenn sie sehen, dass das was werden könnte :)
EuleMitKeule
Beiträge: 5
Registriert: 09.08.2021, 20:58
Echter Name: Lennard Beers

Re: "Die Gilde I Gold" - Reverse Engineering und Remake

Beitrag von EuleMitKeule »

Grafisch gibt es momentan noch nichts zu sehen, wir entwickeln erstmal die Spiellogik, bevor wir den Client implementieren uns auf einen Grafikstil festlegen.
Antworten