Remake open source yang tidak resmi dari Warcraft II: Tides of Darkness
Proyek open source ini tidak berafiliasi, terkait, didukung oleh, atau dengan cara apa pun secara resmi terhubung dengan Blizzard Entertainment, Inc., atau anak perusahaannya atau afiliasinya. Situs web resmi Blizzard Entertainment dapat ditemukan di http://www.blizzard.com.
Proyek ini adalah usaha yang sepenuhnya independen dan non-komersial. Ini tidak dimaksudkan untuk penjualan atau laba, dan tidak ada keuntungan moneter yang berasal dari operasinya. Proyek ini dimaksudkan untuk tujuan pendidikan dan informasi saja.
Penting untuk dicatat bahwa untuk menggunakan proyek open source ini, diperlukan versi asli Warcraft 2 . Proyek/repositori ini tidak menyediakan aset game dari Warcraft 2.
Warcraft II: Tides of Darkness dirilis di Eropa pada tahun 1996. Sebagai anak kecil, saya langsung jatuh cinta dengan game ini. Saya menghabiskan ratusan kami memainkannya, saya memiliki pertempuran jaringan tanpa akhir dengan keluarga dan teman -teman saya. Karena Warcraft II memiliki pengaruh besar pada saya dan saya masih jatuh cinta dengan game ini, saya memutuskan untuk membuat War2.5, yang merupakan remake open source yang tidak resmi dari Warcraft II. Itu memiliki tujuan berikut:
Saya mulai mengerjakan ini pada tahun 2021 sebagai pengembang tunggal selama waktu luang saya. Sekarang pada bulan Januari 2024 saya menyadari bahwa dukungan tambahan diperlukan dan langkah logis berikutnya adalah merilis publik pembangunan saat ini di GitHub.
Lihat bagian Cara Membangun
Lihat bagian Cara Menjalankan
Mainkan peta favorit Anda di musim apa pun. Tekan W, S, A, D untuk mengganti musim dengan cepat tanpa memuat ulang/memulai ulang. Minimap dapat dilihat di kanan atas.




C ++ adalah bahasa pemrograman yang saya mulai belajar pemrograman. Saya ingin membuat proyek open source yang menggunakan pemrograman berorientasi objek (OOP) di C ++ modern. Dengan demikian, kelas, warisan, polimorfisme dan konsep lebih lanjut digunakan. Tujuan saya adalah menulis kode yang dapat dipertahankan dan fleksibel saat menggunakan fitur C ++ modern seperti C ++ 17 dan C ++ 20. Anda tahu Warcraft II dan sebagai programmer Anda mengharapkan objek tipe "Mage"? Kemudian lihat saja ke Mage.h dan mage.cpp. Tertarik pada bagaimana petani menambang emas? Cukup buka compositestateMining.h dan lihatlah.
Gim saat ini dirancang menggunakan pendekatan RTS Lockstep. Ini berarti, semua tindakan yang relevan seperti produksi unit atau gerakan menghasilkan peristiwa yang dieksekusi pada awal permainan baru (= centang). Ini sangat penting ketika mempertimbangkan kode multipemain yang hilang. Kode saat ini jauh dari sempurna, tetapi saya pikir itu memungkinkan Anda untuk berkontribusi. Kontribusi Anda sangat disambut!
Lihat bagian Cara Membangun
Seperti yang tertulis, saya bekerja selama tiga tahun di FreeTime langka saya, sepenuhnya sendirian di proyek ini. Meskipun demikian, proyek ini memiliki keadaan pengembangan yang cukup maju. War2.5 setidaknya bisa dimainkan! Banyak mekanika game telah diimplementasikan. Namun, beberapa komponen utama masih hilang, seperti animasi yang tepat dan manajemen waktu/bingkai, jaringan, AI ... hanya beberapa hal yang berhasil:
Lihat bagian Cara Menjalankan
Pekerjaan ini pasti tidak mungkin tanpa
Oh well, banyak hal yang hilang, buggy atau mungkin dioptimalkan. Ada hal -hal kecil yang bisa Anda mulai, misalnya, saat mengklik dua kali unit semua unit yang terlihat dari jenis yang sama harus dipilih. Dan ada hal -hal besar yang bisa Anda kontribusikan, misalnya, mengoptimalkan pathfinding. Beberapa contoh lagi:
Seperti yang Anda lihat, ada banyak tempat untuk memulai. Kontribusi Anda sangat disambut!
Mode debug memungkinkan, misalnya, memeriksa ubin:

Eksplorasi sebagian berfungsi:

Bangunan memiliki antrian produksi :

Pilih dan Perintah sebanyak unit yang Anda sukai:

Pathfinding Menggunakan Astar :


Mainkan musik game asli (atau tambahkan file suara sendiri):

Gunakan browser PUD untuk memuat peta apa pun yang Anda inginkan:


Bangunan di Linux telah dilakukan di Ubuntu. Catatan: War2.5 dapat dibangun & dijalankan di Ubuntu juga di dalam 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 -j4SELESAI
Sayangnya, kami tidak bisa begitu saja melakukan sudo apt-get menginstal semua lib yang diperlukan saat menggunakan windows. Oleh karena itu, kita harus mendapatkan perpustakaan pihak ketiga berikut sendiri. Namun, kami tidak membangunnya; Kami cukup menggunakan rilis yang disediakan.
Untuk membuat segalanya menjadi lebih sederhana, serangkaian LIBS yang berfungsi penuh sudah termasuk dalam 3rdparty/Win. Ini berarti langkah -langkah berikut tidak diperlukan kecuali Anda ingin berubah ke versi LIB lain.
War2Tools tidak memiliki rilis yang telah dikompilasi sebelumnya. Dengan demikian, kita harus mengkompilasi lib ini sendiri:
Ubah Windows SRC/3RDParty/Win/Paths ke jalur yang sesuai dengan nomor versi LIB yang benar.
Selesai , menyusun dan menghubungkan harus berfungsi.
Salin DLL dari folder lib masing -masing ke folder build
Repositori ini tidak mengandung aset Warcraft 2. Oleh karena itu, untuk menjalankan War2.5, edisi Warcraft 2 Battle.net diperlukan untuk ekstraksi data. Folder CD Anda akan terlihat seperti ini:

Sebagai langkah pertama, kita harus mengekstrak aset (suara, grafik, dll.) Dari CD. Pekerjaan ini pasti tidak akan dimungkinkan tanpa importir Wargus dan skrip untuk Warcraft II yang digunakan untuk mengekstraksi aset dari salinan Warcraft 2 asli Anda.
wartool.exe your_warcraft2_cd_folder extracted_data
Itu saja, mulai War2.5!