Схоже, що перед вами стоять два виклики: розподіл та упаковка активів.
Поширення
Упакуйте всю свою програму в каталоги, як вважаєте за потрібне, а потім помістіть каталог верхнього рівня у .zip файл. Розподіліть цей .zip файл. Коли ваші користувачі витягуватимуть поштовий індекс, вони матимуть папку з усім необхідним для запуску гри.
Як розмістити свої файли?
- Ваші .dlls зазвичай мають бути в тій самій каталозі, що і виконуваний файл (є винятки, але заради простоти ...)
- Ваші активи (зображення, аудіо) можуть знаходитись там, де ви хочете їх, хоча якщо ви перемістите їх посиланням на ваш виконуваний файл, вам доведеться змінити код завантаження ресурсів, щоб врахувати це.
Я зазвичай роблю щось подібне:
MyGame \ // Каталог верхнього рівня містить всю програму
bin \ // dlls йдуть сюди разом із зібраним exe
res \ // Каталог ресурсів ігор верхнього рівня
музика \
звукові ефекти\
голос \
cfg \ // файли конфігурації за замовчуванням (користувацькі конфігурації переходять у каталог користувачів)
MyGame.lnk // ярлик до складеного exe
Упаковка активів
Ви можете використовувати якусь бібліотеку стиснення (zlib, lzo) для стиснення всіх своїх ігрових ресурсів (вищевказаний каталог res \) в один файл. Тоді вам потрібно використовувати ту саму бібліотеку стиснення, щоб витягувати вміст своїх ресурсів у режимі реального часу, щоб завантажити свої активи у свою гру.
Тоді, що відбувається, коли ви хочете виправити свої активи? Тоді вам доведеться або: скласти цілий новий файл активів і розподілити його своїм користувачам (таким чином вони по суті перезавантажують те, що вони вже є, плюс жменю доповнень), або вам потрібно створити оновлення (іншу програму для підтримки ) і вирішуйте, що все може піти не так, і ваш файл активів буде пошкоджений ...
Чесно кажучи, не так тривіально, щоб зробити цю роботу, і я не бачу окупності у вашій ситуації. Простий каталог повинен бути достатнім для інкапсуляції ваших 10 спрайтів, і це набагато простіше додавати і виправляти речі: просто потрібно завантажити їх у потрібний каталог і зробити.
Створення інсталятора
Це якщо припустити, що ви орієнтовані на Windows ... як тільки ви перейдете вище, ви можете працювати над створенням інсталятора для вашої гри. Я б за всяку ціну уникав методів ClickOnce, які підтримує Visual Studio. Це не ваш типовий інсталятор Windows, і він має власний набір химерностей.
Погляньте на це питання StackOverflow - він містить набір корисних посилань на пакети встановлення, які ви можете використовувати. Багатьом людям сьогодні подобається WiX . Я ніколи не використовував його сам. Крім того, AdvancedInstaller та InnoSetup - обидва популярні варіанти.