طبعة جديدة غير رسمية مفتوحة المصدر من Warcraft II: Tides of Darkness
هذا المشروع مفتوح المصدر لا ينتم ، أو يرتبط به ، أو معتمد من قبل ، أو بأي حال من الأحوال مرتبط رسميا مع Blizzard Entertainment ، Inc. ، أو أي من الشركات التابعة لها أو الشركات التابعة لها. يمكن العثور على موقع Blizzard Entertainment الرسمي على http://www.blizzard.com.
هذا المشروع هو مهمة مستقلة تمامًا وغير تجارية. ليس مخصصًا للمبيعات أو الربح ، ولا يتم اشتقاق مكاسب نقدية من تشغيلها. هذا المشروع مخصص لأغراض تعليمية وإعلامية فقط.
من المهم أن نلاحظ أنه من أجل استخدام هذا المشروع المفتوح المصدر ، يلزم الإصدار الأصلي من Warcraft 2 . لا يوفر هذا المشروع/المستودع أي أصول لعبة من Warcraft 2.
Warcraft II: تم إصدار Tides of Darkness في أوروبا في عام 1996. كطفل صغير ، وقعت على الفور في حب هذه اللعبة. لقد أمضيت مئات من مئاتنا في اللعب ، وكان لدي معارك لا نهاية لها على شبكة مع عائلتي وأصدقائي. نظرًا لأن Warcraft II كان له تأثير كبير علىي وما زلت في حالة حب مع هذه اللعبة ، فقد قررت إنشاء War2.5 ، وهي طبعة جديدة غير رسمية مفتوحة المصدر من Warcraft II. لديها الأهداف التالية:
بدأت العمل على هذا في عام 2021 كمطور واحد خلال وقت فراغي. الآن في يناير 2024 ، أدركت أن الدعم الإضافي مطلوب والخطوة المنطقية التالية هي إصدار دولة التطوير الحالية على Github.
انظر القسم كيفية البناء
انظر القسم كيفية التشغيل
العب خريطتك المفضلة في أي موسم. اضغط على W ، S ، A ، D لتبديل الموسم أثناء الطيران دون إعادة تحميل/إعادة التشغيل. يمكن رؤية الحد الأدنى في أعلى اليمين.




C ++ هي لغة البرمجة التي بدأت في تعلم البرمجة بها. أردت إنشاء مشروع مفتوح المصدر يستخدم البرمجة الموجهة للكائنات (OOP) في C ++ الحديثة. وهكذا ، يتم استخدام الطبقات والميراث والتشكيل والمفاهيم الإضافية. كان هدفي هو كتابة التعليمات البرمجية التي يمكن صيانتها ومرونة أثناء استخدام ميزات C ++ الحديثة مثل ميزات C ++ 17 و C ++ 20. أنت تعرف Warcraft II وكمبرمج تتوقع كائنات من نوع "Mage"؟ ثم انظر فقط إلى mage.h و mage.cpp. مهتم كيف الفلاحين الذهب؟ فقط افتح compositeStatemining.h وإلقاء نظرة.
تم تصميم اللعبة الحالية باستخدام نهج RTS Lockstep. هذا يعني أن جميع الإجراءات ذات الصلة مثل إنتاج الوحدة أو الحركات تؤدي إلى أحداث يتم تنفيذها في بداية لعبة GameFrame جديدة (= علامة). هذا مهم بشكل خاص عند النظر في مفقود رمز متعدد اللاعبين حتى الآن. الكود الحالي أبعد ما يكون عن الكمال ، لكنني أعتقد أنه يسمح لك بالمساهمة. أنت مساهمة موضع ترحيب للغاية!
انظر القسم كيفية البناء
كما هو مكتوب ، عملت لمدة ثلاث سنوات في زمنتي النادرة ، وحدي تمامًا في هذا المشروع. ومع ذلك ، فإن هذا المشروع لديه حالة تطوير متقدمة للغاية. WAR2.5 على الأقل قابلة للعب قليلاً! تم بالفعل تنفيذ العديد من ميكانيكا اللعبة. ومع ذلك ، لا تزال العديد من المكونات الرئيسية مفقودة ، مثل الرسوم المتحركة المناسبة وإدارة الوقت/الإطار ، الشبكة ، الذكاء الاصطناعي ... فقط بعض الأشياء التي تعمل:
انظر القسم كيفية التشغيل
هذا العمل بالتأكيد لن يكون ممكنا بدون
حسنًا ، هناك الكثير من الأشياء إما مفقودة أو عربات التي تجرها الدواب أو قد يتم تحسينها. هناك أشياء صغيرة يمكن أن تبدأ بها ، على سبيل المثال ، عند النقر المزدوج على وحدة واحدة ، يجب تحديد جميع الوحدات المرئية من نفس النوع. وهناك أشياء كبيرة يمكنك المساهمة ، على سبيل المثال ، تحسين التسوية. بعض الأمثلة الإضافية:
كما ترون ، هناك الكثير من الأماكن للبدء بها. أنت مساهمة موضع ترحيب للغاية!
يسمح وضع التصحيح ، على سبيل المثال ، بفحص البلاط:

الاستكشاف يعمل جزئيا:

المباني لها طوابير إنتاج :

حدد وقيادة العديد من الوحدات كما تريد:

باثفوفنغ باستخدام أستار :


قم بتشغيل موسيقى اللعبة الأصلية (أو إضافة ملفات الصوت الخاصة):

استخدم متصفح PUD لتحميل أي خريطة تريدها:


تم بناء Linux على Ubuntu. ملاحظة: يمكن بناء WAR2.5 وتشغيلها على Ubuntu أيضًا داخل VirtualBox.
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 -j4منتهي
لسوء الحظ ، لا يمكننا ببساطة القيام بتثبيت جميع libs المطلوبة عند استخدام Windows. وبالتالي ، يتعين علينا الحصول على مكتبات الجهات الخارجية التالية بمفردنا. ومع ذلك ، نحن لا نبنيها. نحن ببساطة نستخدم الإصدارات المقدمة.
لجعل الأمور أكثر بساطة ، تم تضمين مجموعة من libs بكامل طاقتها بالفعل في 3rdparty/Win. هذا يعني أن الخطوات التالية غير مطلوبة إلا إذا كنت ترغب في التغيير إلى إصدار LIB آخر.
لا يوجد لدى War2Tools إطلاق مسبقًا. وبالتالي ، يتعين علينا تجميع هذا lib بمفردنا:
قم بتغيير Windows SRC/3RDPARTY/WIN/مسارات إلى المسارات المقابلة لأرقام إصدار LIB الصحيحة.
القيام به ، وتجميع وربط يجب أن تعمل.
نسخ DLLs من مجلدات LIB الخاصة بهم إلى مجلد البناء
لا يحتوي هذا المستودع على أي أصول معربات 2. وبالتالي ، لتشغيل WAR2.5 ، هناك حاجة إلى إصدار Warcraft 2 Battle.net لاستخراج البيانات. يجب أن يبدو مجلد القرص المضغوط هكذا:

كخطوة أولى ، يتعين علينا استخراج الأصول (الأصوات ، الرسومات ، إلخ) من القرص المضغوط. من المؤكد أن هذا العمل لن يكون ممكنًا بدون مستورد Wargus والبرامج النصية لـ Warcraft II التي تستخدم لاستخراج الأصول في البداية من نسخة Warcraft 2 الأصلية.
wartool.exe your_warcraft2_cd_folder extracted_data
هذا كل شيء ، ابدأ الحرب 2.5!