Có vẻ như có hai thách thức bạn đang phải đối mặt ở đây: phân phối và đóng gói tài sản.
Phân phối
Gói toàn bộ ứng dụng của bạn vào các thư mục khi bạn thấy phù hợp, sau đó đặt thư mục cấp cao nhất vào tệp .zip. Phân phối tệp .zip đó. Khi người dùng của bạn giải nén zip, họ sẽ có một thư mục chứa mọi thứ họ cần để sẵn sàng chạy trò chơi.
Làm thế nào để bạn đặt các tập tin của bạn?
- Các dll của bạn thường cần nằm trong cùng thư mục với tệp thực thi (có ngoại lệ, nhưng vì mục đích đơn giản ...)
- Tài sản của bạn (hình ảnh, âm thanh) có thể là bất cứ nơi nào bạn muốn, mặc dù nếu bạn di chuyển chúng theo tham chiếu đến khả năng thực thi của bạn, bạn sẽ phải sửa đổi mã tải tài nguyên của mình để tính đến điều này.
Tôi thường làm một cái gì đó như thế này:
MyGame \ // thư mục cấp cao nhất chứa toàn bộ chương trình
bin \ // dlls đến đây cùng với exe đã biên dịch
res \ // thư mục tài nguyên cấp cao nhất
Âm nhạc\
hiệu ứng âm thanh\
tiếng nói\
cfg \ // tệp cấu hình mặc định (cấu hình người dùng đi trong thư mục người dùng)
MyGame.lnk // phím tắt để biên dịch exe
Bao bì tài sản
Bạn có thể sử dụng một số loại thư viện nén (zlib, lzo) để nén tất cả tài nguyên trò chơi của bạn (thư mục res \ ở trên) vào một tệp. Sau đó, bạn cần sử dụng cùng một thư viện nén để trích xuất nội dung tài nguyên của bạn, trong thời gian thực, để tải tài sản của bạn vào trò chơi của bạn.
Sau đó, điều gì xảy ra khi bạn muốn vá tài sản của bạn? Sau đó, bạn phải: biên dịch toàn bộ tệp tài sản mới và phân phối tệp đó cho người dùng của bạn (vì vậy về cơ bản họ đang tải xuống lại những gì họ đã có, cộng với một số bổ sung) hoặc bạn phải xây dựng trình cập nhật (một chương trình khác để duy trì ) và đối phó với thực tế là mọi thứ có thể sai và tệp tài sản của bạn sẽ bị hỏng ...
Thành thật mà nói, nó không chính xác tầm thường để làm cho công việc đó và tôi không thấy sự đền đáp trong tình huống của bạn. Một thư mục đơn giản là đủ để đóng gói 10 họa tiết của bạn và việc thêm và vá mọi thứ dễ dàng hơn nhiều: chỉ cần tải chúng vào đúng thư mục và thực hiện.
Xây dựng trình cài đặt
Điều này giả sử bạn đang nhắm mục tiêu Windows ... một khi bạn có những điều trên, bạn có thể xây dựng trình cài đặt cho trò chơi của mình. Tôi sẽ tránh bằng mọi giá các phương thức ClickOnce mà Visual Studio hỗ trợ. Đây không phải là trình cài đặt Windows điển hình của bạn và đi kèm với bộ quirks của riêng nó.
Hãy xem câu hỏi StackOverflow này - nó chứa một tập hợp các liên kết hữu ích đến các gói trình cài đặt mà bạn có thể sử dụng. Rất nhiều người ngày nay dường như thích WiX . Tôi chưa bao giờ sử dụng nó. Ngoài ra, AdvancedInstaller và InnoSetup đều là những lựa chọn phổ biến.