Sembra che ci siano due sfide che stai affrontando qui: distribuzione e packaging delle risorse.
Distribuzione
Raggruppa l'intera applicazione in directory come ritieni opportuno, quindi posiziona la directory di livello superiore in un file .zip. Distribuire quel file .zip. Quando i tuoi utenti estraggono lo zip, avranno una cartella con tutto ciò di cui hanno bisogno pronti per eseguire il gioco.
Come si posizionano i file?
- I tuoi .dll di solito devono essere nella stessa directory dell'eseguibile (ci sono eccezioni, ma per semplicità ...)
- I tuoi asset (immagini, audio) possono essere ovunque tu li voglia, anche se se li sposti in riferimento al tuo eseguibile dovrai modificare il tuo codice di caricamento delle risorse per tenerne conto.
Di solito faccio qualcosa del genere:
MyGame \ // directory di livello superiore contiene l'intero programma
bin \ // dlls va qui insieme all'esempio compilato
res \ // directory di livello superiore delle risorse di gioco
musica\
effetti sonori\
voce\
cfg \ // file di configurazione predefiniti (le configurazioni dell'utente vanno nella directory dell'utente)
MyGame.lnk // scorciatoia per exe compilato
Imballaggio patrimoniale
Puoi usare una sorta di libreria di compressione (zlib, lzo) per comprimere tutte le tue risorse di gioco (la directory res \ sopra) in un singolo file. Quindi è necessario utilizzare la stessa libreria di compressione per estrarre i contenuti delle risorse, in tempo reale, per caricare le risorse nel gioco.
Quindi cosa succede quando vuoi patchare le tue risorse? Quindi devi: compilare un file di risorse completamente nuovo e distribuirlo ai tuoi utenti (quindi essenzialmente stanno riscaricando ciò che già hanno, oltre alla manciata di aggiunte), oppure devi creare un programma di aggiornamento (un altro programma da mantenere ) e gestire il fatto che le cose potrebbero andare storte e il file delle risorse verrà danneggiato ...
Onestamente, non è esattamente banale farlo funzionare e non vedo il risultato nella tua situazione. Una semplice directory dovrebbe essere sufficiente per incapsulare i tuoi 10 sprite ed è molto più facile aggiungere e patchare le cose: basta scaricarle nella directory giusta e il gioco è fatto.
Costruire un installatore
Questo presuppone che tu stia prendendo di mira Windows ... una volta che hai giù sopra, puoi lavorare sulla costruzione di un programma di installazione per il tuo gioco. Eviterei a tutti i costi i metodi ClickOnce supportati da Visual Studio. E ' non è il vostro installatore tipico di Windows e viene fornito con un set di stranezze è di.
Dai un'occhiata a questa domanda StackOverflow : contiene una serie di collegamenti utili ai pacchetti di installazione che puoi usare. Molte persone in questi giorni sembrano apprezzare il WiX . Non l'ho mai usato da solo. Inoltre, AdvancedInstaller e InnoSetup sono entrambe scelte popolari.