Ein inoffizielles Open -Source -Remake von Warcraft II: Gezeiten der Dunkelheit
Dieses Open -Source -Projekt ist nicht verbunden, assoziiert, unterstützt oder in irgendeiner Weise mit Blizzard Entertainment, Inc. oder einer seiner Tochtergesellschaften oder seinen verbundenen Unternehmen verbunden. Die offizielle Website von Blizzard Entertainment finden Sie unter http://www.blizzard.com.
Dieses Projekt ist ein völlig unabhängiges und nicht kommerzielles Unterfangen. Es ist nicht für Umsatz oder Gewinn gedacht, und es wird kein Geldgewinn aus seinem Betrieb abgeleitet. Dieses Projekt ist nur für Bildungs- und Informationszwecke gedacht.
Es ist wichtig zu beachten, dass eine Originalversion von Warcraft 2 eine Originalversion von Warcraft 2 erforderlich ist , um dieses Open -Source -Projekt zu verwenden. Dieses Projekt/Repository bietet keine Spielvermögen von Warcraft 2.
Warcraft II: Tides of Darkness wurde 1996 in Europa veröffentlicht. Als kleines Kind habe ich mich sofort in dieses Spiel verliebt. Ich verbrachte Hunderte von uns damit, es zu spielen, ich hatte endlose Netzwerkkämpfe mit meiner Familie und meinen Freunden. Da Warcraft II einen hohen Einfluss auf mich hatte und ich immer noch in dieses Spiel verliebt bin, habe ich mich entschlossen, War2.5 zu schaffen, was ein inoffizielles Open -Source -Remake von Warcraft II ist. Es hat die folgenden Ziele:
Während meiner Freizeit begann ich im Jahr 2021 als einzelner Entwickler daran zu arbeiten. Jetzt im Januar 2024 stellte ich fest, dass zusätzliche Unterstützung erforderlich ist und der nächste logische Schritt darin besteht, den aktuellen Entwicklungsstaat für GitHub freizugeben.
Siehe Abschnitt , wie man baut
Siehe Abschnitt Wie man läuft
Spielen Sie Ihre Lieblingskarte in jeder Saison. Drücken Sie W, S, A, D, um die Saison im laufenden Fliegen zu wechseln, ohne neu zu laden/neu zu starten. Minimap ist oben rechts zu sehen.




C ++ ist die Programmiersprache, mit der ich angefangen habe, Programmierung zu lernen. Ich wollte ein Open-Source-Projekt erstellen, das objektorientierte Programmierung (OOP) in modernem C ++ verwendet. Somit werden Klassen, Vererbung, Polymorphismus und weitere Konzepte verwendet. Mein Ziel war es, Code zu schreiben, der bei der Verwendung moderner C ++ wie C ++ 17 und C ++ 20 flexibel ist. Sie kennen Warcraft II und als Programmierer erwarten Sie Objekte vom Typ "Magier"? Dann schauen Sie einfach Mage.h und Magier.cpp. Interessiert daran, wie die Bauern Gold abbauen? Öffnen Sie einfach Compositestatemining.h und schauen Sie sich an.
Das aktuelle Spiel wurde mit dem RTS Lockstep -Ansatz entwickelt. Dies bedeutet, dass alle relevanten Aktionen wie die Produktion von Einheiten oder Bewegungen zu Ereignissen führen, die zu Beginn eines neuen GameFrame (= Tick) ausgeführt werden. Dies ist besonders wichtig, wenn Sie bisher fehlende Multiplayer -Code in Betracht ziehen. Der aktuelle Code ist alles andere als perfekt, aber ich denke, er ermöglicht es Ihnen, einen Beitrag zu leisten. Ihr Beitrag ist sehr willkommen!
Siehe Abschnitt , wie man baut
Wie geschrieben, habe ich drei Jahre lang in meinem seltenen Freetime gearbeitet, völlig allein in diesem Projekt. Trotzdem hat dieses Projekt einen ziemlich fortschrittlichen Entwicklungsstaat. War2.5 ist zumindest ein bisschen spielbar! Viele Spielmechaniker wurden bereits implementiert. Es fehlen jedoch noch mehrere Hauptkomponenten, wie die richtige Animation und Zeit-/Frame -Management, Netzwerk, AI ... nur einige der Dinge, die funktionieren:
Siehe Abschnitt Wie man läuft
Diese Arbeit wäre definitiv nicht ohne möglich gewesen
Na ja, viele Dinge fehlen entweder, fehlerhaft oder können optimiert werden. Es gibt kleine Dinge, mit denen Sie beginnen können, z. B. wenn Sie auf ein Gerät auf alle sichtbaren Einheiten desselben Typs doppelt klicken, sollten ausgewählt werden. Und es gibt große Dinge, die Sie beitragen können, z. B. die Optimierung der Pfadfindung. Einige weitere Beispiele:
Wie Sie sehen können, gibt es zu Beginn viele Orte. Ihr Beitrag ist sehr willkommen!
Der Debug -Modus ermöglicht, z. B. Kacheln zu inspizieren:

Die Erkundung funktioniert teilweise:

Gebäude haben Produktionswarteschlangen :

Wählen Sie und den Befehl so viele Einheiten aus, wie Sie möchten:

Pfadfindungen mit Astar :


Spielen Sie die ursprüngliche Spielmusik (oder fügen Sie eigene Sounddateien hinzu):

Verwenden Sie den PUD -Browser, um eine gewünschte Karte zu laden:


Auf Ubuntu wurde auf Linux aufgebaut. HINWEIS: WAR2.5 kann auf Ubuntu auch in VirtualBox gebaut und ausgeführt werden.
sudo apt install libsdl2-image-2.0-0 libsdl2-image-dev libsdl2-mixer-2.0-0 libsdl2-mixer-dev libsdl2-ttf-2.0-0 libsdl2-ttf-dev git cmake git clone https://github.com/war2/war2tools.git
cd war2tools
mkdir build
cd build
cmake ..
make
sudo make installgit clone https://github.com/glfw/glfw.git
cd glfw
mkdir build
cd build
cmake ..
make
sudo make installgit clone https://github.com/hsbgit/war25.git
cd war25/src/build
cmake ..
make -j4ERLEDIGT
Leider haben wir nicht einfach sudo apt-Get-Get-Get-Installation bei der Verwendung von Windows. Daher müssen wir die folgenden Bibliotheken Dritter selbst bekommen. Wir bauen sie jedoch nicht; Wir verwenden einfach die bereitgestellten Veröffentlichungen.
Um die Dinge noch einfacher zu gestalten, ist bereits eine voll funktionsfähige LIBS -Reihe von LIBs in der 3. Party/Win enthalten. Dies bedeutet, dass die folgenden Schritte nicht erforderlich sind, wenn Sie nicht in eine andere LIB -Version wechseln möchten.
War2Tools hat keine vorbereitete Veröffentlichung. Daher müssen wir diese Bibliothek selbst kompilieren:
Ändern Sie die Windows SRC/3RDParty/Win/Pfade in die Pfade, die den richtigen Lib -Versionsnummern entsprechen.
Fertig , Kompilieren und Verknüpfen sollte funktionieren.
Kopieren Sie die DLLs aus ihren jeweiligen LIB -Ordnern in den Build -Ordner
Dieses Repository enthält keine Vermögenswerte von Warcraft 2. Um Krieg 2.5 zu führen, ist eine Warcraft 2 Battle.net -Edition für die Datenextraktion erforderlich. Ihr CD -Ordner sollte so aussehen:

Als erster Schritt müssen wir die Assets (Geräusche, Grafiken usw.) aus der CD extrahieren. Diese Arbeit wäre ohne Wargus -Importeur und Skripte für Warcraft II definitiv nicht möglich, um anfänglich Vermögenswerte aus Ihrer ursprünglichen Warcraft 2 -Kopie zu extrahieren.
wartool.exe your_warcraft2_cd_folder extracted_data
Das war's, starten Sie War2.5!