Warcraft II : 어둠의 조수의 불일치 오픈 소스 리메이크
이 오픈 소스 프로젝트는 Blizzard Entertainment, Inc. 또는 자회사 또는 계열사와 공식적으로 연결되어 있지 않거나 공식적으로 연결되어 있지 않습니다. 공식 블리자드 엔터테인먼트 웹 사이트는 http://www.blizzard.com에서 찾을 수 있습니다.
이 프로젝트는 완전히 독립적이고 비상업적 인 사업입니다. 그것은 판매 또는 이익을위한 것이 아니며, 운영에서 금전적 이익은 도출되지 않습니다. 이 프로젝트는 교육 및 정보 제공 목적 으로 만 사용됩니다.
이 오픈 소스 프로젝트를 사용하려면 Warcraft 2의 원본 버전이 필요하다는 점에 유의해야합니다. 이 프로젝트/저장소는 Warcraft 2의 게임 자산을 제공하지 않습니다.
Warcraft II : Tides of Darkness는 1996 년 유럽에서 풀려났습니다. 작은 아이로서 나는이 게임에 즉시 사랑에 빠졌습니다. 나는 수백 명의 우리를 연주하는 데 보냈다. 나는 가족과 친구들과 끝없는 네트워크 전투를했다. Warcraft II가 나에게 큰 영향을 미쳤고 나는 여전히이 게임에 사랑에 빠졌기 때문에 Warcraft II의 오픈 소스 리메이크 인 War2.5를 만들기로 결정했습니다. 다음과 같은 목표가 있습니다.
나는 여가 시간 동안 2021 년에 단일 개발자로 일하기 시작했습니다. 이제 2024 년 1 월에 추가 지원이 필요하다는 것을 깨달았으며 다음 논리적 단계는 Github에서 현재 개발 상태를 공개하는 것입니다.
구축 방법을 참조하십시오
실행 방법 섹션을 참조하십시오
모든 계절에 좋아하는지도를 재생하십시오. W, S, A, D를 누르면 다시로드/재시작하지 않고 시즌을 즉시 전환합니다. 최소값은 오른쪽 상단에서 볼 수 있습니다.




C ++는 프로그래밍을 배우기 시작한 프로그래밍 언어입니다. 현대식 C ++에서 객체 지향 프로그래밍 (OOP)을 사용하는 오픈 소스 프로젝트를 만들고 싶었습니다. 따라서 클래스, 상속, 다형성 및 추가 개념이 사용됩니다. 저의 목표는 C ++ 17 및 C ++ 20 기능과 같은 최신 C ++를 사용하는 동안 유지 관리 가능하고 유연한 코드를 작성하는 것이 었습니다. 당신은 Warcraft II를 알고 있으며 프로그래머로서 "Mage"유형의 대상을 기대하십니까? 그런 다음 Mage.h와 Mage.cpp를 살펴보십시오. 농민들이 금을 어떻게 내 금을 채굴하는지에 관심이 있습니까? compositestatemining.h를 열고 살펴보십시오.
현재 게임은 RTS Lockstep 접근법을 사용하여 설계되었습니다. 이는 단위 생산 또는 움직임과 같은 모든 관련 조치가 새로운 게임 프레임 (= Tick)의 시작 부분에서 실행되는 이벤트를 초래한다는 것을 의미합니다. 지금까지 멀티 플레이어 코드가 누락 된 것을 고려할 때 특히 중요합니다. 현재 코드는 완벽하지는 않지만 기여할 수 있다고 생각합니다. 당신은 기부금이 매우 환영받습니다!
구축 방법을 참조하십시오
서면으로, 나는이 프로젝트에서 완전히 혼자서 희귀 한 금리에서 3 년 동안 일했습니다. 그럼에도 불구 하고이 프로젝트에는 상당히 진보 된 개발 상태가 있습니다. War2.5는 적어도 약간 재생 가능합니다! 많은 게임 메커니즘이 이미 구현되었습니다. 그러나 적절한 애니메이션 및 시간/프레임 관리, 네트워크, AI와 같은 몇 가지 주요 구성 요소가 여전히 누락되었습니다.
실행 방법 섹션을 참조하십시오
이 작업은 분명히 없으면 불가능했을 것입니다
글쎄, 많은 것들이 빠졌거나 버그가 많거나 최적화 될 수 있습니다. 예를 들어, 같은 유형의 모든 가시 단위를 두 번 클릭하면 시작할 수있는 작은 것들이 있습니다. 그리고 당신이 기여할 수있는 큰 것들이 있습니다 (예 : 길 찾기 최적화). 몇 가지 예 :
보시다시피, 시작할 곳이 많이 있습니다. 당신은 기부금이 매우 환영받습니다!
디버그 모드는 예를 들어 타일 검사를 허용합니다.

탐사는 부분적으로 작동합니다.

건물 에는 생산 대기열이 있습니다 .

원하는만큼 많은 단위를 선택하고 명령하십시오.

Astar를 사용한 경로 변환 :


오리지널 게임 음악을 재생하거나 (또는 자체 사운드 파일 추가) :

PUD 브라우저를 사용하여 원하는 맵을로드하십시오.


우분투에서 리눅스를 구축했습니다. 참고 : WAR2.5는 VirtualBox 내부의 Ubuntu에서 구축 및 실행할 수 있습니다.
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완료
불행히도, 우리는 Windows를 사용할 때 필요한 모든 Libs를 Sudo Apt-Get을 설치할 수는 없습니다. 따라서, 우리는 다음과 같은 타사 도서관을 스스로 받아야합니다. 그러나 우리는 그것들을 구축하지 않습니다. 우리는 단순히 제공된 릴리스를 사용합니다.
물건을 더욱 단순하게 만들기 위해 완전히 기능적인 Libs 세트가 이미 3rdparty/Win에 포함되어 있습니다. 이는 다른 LIB 버전으로 변경하지 않는 한 다음 단계가 필요하지 않음을 의미합니다.
War2Tools는 사전 컴파일 된 릴리스가 없습니다. 따라서 우리는이 lib를 스스로 컴파일해야합니다.
Windows SRC/3RDPARTY/WIN/PATHS를 올바른 LIB 버전 번호에 해당하는 경로로 변경하십시오.
완료 , 컴파일 및 연결이 작동해야합니다.
해당 LIB 폴더에서 DLL을 빌드 폴더로 복사하십시오.
이 저장소에는 Warcraft 2 자산이 포함되어 있지 않습니다. 따라서 War2.5를 실행하려면 데이터 추출을 위해서는 Warcraft 2 Battle.net 에디션이 필요합니다. CD 폴더는 다음과 같습니다.

첫 번째 단계로, 우리는 CD에서 자산 (사운드, 그래픽 등)을 추출해야합니다. 이 작업은 Wargus 수입업자와 Warcraft II의 스크립트 없이는 원래 Warcraft 2 사본에서 자산을 추출하는 데 사용되는 Warcraft II의 스크립트 없이는 확실히 불가능할 것입니다.
wartool.exe your_warcraft2_cd_folder extracted_data
그게 다야, War2.5 시작!