여기서 직면하고있는 두 가지 과제는 배포 및 자산 패키징입니다.
분포
전체 응용 프로그램을 원하는대로 디렉토리에 패키지 한 다음 최상위 디렉토리를 .zip 파일에 배치하십시오. 해당 .zip 파일을 배포하십시오. 사용자가 zip을 추출하면 게임 실행에 필요한 모든 것을 갖춘 폴더가 생깁니다.
파일을 어떻게 배치합니까?
- 귀하의 .dll은 일반적으로 실행 파일과 동일한 디렉토리에 있어야합니다 (예외는 있지만 단순성을 위해 ...)
- 자산 (이미지, 오디오)은 원하는 위치에있을 수 있지만 실행 파일과 관련하여 이동하는 경우이를 고려하기 위해 리소스로드 코드를 수정해야합니다.
나는 보통 이런 식으로합니다 :
MyGame \ // 최상위 디렉토리에 전체 프로그램이 있습니다.
bin \ // dll은 컴파일 된 exe와 함께 여기로 이동합니다.
res \ // 게임 리소스 최상위 디렉토리
음악\
음향 효과\
목소리\
cfg \ // 기본 구성 파일 (user-configs는 사용자 디렉토리로 이동)
MyGame.lnk // 컴파일 된 exe에 대한 지름길
자산 포장
일종의 압축 라이브러리 (zlib, lzo)를 사용하여 모든 게임 리소스 (위의 res \ 디렉토리)를 단일 파일로 압축 할 수 있습니다. 그런 다음 자산을 게임에로드하려면 동일한 압축 라이브러리를 사용하여 리소스의 내용을 실시간으로 추출해야합니다.
그러면 자산을 패치하려고 할 때 어떻게됩니까? 그런 다음 완전히 새로운 자산 파일을 컴파일하여이를 사용자에게 배포해야합니다 (따라서 기본적으로 이미 가지고있는 것을 다시 다운로드하고 소수의 추가 기능을 추가해야 함). ) 문제가 발생하여 자산 파일이 손상 될 수 있다는 사실을 처리합니다.
솔직히, 그 일을하는 것이 사소한 것은 아니며 귀하의 상황에서 보상을 보지 못합니다. 간단한 디렉토리는 10 개의 스프라이트를 캡슐화하기에 충분해야하며 항목을 추가하고 패치하는 것이 훨씬 쉽습니다. 올바른 디렉토리에 다운로드하고 완료하면됩니다.
설치 프로그램 빌드
이것은 당신이 Windows를 목표로하고 있다고 가정합니다 ... 위의 내용을 일단 알고 나면 게임 설치 프로그램을 작성할 수 있습니다. Visual Studio가 지원하는 ClickOnce 메서드는 모든 비용을 피할 수 있습니다. 일반적인 Windows 설치 프로그램 이 아니며 고유 한 단점이 있습니다.
이 StackOverflow 질문을 살펴보십시오 . 사용할 수있는 설치 프로그램 패키지에 대한 유용한 링크가 포함되어 있습니다. 요즘 많은 사람들이 WiX 를 좋아하는 것 같습니다 . 나는 그것을 직접 사용한 적이 없다. 또한 AdvancedInstaller 와 InnoSetup 은 모두 인기있는 선택입니다.