Có phải là không chuyên nghiệp khi để tài nguyên trò chơi để mở mắt?


43

Tôi vẫn gặp sự cố khi đóng gói tài nguyên của mình, sau khi trải qua các API phức tạp và về cơ bản chỉ là các tệp zip đang làm cạn kiệt bộ não của tôi, tôi nghĩ rằng tôi cũng có thể đóng gói trò chơi với các tài nguyên hiển thị trong mắt người, trong một thư mục đơn giản.

Điều đó sẽ không chuyên nghiệp? Cá nhân tôi chưa bao giờ thấy các trò chơi làm điều đó, về cơ bản điều đó có nghĩa là người chơi có thể chỉnh sửa bất cứ thứ gì anh ta muốn trong trò chơi, như vào map1.txt và thêm X ở đâu đó để tạo một bức tường hoặc thay đổi sprite của người chơi đến một con ngựa trong MS PAINT.


30
Chỉ cần nghĩ về nó như một cộng đồng modding :)
Orin MacGregor

1
Bạn có phải là nhà phát triển game chuyên nghiệp với ngân sách? Tôi nghĩ sẽ ổn trong trường hợp bạn không có kế hoạch kiếm nhiều tiền từ trò chơi này. Tôi có một số lời khuyên mặc dù. Nếu điều đó làm bạn cảm thấy tốt hơn, tôi đã sử dụng để chỉnh sửa các tệp lưu trong X-COM / UFO Defense
sói vào

6
@ArthurWulfWhite: Tôi nghĩ thay vì kiếm tiền hay không, điểm phân tách là ý nghĩa của tài nguyên được điều chỉnh đối với trò chơi. Đối với MMORPG, tài nguyên / ứng dụng khách được điều chỉnh có thể mang lại lợi thế không công bằng cho một số người chơi nhất định, do đó bạn muốn ngăn chặn điều đó càng nhiều càng tốt. Đối với nhiều trò chơi khác, ứng dụng khách thân thiện với chế độ làm cho nó trở nên hấp dẫn đối với cộng đồng mod để phát triển xung quanh trò chơi của bạn và thường được coi là một điều tốt.
Lie Ryan

1
Khía cạnh mod trong Quake (1) được xử lý rất tốt, không để lộ các mô hình và tệp bsp cho game thủ thông thường. Tôi không nghĩ thật tệ khi che giấu mọi thứ trong khi vẫn giữ chúng dễ dàng truy cập. Tôi thích thực tế là tôi có thể chỉnh sửa các tệp lưu trong X-COM, tôi thấy đó là một tính năng. Tuy nhiên, sẽ thật ngớ ngẩn nếu có một tệp văn bản có tên money.txt nơi tôi có thể nhập số tiền tôi muốn bắt đầu với lý do nó làm mờ ranh giới giữa hộp cát và trò chơi.
sói

2
Tôi thích cách Introversion : Đặt các tệp trong các tệp zip được đổi tên, ví dụ sound.dat. Sử dụng các thư mục không nén với vài trăm tệp khiến việc cài đặt (de) khá khó chịu.
Tobias Kienzler

Câu trả lời:


44

Không, không, thay đổi dữ liệu trò chơi được gọi là modding, đây là một cách làm phổ biến và thường được xem là hiệu ứng tích cực. Thật tốt khi giữ dữ liệu trò chơi càng minh bạch càng tốt và chỉnh sửa dữ liệu càng rắc rối càng tốt. Thậm chí nhiều hơn nếu bạn chọn những người chơi "cao cấp" hơn làm đối tượng mục tiêu của mình.

Lý do tại sao bạn sẽ không tìm thấy nhiều trò chơi AAA sử dụng cấu trúc thư mục đơn giản cho dữ liệu của họ là vì họ sử dụng các định dạng lưu trữ được tối ưu hóa tùy chỉnh để cải thiện thời gian tải. Nhược điểm là giảm tính minh bạch và các công cụ cần thiết bổ sung trong chuỗi công cụ. Tuy nhiên, đối với các trò chơi nhỏ hơn hoặc 2D, hai trò chơi này thường có giá trị hơn thời gian tải được cải thiện.

Chỉ cần đảm bảo rằng những gì mọi người nhìn thấy không chỉ là một mớ hỗn độn lớn :) đặt các tệp vào một cấu trúc thư mục phù hợp.


Mọi thứ cũng được đóng gói để trở thành một hình thức ngăn chặn ăn cắp (mặc dù cuối cùng không hiệu quả nếu bị đẩy)
CobaltHex

15

Ngoài các câu trả lời khác, hai mối quan tâm quan trọng bạn nên xem xét:

Làm hỏng những bất ngờ
Nói rằng tôi đang chơi nửa chừng và khám phá thư mục "video". Tò mò, tôi bấm vào một cái, và tình cờ thấy đoạn phim cắt cảnh cuối cùng của trò chơi.

Mất thử thách
Kịch bản tương tự, nhưng tôi thấy định dạng trò chơi đã lưu có giá trị "vàng". Tôi thay đổi nó từ 250 thành 999999999, và nó hoạt động. Đột nhiên đường cong khó khăn được chế tạo cẩn thận của bạn, tối đa hóa niềm vui của trò chơi, đã biến mất.

Cả hai có thể khiến ai đó mất hứng thú với trò chơi, một phần nếu không hoàn toàn. Điều này có thể kết thúc trong một ấn tượng tổng thể thấp hơn về mức độ tốt của trò chơi (không công bằng nhưng đúng).

Hãy suy nghĩ về những điều này theo đối tượng mục tiêu của bạn - những người chơi trẻ hơn đặc biệt dễ bị làm hỏng niềm vui của chính họ mà không thực sự hiểu rằng đây là những gì họ đang làm.

Ngay cả khi bạn muốn khuyến khích mod, bạn vẫn có thể muốn bảo vệ người dùng khỏi hủy hoại trải nghiệm của chính họ với trò chơi "một cách tình cờ".


4
Hoàn toàn chính xác. Sẽ không hại gì nếu bạn cần trải qua một vài rào cản trước khi bạn có thể sửa đổi trò chơi. +1 cho kịch bản video
sói

14

Có lẽ không chuyên nghiệp là từ sai. Nó thực sự phụ thuộc vào trò chơi cho dù các tập tin bị lộ có hay không là một điều xấu.

Đối với một game đơn giản, người chơi và modder sẽ yêu bạn. Bạn sẽ cho họ khả năng dễ dàng thay đổi trò chơi của bạn và làm những gì họ muốn. Và hãy nhớ, sẽ luôn có các modder cho một trò chơi, bất kể trò chơi đó nhỏ như thế nào. Nhiều game thủ sẽ cảm thấy nhẹ nhõm nếu việc mod rất khó khăn, sau tất cả, họ đã mua trò chơi của bạn và họ sẽ có thể làm bất cứ điều gì họ muốn trong đó.

Mặt khác, dễ dàng chỉnh sửa tài sản trò chơi là không tốt cho một trò chơi nhiều người chơi, vì nó được coi là gian lận. Người chơi độc hại có thể thay thế nội dung để khiến kẻ thù đáng chú ý hơn, tường minh, v.v. Mặc dù mã trò chơi của bạn nên thực sự thực thi rằng tài sản chưa bị giả mạo, phương pháp "gói tài sản" có lợi ích giúp ngăn chặn hoạt động này (bảo mật thông qua tối nghĩa).


1
Nếu bạn đủ tốt để vượt qua bài kiểm tra tổng kiểm tra, bạn cũng đủ tốt để gây rối với các tài sản được đóng gói. Tôi không nghĩ bao bì là an toàn hơn.
mmyer

11

Có một sửa chữa dễ dàng cho nó .. Bạn có thể chỉ cần đổi tên hàng loạt các phần mở rộng trong một dấu nhắc lệnh bằng cách sử dụng một cái gì đó như

rename *.txt *.map

Và sau đó đặt chúng vào thư mục \ map

Bạn có thể truy cập một dấu nhắc lệnh từ các cửa sổ đang chạy cmd

Điều này sẽ không ngăn các modder biết họ muốn sửa đổi trò chơi và sẽ để lại ấn tượng ít cẩu thả hơn cho những người chỉ muốn chơi trò chơi mà không có tất cả nội dung treo xung quanh.

Vâng, nó vẫn sẽ có thể chỉnh sửa .. Mọi người sẽ ít có khả năng nhận thấy nó.

Để trả lời bình luận của Eric Robertson

Nếu bạn muốn ẩn chính xác nội dung trò chơi của mình khỏi người chơi, bạn có thể sử dụng mã hóa RSA trên các tệp văn bản đó và hợp nhất chúng thành một tệp văn bản trong khi bạn đang ở đó. Điều này không nên quá nhiều rắc rối mặc dù tôi nghi ngờ đó là cách vượt quá nó.


1
-1 Đây không thực sự là một "sửa chữa". Các tài nguyên vẫn còn có sẵn để mắt.
Erick Robertson

6
@Eric Robertson Vâng, điều này có thể được nói về việc đóng gói chúng theo phong cách Quake (1). Không có giải pháp kỳ diệu để che giấu tài sản hoàn toàn. Điều này chỉ nhằm che giấu họ khỏi người chơi bình thường và phần nào tránh được những vấn đề mà anh ta đề cập. Điều đó được nói rằng đặt chúng trong cấu trúc thư mục hoặc gói tài sản không có nghĩa là tài sản không có ở đó (có sẵn cho mắt) trừ khi bạn sử dụng mã hóa.
sói

Tôi biết rằng phần mở rộng tệp không có vấn đề gì trên Linux, nhưng bạn có chắc chắn rằng phần này sẽ hoạt động trên Windows không?
jcora

1
@Bane Tên tệp không quan trọng về thời gian, hãy thử tên này, đổi tên tệp .txt thành .zip, .bmp hoặc .xyz và mở lại bằng notepad. Tên tệp chỉ quan trọng khi bạn đang duyệt tệp trên máy tính của mình, ví dụ .xyz có một biểu tượng nhất định được liên kết với chúng, nếu bạn muốn mở tệp bằng xsoftware, nó sẽ chỉ hiển thị các tệp * .x, notepad sẽ hiển thị. Các tệp txt, mspaint sẽ hiển thị gifs, jpeg, bmps, pngs, tiffs, icos, v.v ... Tên tệp chỉ là một quy ước thuận tiện (để bạn không phải xem và phân tích dữ liệu bên trong tệp để xác định bản chất của tệp. nội dung.
sói

1
Cảm ơn vì đã giải thích! Sau đó, Windows dường như không khác nhiều so với Linux trong miền đó
jcora

3

Nếu nó không chuyên nghiệp, nó có thể không còn nữa. Ban đầu, các trò chơi đã sử dụng các định dạng gói riêng của họ, chủ yếu để bảo vệ tài sản trí tuệ (IP) của họ.

Bạn có thể khắc phục một số hạn chế như phân mảnhcác yêu cầu chức năng không cần thiết của hệ thống tệp gốc bên dưới, bằng cách đóng gói tất cả các tài nguyên vào một kho lưu trữ. Điều này làm cho các sự kiện phân mảnh ít có khả năng khi triển khai gói trên PC của máy khách.
Trong trường hợp xấu nhất, bạn có thể sẽ có các tài nguyên tệp riêng lẻ nhỏ rải rác xung quanh các khu vực đĩa cứng của mình. (Với sự xuất hiện của SSD, điểm này thường được hiển thị)

Nhưng tất cả những lợi ích này cũng có thể có với .tarđịnh dạng lưu trữ cũ (Unix) miễn phí .

Ngoài ra, bằng cách sử dụng định dạng gói của riêng bạn, bạn có thể khắc phục các hạn chế như thiếu phiên bản, băm tệp, mã hóa và con trỏ / liên kết trong các tệp, để đặt tên nhưng một vài.

Kết luận , tôi sẽ tranh luận về tính minh bạch trong phát triển Indie, trừ khi bạn rõ ràng cần bảo vệ IP của mình.


Đối với những điểm tuyệt vời được nêu ra bởi MGOwen: Để ngăn chặn sự bất ngờ của Spoiling, bạn có thể đổi tên phần mở rộng tệp, thay đổi thuộc tính tệp, sử dụng các định dạng phương tiện không phổ biến, loại bỏ tiêu đề phương tiện và lưu trữ ở nơi khác, v.v ... Để tránh Mất thách thức, hãy sử dụng tuần tự nhị phân nhà văn để lưu trữ trạng thái trò chơi của bạn, với mã hóa và biến giải mã bổ sung nếu bạn phải.

Tuyên bố miễn trừ trách nhiệm: Tôi không phải là nhà phát triển trò chơi. Chỉ coi bài đăng này là một điểm khởi đầu ...


1
"Để ngăn chặn Thử thách thua cuộc, hãy sử dụng trình soạn thảo tuần tự nhị phân để lưu trữ trạng thái trò chơi của bạn, với mã hóa và biến giải mã bổ sung nếu bạn phải." Nếu mọi người muốn lừa dối họ sẽ lừa dối. Với trình gỡ lỗi trong bộ nhớ đang tìm kiếm bốn byte trong bộ nhớ tương quan với vàng của bạn và theo dõi các thay đổi đối với nó, nếu cần.
Random832

1
@ Random832 Amen đến đó.
Lorenz Lo Sauer

Câu trả lời của bạn là sai. Truy cập nội dung của 6000 tệp tinny trong trải nghiệm của tôi chậm hơn từ 5 đến hơn 10 lần so với truy cập cùng một nội dung từ 1 tệp. Đối với trường hợp tải mất 5 giây trên SSD, 15 giây từ ổ cứng thông thường sẽ phá vỡ cùng một dữ liệu thành các tệp có thể chỉnh sửa và tải các bước nhảy lên hơn 30 giây trên cả hai (HDD và SSD). Vì vậy, vì một số lý do, sự gia tăng rõ rệt hơn trên SSD so với trên ổ cứng. (Không có RAID trong cả hai trường hợp)
Coyote

@Coyote Tôi đã có ấn tượng rằng tôi đã tranh luận cho cùng một điểm trong bài viết ...? Phân mảnh (nghĩa là các hạn chế của Bộ điều khiển phần cứng, các giới hạn vật lý của các trình phân tích ...) + nhiều lệnh gọi API hệ thống tệp (thường thông qua các trình bao bọc) = Chậm
Lorenz Lo Sauer

Câu đặc biệt này là sai khi đó: "Với sự xuất hiện của SSD, điểm này được đưa ra"
Coyote

1

Thật dễ dàng để sửa chữa và nếu không, việc lập chỉ mục tìm kiếm sẽ tìm thấy các video cuối cùng của bạn, v.v.

Đối với tệp dữ liệu: lật bit với xor

   realByte_cpp = readByte_cpp ^ 0x44; // xor

Để ẩn "Vàng: 250" khỏi GREP.

Chỉ cần mã hóa với cùng giá trị xor (ngẫu nhiên).

Để tránh xa người dùng thông thường, hãy thử điều này: Machinarium đã dịch tên tệp để \ videos trở thành \ 0101 và tất cả các tệp sau đó có id 8 chữ số nhị phân theo sau .101 để dừng liên kết tệp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.