2009-07-19 39 views
6

Tôi muốn bắt đầu điều này như là một sở thích trong việc phát triển trò chơi trên máy tính để bàn. Tôi đã tìm thấy một số động cơ, nhưng tôi không chắc liệu nó có thực hiện công việc ban đầu mà tôi đang xem xét hay không.Chọn một công cụ trò chơi 3D

Ban đầu tôi muốn làm như sau:

  1. Tạo một nhân vật (avatar), và cho phép người dùng ăn mặc các avatar
  2. tải hình đại diện trong game

Trong giai đoạn sau , Tôi muốn phát triển trò chơi này dưới dạng trò chơi nhiều người chơi.

Tôi nên làm gì?

Trả lời

15

Tôi cũng khuyên bạn nên sử dụng Ogre. Ogre có thể làm điều này, nó cung cấp tất cả mọi thứ cần thiết liên quan đến hỗ trợ hình ảnh động và lưới, nhưng không phải là một giải pháp drop-in. Bạn phải viết rất nhiều mã để làm điều này.

Đối với dự án của chúng tôi, chúng tôi đã triển khai một số việc như bạn làm. Nhân vật chính và bất kỳ nhân vật nào khác có thể mặc đồ với vũ khí và áo giáp khác nhau và hình ảnh của avatar nhân vật thay đổi tương ứng.

Như một gợi ý bắt đầu cho cách thực hiện: Trong công cụ tạo mô hình của bạn (Máy xay sinh tố, Maya, 3ds max, v.v.), bạn lập mô hình hình đại diện và tất cả quần áo bạn cần và ghép chúng vào cùng một bộ xương. Sau đó xuất mọi thứ riêng lẻ sang định dạng lưới của Ogre.

Khi chạy, sau đó bạn có thể đính kèm lưới quần áo mà người dùng chọn vào cá thể bộ xương để chúng cùng nhau tạo thành hình đại diện. Điều này không khó thực hiện thông qua Ogre-API, nhưng để truy cập dễ dàng hơn đến điều này bạn có thể sử dụng công cụ meshmerge của công cụ mở rộng Ogre extension. Nó đã được phát triển cho chính xác mục đích này.

Nếu bạn muốn thay đổi các đặc tính khác như tính năng khuôn mặt, điều này cũng có thể, vì Ogre hỗ trợ hoạt ảnh gây ra đỉnh, vì vậy bạn có thể chuẩn bị đường cho các đặc điểm nhất định của khuôn mặt và cho phép người dùng thay đổi khuôn mặt bằng cách sliders hoặc somthing như thế này. (ví dụ: trong Oblivion) ​​

Một điều cần lưu ý về Ogre: Đây là một công cụ đồ họa 3D, không phải là công cụ trò chơi. Vì vậy, bạn có thể vẽ các công cụ vào màn hình với nó và animate và ánh sáng và trong bất kỳ cách nào thay đổi hình ảnh, nhưng nó không làm đầu vào hoặc vật lý hoặc âm thanh. Đối với điều này, bạn phải sử dụng libs khác và tích hợp chúng. Một số công cụ trò chơi đóng gói sẵn dựa trên Ogre có sẵn mặc dù.

1

Bạn có thể muốn xem http://www.crystalspace3d.org/ - Tôi phải thừa nhận đó là một vấn đề khám phá đối với tôi, nhưng nó có vẻ giống như một động cơ khá đẹp - với vật lý và kịch bản đi kèm. Họ có một dự án cho thấy avatar đi bộ trong tòa nhà giống như không gian với hiệu ứng máy ảnh rất mượt mà.

OTOH: tùy thuộc vào khoảng cách bạn muốn đẩy điều này, bạn có thể thấy mình đang tái tạo môi trường kiểu SecondLife (tm). Nếu đó là giả định hợp lý, thì bạn có thể xem xét OpenSimulator và dự án xem mã nguồn mở liên quan và xem liệu điều này có thể khiến bạn quan tâm không - và làm việc với nhóm hiện tại để phát triển mã hơn, thay vì tự làm việc .

2

Không có động cơ nào có khả năng làm điều này cho bạn. Những gì họ làm thường cho phép bạn tải và làm cho các mô hình 3d. Nhưng kết hợp chúng, cách bạn cần làm để "ăn mặc" là tùy thuộc vào bạn. Và tạo ra chúng hoặc cho phép người dùng làm như vậy, cuối cùng là tùy thuộc vào bạn. Động cơ có thể cung cấp một số công cụ để thực hiện nhiệm vụ dễ dàng hơn (ví dụ, hiển thị mô hình trong khi người dùng đang thiết kế nó), nhưng công cụ trò chơi không phải là hộp "tạo trò chơi" ma thuật mà bạn chỉ cần nhấn nút và trò chơi tùy chỉnh của bạn xuất hiện.

1

Nếu bạn tốt với C++, tôi đề xuất số C4 Engine. Từ kinh nghiệm của tôi, các công cụ trò chơi hiện tại hoặc là quá cứng nhắc hoặc chỉ là không có gì hơn là một bộ sưu tập các thư viện.

+4

Tôi muốn nói rằng "bộ sưu tập thư viện" là thiết kế "động cơ" tốt nhất. :) – jalf

6

Nếu bạn tốt với C++, bạn nên sử dụng Ogre, đó là công cụ mã nguồn mở tốt nhất, liên tục được cập nhật bởi người tạo, với nhiều hướng dẫn và cộng đồng rất hữu ích.

http://www.ogre3d.org/

Đó là nhiều hơn một cơ GFX, nhưng nó có tất cả các điều kiện tiên quyết mà bạn mong muốn.

Chúc may mắn!

+1

Ogre không có hỗ trợ mạng. Nó hoàn toàn là một công cụ đồ họa. – haffax

+0

@haffax: Mạng không khó thực hiện, ít nhất là so với đồ họa – Zifre

1

Ogre là một cách hay để đi nếu bạn chỉ muốn tìm nội dung nào đó để hiển thị. Như một số đã nêu ở đây, Ogre là một công cụ dựng hình. Có rất nhiều tiện ích và chức năng để hoàn thành các tác vụ phổ biến như Âm thanh, Đầu vào và không có gì. Điều này là hoàn toàn tốt nếu bạn chỉ nhắm vào chơi xung quanh hoặc tạo ra một nguyên mẫu.

Nếu bạn muốn bắt đầu một dự án dài hạn sẽ được phát triển trong một khoảng thời gian dài hơn (có thể bạn sẽ là nhà phát triển và trò chơi duy nhất là ứng dụng phức tạp), bạn nên bắt đầu nghĩ về bạn muốn làm gì Sau đó, dựa trên mục tiêu của bạn, hãy tìm một số công cụ có thể giải quyết nhu cầu của bạn (luôn có một số API để hoàn thành XYZ). Sau đó, đó là vào bạn như thế nào bạn quản lý trò chơi của bạn và nơi bạn sử dụng thư viện hiện có - bạn về cơ bản sẽ buộc lên động cơ của riêng bạn theo nhu cầu của bạn.

Sẽ khó khăn hơn một chút nếu bạn bắt đầu tìm kiếm một công cụ trò chơi thực sự về "động cơ cho tất cả các nhu cầu của trò chơi của tôi". Kiểm tra danh sách các công cụ trò chơi 3D tại devmasters (http://www.devmaster.net/engines/), bạn sẽ tìm thấy nhiều công cụ trò chơi trạng thái alpha cố gắng thực hiện điều này, mặc dù bạn nên nhớ rằng hỗ trợ và tài liệu thường không phải là lớp đầu tiên trong những trường hợp đó.

Cá nhân tôi chưa bao giờ sử dụng nó, nhưng tôi đã đánh giá công cụ mã nguồn mở Delta3D (delta3d.org) cho dự án của tôi và đã bị ấn tượng bởi kiến ​​trúc tuyệt vời của nó. Nó đóng gói toàn bộ các khuôn khổ nguồn mở chất lượng khác cho các công cụ như đồ họa (OpenSceneGraph: openscenegraph.org) hoặc vật lý (ODE: ode.org). Đó có thể là gần như bạn sẽ nhận được một công cụ trò chơi miễn phí và linh hoạt như xa như tôi biết. Nó được phát triển tại một trường đại học không quân, và do nền tảng học thuật của nó có rất nhiều tài liệu chi tiết.

2

Một vài người đã nói Ogre3D, tôi sẽ cung cấp Irrlicht làm phương án thay thế.

0

Một động cơ mà bạn có thể thử là động cơ trò chơi Torque 3D www.garagegames.com, mặc dù không phải là phần mềm miễn phí, cho phép khả năng sử dụng của hộp. Mặc dù chức năng mà bạn tìm kiếm về khả năng tùy biến hoàn toàn nhân vật không có sẵn ngay trong động cơ, nếu bạn sẵn sàng tự tạo mô hình thì không quá khó để thêm chúng vào trò chơi và sử dụng trò chơi động cơ để thay đổi 'giao diện' của hình đại diện. Một điều mà tôi cảm thấy sẽ tạo ra điều này ngoài các công cụ khác là thực tế là nó đi kèm với chức năng mạng được cài đặt sẵn (từ những gì bạn đã mô tả trong câu hỏi của mình, tôi đoán rằng bạn đang cố gắng tạo ra RTS hoặc MMO, và nếu vậy tôi chúc bạn may mắn).

Mặc dù có vẻ lạ khi động cơ dựa trên trò chơi bắn súng, có hướng dẫn các diễn đàn Torque cho phép bạn thêm mã cho chiến đấu dựa trên kiếm và những thứ khác liên quan đến trò chơi dựa trên hình ảnh (nếu, là, những gì bạn đang bào vào làm).

Nhưng dù sao ... chúc bạn may mắn với dự án của mình. Nếu bạn đang cố gắng những gì tôi nghĩ rằng bạn đang cố gắng nó không phải là kỳ công dễ dàng. Nhưng tôi chắc chắn rằng bạn biết những gì bạn đang làm =)

Hy vọng điều này giúp

0

Nếu bạn quan tâm trong việc sử dụng động cơ Irrlicht 3D, bạn có thể tìm thấy một số hướng dẫn mà bước bạn qua quá trình tạo ứng dụng 3D đơn giản here.

0

Tôi cũng đề xuất Irrlicht. Nó dễ dàng hơn để bắt đầu, nhưng nó không có một nửa hỗ trợ Ogre3D.

1

Nếu bạn tốt với C++ bạn có thể viết cơ của riêng bạn: P

Ogre là tốt nhất của Irrlicht và Crystalspace, và lý do đằng sau đó là rất đơn giản - Ogre đã thực sự được sử dụng trong một đường ống dẫn sản xuất bởi ngành công nghiệp game. Nó thực sự có rất nhiều trọng lượng đằng sau nó, trong khi Irrlicht và Crystalpace là các ứng dụng nhiều hơn hoặc ít hơn mà không làm rất nhiều trong số các hộp. Tuy nhiên, Crystalspace có một dự án nhánh thực hiện một công cụ trò chơi ngay vào Blender 3d cho phép nghệ sĩ đóng vai trò lập trình viên mà không phải rời khỏi phần mềm thực tế.

Tôi không phải là rất lớn trên Irrlicht - có rất nhiều lén lút đằng sau động cơ của nó. Đối với một dự án mã nguồn mở, nó phân nhánh thành nhiều dẫn xuất khác nhau, hoặc là công cụ trò chơi hoàn chỉnh hoặc trình soạn thảo WYSWYG và họ tìm cách để khóa bạn vào việc thanh toán bằng cách nào đó.

Ogre trội tại một công cụ đồ họa thay vì thư viện và nó phải được biên dịch theo nhu cầu cá nhân. Sự cân bằng là bạn có thể triển khai Ogre vào bất kỳ luồng công việc thiết kế nào hoặc thậm chí tạo một luồng mới. Trường hợp phải mất tải trọng vai của bạn là phải viết mã đồ họa của bất kỳ loại nào, do đó làm cho nó một động cơ tạo mẫu nhanh chóng trơn trong hình thức cơ bản của nó.

Các vấn đề liên quan