Il semble que vous soyez confronté à deux défis: la distribution et le conditionnement des actifs.
Distribution
Emballez votre application entière dans des répertoires comme bon vous semble, puis placez le répertoire de niveau supérieur dans un fichier .zip. Distribuez ce fichier .zip. Lorsque vos utilisateurs extraient le zip, ils auront un dossier avec tout ce dont ils ont besoin prêt à exécuter le jeu.
Comment placez-vous vos fichiers?
- Vos fichiers .dll doivent généralement se trouver dans le même répertoire que l'exécutable (il y a des exceptions, mais pour des raisons de simplicité ...)
- Vos ressources (images, audio) peuvent être où vous le souhaitez, mais si vous les déplacez en référence à votre exécutable, vous devrez modifier votre code de chargement des ressources pour en tenir compte.
Je fais habituellement quelque chose comme ça:
Le répertoire MyGame \ // de niveau supérieur contient l'intégralité du programme
bin \ // dlls aller ici avec l'exe compilé
res \ // répertoire des ressources de jeu de niveau supérieur
la musique\
effets sonores\
voix\
cfg \ // fichiers de configuration par défaut (les configurations utilisateur vont dans le répertoire utilisateur)
MyGame.lnk // raccourci vers exe compilé
Conditionnement des actifs
Vous pouvez utiliser une sorte de bibliothèque de compression (zlib, lzo) pour compresser toutes vos ressources de jeu (le répertoire res \ ci-dessus) dans un seul fichier. Ensuite, vous devez utiliser la même bibliothèque de compression pour extraire le contenu de vos ressources, en temps réel, afin de charger vos ressources dans votre jeu.
Que se passe-t-il alors lorsque vous souhaitez patcher vos actifs? Ensuite, vous devez soit: compiler un tout nouveau fichier d'actifs et le distribuer à vos utilisateurs (afin qu'ils téléchargent essentiellement ce qu'ils ont déjà, plus la poignée d'ajouts), ou vous devez créer un programme de mise à jour (un autre programme à maintenir ) et gérer le fait que les choses peuvent mal tourner et que votre fichier d'actif sera corrompu ...
Honnêtement, ce n'est pas vraiment trivial de faire fonctionner ça et je ne vois pas le résultat dans votre situation. Un simple répertoire devrait suffire pour encapsuler vos 10 sprites et il est beaucoup plus facile d'ajouter et de patcher des choses: il suffit de les télécharger dans le bon répertoire et c'est fait.
Construire un installateur
Cela suppose que vous ciblez Windows ... une fois que vous avez ci-dessus, vous pouvez travailler à la création d'un programme d'installation pour votre jeu. J'éviterais à tout prix les méthodes ClickOnce prises en charge par Visual Studio. Ce n'est pas votre programme d'installation Windows typique et est livré avec son propre ensemble de bizarreries.
Jetez un œil à cette question sur StackOverflow - elle contient un ensemble de liens utiles vers les packages d'installation que vous pouvez utiliser. De nos jours, beaucoup de gens semblent aimer WiX . Je ne l'ai jamais utilisé moi-même. De plus, AdvancedInstaller et InnoSetup sont tous deux des choix populaires.