Frage

Ich habe seit Jahren ein Half-Life Liebhaber gewesen. Ich habe einen BS in CS und haben informell Programmierung seit High-School wurde. Als ich noch in der Schule war habe ich versucht, für fun..using die erste Half-Life-Engine ein Mod-Programmierer zu werden ... nicht so gut funktionierte. Also hat ich schließlich mein großes College learrning :-) Ich würde mehr Einblick hat, wie dieses Problem in Angriff zu nehmen und schließlich könnte es tun. Also hier am..finally ich in der Business-Welt-Programmierung Java-out ... damit ich die HL2 SDk heruntergeladen und gestartet durch die Klassenstruktur suchen. Ich fühle mich wie ich das letzte Mal habe ich schon versucht, diese ... benommen und verwirrt. Traurig über alle den Boden zurück.

Was ist also der beste Weg, um systematisch die Codestruktur zu lernen? Ich weiß, Java und ich weiß, c ++ .. ich nicht nur wissen, was eine der Klassen zu tun ... Kommentare sind wenige und weit zwischen und die Dokumentation scheint dürftig. Jedes gute approahces? I ** don '** t möchte meine eigene Mod starten ... ich vielleicht möchte nur eine Ersatzzeit mod Programmierer auf einigen kühlen MOD eines Tages ... den Spaß zu halten Programmierung zusammen mit der Business-Seite in das Lernen.

War es hilfreich?

Lösung

  

Die Kommentare sind wenige und weit zwischen   und die Dokumentation scheint dürftig.   Jedes gute approahces?

Willkommen in der Wunder, dass das Source SDK ist. Nein, es ist nicht dokumentiert. Experiment, hack, Ort Haltepunkte und sehen, was passiert, wenn Sie ein Stück Code zu ändern.

Es ist ein Wiki rel="nofollow in einigen Fällen hilfreich sein können, aber es ist gefülltem in der Gemeinschaft und nicht von Valve, was bedeutet, dass Sie keine tatsächliche Dokumentation dort finden, nur Erklärungen, wie vorherigen Modder hat den Motor gehackt.

Ehrlich gesagt, saugt es. Der einzige Weg, um es zu tauchen. Probieren Sie verschiedene Änderungen, um das Spiel zu erreichen und keine Angst auseinander den vorhandenen Code rippen. Es wird nicht schön sein, aber wenn es funktioniert, wer wird sich beschweren? Deren Code ist ziemlich schrecklich, und wahrscheinlich wird auch von dir sein.

Andere Tipps

Sie können an der Ventil-Wiki .

Ich denke, der beste Weg, den Quellcode einer der paar Open Source Mods da draußen zu überprüfen ist, Open Source Gefängnisausbruch . Es wird Ihnen helfen, zumindest mit dem Code vertraut.

Darüber hinaus, es ist nur Entwicklerressourcen und Foren.

Edit:. Plan of Attack auch groß scheint

Auch:. Diese eine große Liste ist, die sowohl allgemeine als auch spezifische Themen

Ich würde tun, was ich mit einem anderen vageen System tue ... setze viele Haltepunkte und ein Gefühl für die Struktur erhalten, indem es Funktion zu beobachten. Fügen Sie Ihre eigenen Kommentare / Dokumentation, wie Sie gehen. Testen Sie Ihr Verständnis durch kleine Änderungen vornehmen und sehen, ob Sie die erwarteten Ergebnisse erhalten.

Ich habe mit dem Source SDK für ein wenig gearbeitet und einige Änderungen vorgenommen. Wirklich haben Sie ein gutes Verständnis von C und C ++ haben. Die Source SDK ist nicht modern C ++ und ist viel eher an C mit Klassen als jede reale OOP.

Das SDK einfach in ist gestaltet, dass der Hauptcode von Einheiten besteht, von denen viele Sie ignorieren können.

Auch wissen, dass die SDK Vererbung verwendet sehr stark, so aussehen zu Basisklassen für Funktionen, die Sie sich wünschen.

Ich würde sagen, eine Liste von wichtigen Dateien und Klassen machen, die vielleicht relevant, was Sie mit dem SDK tun mögen. Dann starten Sie diese Dateien Sortierung mit virtuellen Ordnern in VS (oder realen Ordnern auf dem Dateisystem) und verwenden Sie die Suchen in Dateien Option (oder grep) Ihren Weg finden um.

Einige Beispieldateien: eiface.h - Motor Schnittstellen gameinterface.cpp / .h - Viele Schnittstellen von externen DLLs für Server cdll_client_int.cpp / .h - Viele Schnittstellen von externen DLLs für Client * _Gamerules.cpp / .h - Spielregeln (bestimmt Logik des Spiels) world.cpp - Einheit, die die Karte Eigenschaften bestimmt und lädt die Spielregeln und andere Entitäten

Versuchen Sie auch die Source SDK Base anstelle der HL2MP Basis für eine Mod zu verwenden. Ersteres ist viel sauberer und leichter zu bauen off.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top