Wygląda na to, że stoją przed nami dwa wyzwania: dystrybucja i pakowanie zasobów.
Dystrybucja
Spakuj całą aplikację do katalogów według własnego uznania, a następnie umieść katalog najwyższego poziomu w pliku .zip. Rozpowszechnij ten plik .zip. Gdy użytkownicy rozpakują zip, będą mieli folder ze wszystkim, czego potrzebują, gotowi do uruchomienia gry.
Jak umieszczasz swoje pliki?
- Pliki .dll zwykle muszą znajdować się w tym samym katalogu co plik wykonywalny (są wyjątki, ale dla uproszczenia ...)
- Twoje zasoby (obrazy, audio) mogą być wszędzie tam, gdzie chcesz, ale jeśli przeniesiesz je w odniesieniu do pliku wykonywalnego, będziesz musiał zmodyfikować kod ładujący zasoby, aby to uwzględnić.
Zwykle robię coś takiego:
Katalog MyGame \ // najwyższego poziomu zawiera cały program
bin \ // dlls idź tutaj wraz ze skompilowanym exe
res \ // katalog najwyższego poziomu zasobów gry
muzyka\
efekty dźwiękowe\
głos\
cfg \ // domyślne pliki konfiguracyjne (user-configs przejdź do katalogu użytkownika)
MyGame.lnk // skrót do skompilowanego pliku exe
Pakowanie aktywów
Możesz użyć pewnego rodzaju biblioteki kompresji (zlib, lzo), aby skompresować wszystkie zasoby gry (powyższy katalog res \) do jednego pliku. Następnie musisz użyć tej samej biblioteki kompresji, aby wyodrębnić zawartość zasobów w czasie rzeczywistym, aby załadować zasoby do gry.
Co się wtedy stanie, gdy chcesz załatać swoje aktywa? Następnie musisz albo: skompilować zupełnie nowy plik zasobów i rozesłać go użytkownikom (aby w gruncie rzeczy ponownie pobierali to, co już mają, plus garść dodatków), albo musisz zbudować aktualizator (inny program do obsługi ) i poradzić sobie z tym, że coś może pójść nie tak, a plik aktywów zostanie uszkodzony ...
Szczerze mówiąc, nie jest to wcale trywialne, aby działało i nie widzę korzyści w twojej sytuacji. Prosty katalog powinien wystarczyć do enkapsulacji 10 duszków i dużo łatwiej jest dodawać i łatać rzeczy: wystarczy pobrać je do odpowiedniego katalogu i gotowe.
Budowanie instalatora
Zakłada się, że celujesz w system Windows ... kiedy już będziesz mieć powyższą wersję, możesz pracować nad zbudowaniem instalatora dla swojej gry. Za wszelką cenę unikałbym metod ClickOnce obsługiwanych przez Visual Studio. To nie jest typowy instalator systemu Windows i ma własny zestaw dziwactw.
Spójrz na to pytanie StackOverflow - zawiera zestaw pomocnych łączy do pakietów instalatora, których możesz użyć. Obecnie wiele osób lubi WiX . Nigdy sam tego nie użyłem. Ponadto popularne są zarówno AdvancedInstaller, jak i InnoSetup .