Bạn có điền tất cả dữ liệu trò chơi của bạn vào các bảng excel lớn không? Có phương pháp nào tốt hơn không?


8

Tôi thực sự muốn biết có bao nhiêu nhà thiết kế trò chơi thích làm việc với một bảng khổng lồ cho tất cả các vật phẩm, một bảng khác cho tất cả các kỹ năng và thậm chí một bảng khác cho tất cả các mob trong MMORPG. Và các bảng này có thể tăng lên vài trăm MB với hàng nghìn bản ghi, nhưng hầu hết các bản ghi chỉ sử dụng một vài trường trong một bảng.
Tôi biết một số nhà thiết kế trò chơi làm việc theo cách này. Có phương pháp nào tốt hơn không?


1
Ồ Nói với người bạn thiết kế trò chơi của bạn ít nhất là xem xét một cái gì đó như SQLite :)
bummzack

@bummzack: SQLite là một cơ sở dữ liệu quan hệ. Excel là một bảng tính. RDB có thể (được thay thế) bằng chương trình bảng tính, nhưng bạn không thể thay thế chương trình bảng tính chỉ bằng RDB.

. câu trả lời dựa trên.)

1
Tôi đoán tôi đã giải thích sai bối cảnh ở đây. Tôi nghĩ rằng nó sẽ được sử dụng như trong nguồn dữ liệu trò chơi chứ không phải là một "công cụ thiết kế".
bummzack

Có ai nghĩ đến việc sử dụng các tệp XML cho mục đích này không?
James P.

Câu trả lời:


4

Tôi không muốn trả lời ở đây, nhưng khi tôi thấy một câu trả lời / bình luận khác, tôi đã đổi ý. SQL không phải là giải pháp tốt cho việc này. SQL định nghĩa các bảng và chèn nhiều dữ liệu vào các bảng đó. Đây không phải là trường hợp đó. Khi tạo / thử nghiệm thiết kế trò chơi, bạn chủ yếu muốn kiểm tra xem hệ thống khổng lồ có cân bằng không. Điều đó có nghĩa là rất nhiều bảng ảnh hưởng lẫn nhau. Không có gì tốt cho thực tế SQL - hoặc nó là, nhưng không dễ xử lý, vì bạn phải lập trình mà không cần thiết. Và nhà thiết kế trò chơi không cần phải biết điều đó.

Là lập trình viên / nhà phát triển trò chơi, chúng tôi có thể coi thường excel và việc sử dụng nó cho bất cứ điều gì, nhưng nó là công cụ khá tốt cho trường hợp này, đặc biệt khi nhà thiết kế trò chơi có thể sử dụng tốt và tài liệu được tạo tốt.

Tôi không thể giới thiệu bất kỳ công cụ nào khác, nhưng tôi có thể nói rằng tôi biết các nhà thiết kế trò chơi chuyên nghiệp cũng sử dụng excel. Vì vậy, tôi cho rằng nó là công cụ phổ biến.


Vâng, excel là một công cụ phổ biến. Vấn đề của câu hỏi là: "một bàn lớn cho tất cả các mặt hàng", các mặt hàng bao gồm thiết bị, vật tư tiêu dùng, v.v ... Có cần thiết phải chia cái lớn thành nhỏ không? Thậm chí tách tập tin cấu hình cho từng mục? Tôi sợ cái bàn lớn có thể làm đau mắt họ: o)
Huang F. Lei

Xin lỗi tôi không biết điều này. Tôi là lập trình viên động cơ. Tôi chỉ muốn nói "Này, tại sao tất cả các bạn đều nói SQL và pha trò excel, khi đó là công cụ phổ biến?". Câu hỏi là tốt và tôi quan tâm đến một số câu trả lời nhẹ nhàng, tốt hơn so với của tôi.
Notabene

Câu trả lời SQl ban đầu của tôi là do tôi bỏ lỡ phần 'nhà thiết kế trò chơi' của câu hỏi và tôi đã xóa nó vì nó sẽ gây hiểu nhầm.
Vịt Cộng sản

3

Tôi đồng ý với hầu hết những người trả lời rằng đôi khi bảng tính có thể tạo ra các công cụ dev tốt, đặc biệt là cho các nhà thiết kế.

Nếu bạn quan tâm đến việc tiếp cận phương pháp này hơn nữa, chương trình bảng tính Resolver One sử dụng python để tạo kịch bản, giúp dễ dàng thiết lập bảng tính cho các nhà thiết kế vừa thực hiện mô hình phức tạp vừa xuất sang định dạng dữ liệu thân thiện với trò chơi. Tôi thấy làm việc với nó dễ dàng hơn nhiều so với VBScript của Excel.


1
vui vẻ chờ đợi vài giây để nó mở! Bah chậm (ngay cả trên máy nhanh)
Spooks

2

Excel là một giải pháp tuyệt vời. Tôi đã tự hỏi làm thế nào điều này nên được thực hiện. Nhưng nghĩ về nó, Excel một công cụ rất phổ biến và khá đầy đủ cho nhiệm vụ này, tôi không khuyến khích thực hành này. Ngoài ra, cơ sở dữ liệu thực tế, như @notabene gợi ý, mang lại rất nhiều chi phí phụ mà bạn thực sự không cần. Tôi thấy một vài tùy chọn, một trong số đó giống với sử dụng Excel:

  • Mở văn phòng Calc: miễn phí. Ngoài ra còn có tải xuống trình kết nối MySql (tôi tin là nguồn mở) cho Calc.
  • dữ liệu tuần tự: XML hoặc nhị phân (được mã hóa)

... Dù bằng cách nào, miễn phí và bạn có toàn quyền kiểm soát.

Cá nhân tôi sẽ có xu hướng đi với dữ liệu nhị phân và mã hóa . Hai lý do:

  • dữ liệu trò chơi không thể dễ dàng bị giả mạo
  • Tôi có thể làm việc với các bảng dữ liệu thay vì xê-ri hóa bộ dữ liệu, tức là tôi có tùy chọn.

Có cần một thư viện dữ liệu hướng đến trò chơi chuyên dụng không? Có lẽ ... trừ khi ai đó biết về một thư viện như vậy đã tồn tại.

Đối với câu hỏi của OP, hãy xem từng tệp csv của trang dưới dạng một bảng dữ liệu - gần giống với bảng trong cơ sở dữ liệu. Mỗi tệp trang nên chứa dữ liệu liên quan:

  • Kỹ năng, hoặc
  • Thiết bị, hoặc
  • Số liệu thống kê NPC

Điều này giúp bạn duy trì mức độ tổ chức cao, điều này sẽ rất quan trọng khi nội dung dữ liệu phát triển, nội dung trò chơi mở rộng, v.v.

Chỉnh sửa
Sau khi thực sự cố gắng sử dụng .ODS (tệp OpenOffice Calc) và kết nối từ một ứng dụng, thực tế là không thể vì các bài đăng ban đầu trên trang OO ngụ ý. Tôi không thể tìm thấy bất cứ điều gì cụ thể hiển thị teh codez khi thực hiện.

Ngoài ra, sử dụng các tệp Excel có thể ổn trong khi phát triển trò chơi để dữ liệu có thể được điều chỉnh mà không cần chi phí từ cơ sở dữ liệu. Tuy nhiên, và điều này rất quan trọng, nếu bạn có kế hoạch thực hiện việc này, bạn phải cài đặt MS Office để bạn có thể tham khảo Microsoft Excel Interop COM. Điều này có thể có ích lúc đầu, nhưng tôi sẽ không muốn xóa hoặc thay đổi một loạt mã để ứng dụng sẵn sàng cho Alpha, Beta hoặc RC. Một thư viện rất đơn giản sẽ tốn nhiều công sức hơn tôi có thể thấy là hữu ích.

Tôi sẽ sử dụng các tập tin .CSV để lưu trữ dữ liệu giai đoạn đầu. Có một số nhược điểm, nhưng nhìn chung tôi cảm thấy đây là một lựa chọn tốt hơn nhiều. Tất cả mọi thứ được chứa trong thư viện của tôi. .Net có các lớp rất hữu ích để đọc các tệp văn bản này. Ngoài ra, như các tệp .CSV, dữ liệu dễ dàng được thao tác; và, cho các giai đoạn phát triển sau này, tất cả những gì tôi cần làm là để các tệp dữ liệu của mình được tuần tự hóa thành XML, sau đó đến nhị phân được mã hóa.


Tôi không bận tâm đến tất cả ... ngoại trừ khi tôi không biết tại sao. Có điều gì đó không chính xác về các tùy chọn tôi cung cấp hoặc lời khuyên của tôi về việc tổ chức bảng tính? Hay ai đó không thích lựa chọn của tôi?
Tôi chấp nhận

Tôi đã đưa cho bạn -1 vì bạn đã so sánh bảng tính với định dạng dữ liệu ổ đĩa và sau đó đưa ra các tuyên bố như "dữ liệu trò chơi có thể dễ dàng bị giả mạo". Một chương trình / giao diện và định dạng dữ liệu đĩa không thực sự có thể so sánh được, và làm cho nhị phân dữ liệu trò chơi của bạn rất ít để can thiệp vào các modder. Ngoài ra, lược đồ bảng tính được đề xuất của bạn là khủng khiếp, vì nó giữ tất cả dữ liệu trong một tệp. Chắc chắn các kỹ năng và NPC phải ở trong các tệp riêng biệt ; có lẽ tất cả các NPC nên ở trong các trang riêng biệt trong cùng một tệp , mặc dù nếu bạn sử dụng RCS khóa thì điều đó cũng sẽ rất kinh khủng.

Tôi không đồng ý. Hãy mở Office Office với trình kết nối MySql. Chắc chắn bạn có thể tạo một tệp khác nhau cho mỗi. Nhưng tôi sẽ không giữ dữ liệu của mình ở định dạng này khi tôi có RC.
Tôi chấp nhận

Nếu các nhà thiết kế đang sử dụng Excel, họ sẽ truyền dữ liệu cho nhau theo các định dạng như .xls hoặc .csv. Nếu bạn không muốn mất dữ liệu đó vào lỗ đen Outlook hoặc khi máy tính của họ gặp sự cố, bạn cần dạy họ giữ dữ liệu đó trong RCS.

1

Miễn là bản chất của dữ liệu của bạn cho phép nó được lưu trữ trong một bảng tính mà không phải nhảy qua quá nhiều vòng, nó tạo ra một định dạng rất tốt, đặc biệt là cho công việc phát triển. Cuối cùng, bạn có thể muốn lưu trữ nó ở các định dạng khác để sử dụng nhưng bảng tính cung cấp cho bạn một trình chỉnh sửa rất mạnh mẽ, có thể RẤT đẹp nếu bạn quyết định thay đổi cách bạn xử lý một cái gì đó!

Nếu bạn đang sử dụng Excel, hãy lấy một bản sao các tiện ích ASAP - nó làm cho bảng tính thành một trình chỉnh sửa thậm chí còn tốt hơn.


CÀNG SỚM CÀNG TỐT??? bạn có thể cung cấp một liên kết?
Tôi chấp nhận


-2

Đối với tôi, tôi cho rằng các chương trình speartesheet không thể xử lý những thứ đó một cách chính xác và hiệu quả. RDB thực sự được thiết kế để xử lý các bảng và dữ liệu khổng lồ. RDB hiện đại được thiết kế để xử lý những thứ 'khổng lồ' và họ đang làm điều đó rất tốt.

Vấn đề là, để có được đầu ra tốt nhất của RDB, bạn cần thiết kế cơ sở dữ liệu của mình theo cách chính xác. Nếu lược đồ dữ liệu của bạn kém hoặc không bao gồm tất cả dữ liệu của dự án, bạn sẽ kết thúc với kết quả, hiệu suất và đầu ra rất tệ.

Ý tưởng của RDB là chia bảng lớn thành các bảng nhỏ hơn để bạn có thể cải thiện hiệu suất và khả năng đọc. Nếu bạn có một bảng rất lớn (thuộc tính khôn ngoan hoặc thậm chí ghi lại khôn ngoan) hoặc nhiều phân vùng lại và bạn không sử dụng hầu hết chúng, điều đó có nghĩa là thiết kế DB của bạn có một số lỗi.

Trong câu hỏi của bạn Huang F. Lei, nếu tôi được yêu cầu thiết kế cơ sở dữ liệu MMORPG, tôi sẽ không thêm tất cả các kỹ năng trong một bảng và tất cả mob trong một bảng. Tôi sẽ chia các kỹ năng theo các lớp học và cách sử dụng của chúng thành nhiều bảng. Mỗi loại kỹ năng sẽ có bảng riêng hoặc thậm chí bảng. Đối với mob, tôi sẽ chia chúng theo loại của chúng hoặc theo vị trí của chúng ở các thế giới khác nhau. Và như thế.

Bằng cách này, tôi có thể thu nhỏ kích thước bảng, giúp tôi dễ dàng theo dõi dữ liệu hơn và cải thiện hiệu suất DB.

Mặt khác, trong Excel, tất cả dữ liệu sẽ bị 'vỡ vụn' ở một nơi. và để tìm một phần dữ liệu gần như không thể vượt qua được, về mặt lịch sử khi bạn có dữ liệu lặp lại. Ngoài ra, khi dữ liệu tăng kích thước, thời gian mở tệp sẽ tăng lên.

Cuối cùng, Excel - theo tôi - là một cách rất kém để xử lý dữ liệu liên quan rất lớn.


Bạn đúng, nhưng đây không phải là câu trả lời đúng. Nếu bạn đọc cẩn thận câu hỏi hoặc đọc câu trả lời hoặc nhận xét khác, bạn sẽ biết câu hỏi đó là về thiết kế trò chơi, không lưu trữ dữ liệu.
Notabene

Tôi biết về thiết kế và đỏ các câu hỏi và câu trả lời. Điều tôi hiểu là, Huang F. Lei, đang cố gắng chọn giữa RDB và bảng tính. Câu trả lời của tôi cố gắng thể hiện sự khác biệt giữa hai!
Ali Albahrani

Trích dẫn: Huang F. Lei: "Vâng, excel là một công cụ phổ biến. Điểm của câu hỏi là:" một bảng khổng lồ duy nhất cho tất cả các mặt hàng ", các mặt hàng bao gồm thiết bị, tiêu thụ, v.v. Có cần thiết phải chia một lượng lớn thành những cái nhỏ? Ngay cả tập tin cấu hình riêng biệt cho từng mục? Tôi sợ cái bàn lớn có thể làm tổn thương mắt họ: o) "
Notabene

2
Cảm ơn câu trả lời của bạn: o) Câu hỏi là về cách nhà thiết kế trò chơi cung cấp dữ liệu để tạo trò chơi, chứ không phải về cách lập trình viên lưu trữ / truy cập dữ liệu của người chơi trong trò chơi.
Huang F. Lei
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.