Bất kỳ động cơ 3d bẩn / rẻ, nhẹ, người mới bắt đầu thân thiện ngoài kia? [đóng cửa]


8

Tôi nhận được 2 câu hỏi, thứ 2 là một số câu hỏi về ý kiến.

Câu hỏi thứ nhất:

Mọi người đều nghe nói về panda3d, OGRE và DrainLicht: chúng là những động cơ tuyệt vời, với rất nhiều tính năng. Với OGRE bạn có thể làm hầu hết mọi thứ có thể tưởng tượng nếu bạn chỉ học động cơ, với Irrlicht bạn có thể làm được rất nhiều, nhưng động cơ này thân thiện với người mới bắt đầu và nhẹ hơn một chút. Panda3D cũng rất tuyệt, python giúp giảm bớt mọi thứ, nhưng rất nhiều thứ cũng có thể làm được.

Trước thời đại lập trình mới do sự phát triển của C ++, các trò chơi 3D cần chạy trên các máy chậm đã được lập trình trong C, nhưng kể từ đó, chúng tôi hàng ngày đẩy các bóng bán dẫn đến giới hạn xa hơn, quên đi việc game lập trình khủng khiếp đến mức nào "thời xưa". Có thể nó không kinh khủng, nhưng vì lập trình 3D rất phức tạp khi thực hiện 2D và vì hầu hết các công cụ đều hỗ trợ các công cụ sáng bóng như trình tạo bóng, trình quản lý cảnh, nút cảnh, NURBS, bóng, hoạt hình, v.v., không có công cụ hoặc trình kết xuất 3D đơn giản nào Điều đó sẽ phù hợp với những người có đủ với 3D đơn giản, không có họa tiết hoặc chỉ có kết cấu thực sự đơn giản?

Vì tôi đã nghe "không phát minh lại bánh xe", tôi chắc chắn sẽ học được quá nhiều để tạo ra một công cụ hoàn chỉnh bằng D3D hoặc opengl, và vì tôi sẽ học D3D này tiếp theo trong trường lập trình 3D, tôi nghĩ rằng với tất cả các động cơ miễn phí ngoài kia, phải có một động cơ phù hợp với nhu cầu của tôi.

Câu hỏi thứ 2:

Kể từ ngày xưa của PlayStation, tôi vẫn xem đồ họa độ nét cao sắp ra mắt (như 360, PS3) giống như một bệnh dịch: Việc học lập trình phần mềm phức tạp hơn luôn khó khăn hơn, nó rất khó và mang lại kết quả thỏa mãn , nhưng cuối cùng, nó vẫn là một chương trình ngu ngốc tái hiện các pixel!

Tôi cảm thấy sự thú vị trong các trò chơi hoàn toàn không phát triển hoặc thực sự giảm xuống so với ngày xưa khi những kẻ làm trò chơi không cần thiết phải để mắt người chơi, nhưng là để mang lại trải nghiệm và niềm vui.

Tôi cảm thấy rằng các trò chơi ngày nay chỉ là phần mềm thể hiện công nghệ có sẵn, nhưng ngoại trừ một số viên ngọc, trò chơi không còn là ý tưởng nữa, chúng chỉ là một minh chứng cho việc làm thế nào để đầu tư đô la có thể tỏa sáng trong vẻ đẹp của CEO mà không biết làm thế nào một trò chơi được thực hiện và những gì thực sự có thể làm.

Tất nhiên, ngoại trừ các trò chơi độc lập tất nhiên sẽ tỏa sáng vào ngày này hay ngày khác nhờ XBox Live và Steam, nhưng còn lâu mới cho phép các lập trình viên và nhà thiết kế làm những gì họ muốn. Tôi không nói là "tập đoàn tà ác", v.v. mâu thuẫn với các định luật vật lý ... Chúng ta có thể tính toán một thực tế khác, nhưng vẫn rất phức tạp để thiết kế ...


5
Thực sự chỉ nên có một câu hỏi cho mỗi câu hỏi.
Tetrad

Cố gắng làm cho câu hỏi ngắn hơn và đơn giản hơn. Ngoài ra, tôi dường như không thể tìm thấy phần câu hỏi của câu hỏi 2, tôi chỉ thấy rất nhiều ý kiến ​​và phát biểu.
Tấn

1
câu hỏi 1 tl; dr -> Tìm kiếm barebones, dễ sử dụng công cụ 3D mà không cần tất cả các mánh lới quảng cáo. Câu hỏi 2 tl; dr (tôi nghĩ?) -> Trò chơi mới hy sinh niềm vui cho công nghệ, bạn có nghĩ vậy không?
Deleter

Tôi nghĩ rằng ý kiến ​​của bạn sẽ rất vui khi thảo luận trong phòng chat gamedev. chat.meta.stackoverflow.com/rooms/73/game-development - đó không phải là phòng chat thời gian thực truyền thống của bạn; nếu không có ai ở đó, hãy để lại lời nhắn và sau đó quay lại và đọc các câu trả lời.
Ricket

tât nhiên. cần 20 rep, nhưng trong meta.stackoverflow
jokoon

Câu trả lời:


3

Về phía OpenGL, tôi nghĩ Horde3D đáng được nhắc đến. Nó có thể không thân thiện với người mới bắt đầu vì nó không cung cấp nhiều công cụ GUI như Unreal SDK, nhưng điều đó làm cho nó rất nhẹ. Trên hết, tôi nghĩ nó rất tốt cho việc học.

Horde dạy bạn phải rất có tổ chức với mã của bạn. Nó sử dụng XML cho dữ liệu (lưới, shader, đồ thị cảnh, v.v.) và C ++ để điều khiển.

Tôi thích thực tế rằng nó không phải là một "công cụ trò chơi". Đó là một công cụ kết xuất 3D xử lý loại bỏ, mức độ chi tiết, sét, hoạt hình, v.v., nhưng để lại tất cả logic chương trình cho bạn.

Giống như bummzack đã nói, mọi động cơ ngoài kia sẽ cho phép bạn thực hiện các công cụ đa giác cơ bản. Nhưng vì bạn đang trên con đường học tập, bạn có thể muốn học một công cụ cũng sẽ cho phép bạn giải quyết các môn học phức tạp hơn trong tương lai.


Thật tuyệt vời với các công cụ UI, tôi đã quên đề cập đến những điều này thực sự không cần thiết và thường thì họ sẽ không làm công việc của mình như tôi cần hoặc ăn các tính năng của công cụ để cho phép các tính năng chỉnh sửa tốt hơn. Horde3d vẫn đang trong giai đoạn thử nghiệm nhưng dường như đó là thứ tôi đang tìm kiếm ...
jokoon

3

Chà, tôi sẽ cho nó một phát súng.

Liên quan đến câu hỏi đầu tiên của bạn, tôi hết lòng giới thiệu SDL cho bạn. Nó không phải là một công cụ đồ thị cảnh và tất cả đồ họa của bạn sẽ được thực hiện với OpenGL, nhưng nó xử lý các yếu tố cần thiết cho bạn, như tạo cửa sổ, thiết lập bối cảnh OpenGL, nhận đầu vào và phát âm thanh. Tôi hoàn toàn cảm thấy nỗi đau của bạn khi nói đến công cụ 3D và tôi thấy nghiên cứu về OpenGL của tôi khá thú vị và đầy thách thức. Cá nhân tôi đã chuyển sang Java, sử dụng LWJGL (hoặc JOGL nếu bạn thích), vì tôi thích ngôn ngữ cấp cao hơn và sử dụng các applet và Java xử lý tương tự việc tạo cửa sổ, đầu vào, âm thanh, v.v. cho bạn.

Tuy nhiên, thực tế là bạn sẽ sớm học DirectX có thể có nghĩa là bạn nên tập trung vào đó. Tôi không biết bất kỳ tương đương với SDL cho DirectX, nhưng tôi tin rằng DirectX hiện nay có một số chức năng trợ giúp giúp bạn khởi động và chạy khá nhanh. Thật không may, tôi thực sự không biết nhiều về DirectX vì vậy tôi không thể nói về bất kỳ chi tiết cụ thể nào. Nhưng tôi khuyên bạn nên thử.

Tôi chắc rằng sẽ hơi quá khi học cách tạo ra một công cụ hoàn chỉnh bằng D3D hoặc opengl

Vâng, nó là quá nhiều. Và tôi thấy nó mọi lúc. Đừng tạo ra một động cơ; làm một trò chơi Đừng bị cuốn vào việc tạo ra vô số các lớp với mã chưa được kiểm tra và chưa được sử dụng trong đó và gọi nó là "thư viện" hoặc "công cụ" bởi vì nhiều khả năng nó chỉ là một "mớ hỗn độn lý thuyết". Chỉ cần làm những gì bạn cần làm để làm một trò chơi.


"Câu hỏi" thứ hai của bạn chỉ là một quan sát, và một câu hỏi buồn và (theo tôi) rất sai ở đó. Chắc chắn có những trò chơi tồi ở ngoài kia, những game nặng về đồ họa với ít lối chơi. Trò chơi điện ảnh xuất hiện trong tâm trí, vì chúng thường là những trò chơi không quá hay. Nhưng đồ họa và lối chơi không loại trừ lẫn nhau . Từ việc đọc câu nói của bạn, tôi gần như tự hỏi liệu bạn có chơi bất kỳ trò chơi nào gần đây không; có rất nhiều sự lựa chọn ngoài kia và tôi chắc chắn có một cái gì đó cho bạn. Nhưng tôi không thấy tại sao đồ họa đẹp ám chỉ lối chơi xấu. Và nếu bạn hoàn toàn chống lại đồ họa ưa thích, vẫn có những trò chơi dành cho bạn. Bạn thậm chí có thể đến eBay và mua một hệ thống cũ và các trò chơi cũ với giá rẻ.

Điều buồn cười là, tôi sẽ sẵn sàng đánh cược rằng ý kiến ​​này đã tồn tại từ rất lâu rồi, qua nhiều thế hệ máy chơi game cuối cùng. Tôi chắc rằng mọi người đã nhìn vào Nintendo 64 khi nó ra mắt và nghĩ điều tương tự: đồ họa tuyệt vời (thời đó) = lối chơi tồi. Và đã có những trò chơi N64 tốt và xấu. Và sau đó tôi biết rằng thực tế mọi người đã lo lắng về loại điều này trong thời đại của Gamecube và PS2 và Xbox. Heck, tôi ngồi lại và xem các trò chơi cho Xbox đã làm điều này chính xác. Vì vậy, luôn có những trò chơi hay và những trò chơi tồi, và bạn cần bình tĩnh, hít một hơi thật sâu và đi tìm một số trò chơi hấp dẫn bạn. Sẽ luôn có các trò chơi ở hai đầu của quang phổ; Các trò chơi có độ phân giải thấp mà bạn không thể ngừng chơi nhiều năm sau đó (CounterStrike 1.6 có ai không?) và các trò chơi có độ phân giải cao là tổng số flops.

Và vâng, sẽ luôn có nhiều thứ sau, bởi vì đồ họa dễ bị phá hỏng hơn là những ý tưởng chơi game hay . Sự tồn tại của họ không lấy đi sự tồn tại của những trò chơi hay, hoặc giảm số lượng của chúng. Họ chỉ cung cấp cho các nhà thiết kế nhiều bằng chứng về những điều không nên làm khi thiết kế trò chơi tiếp theo của họ. Đó có phải là một điều xấu?


Câu trả lời tốt và một câu trả lời tuyệt vời cho câu hỏi / tuyên bố thứ hai của OP.
bummzack

Đó là một câu trả lời hay, nhưng SDL không còn là công cụ 3D hơn API Win32.
Kylotan

1

Nếu bạn không muốn tất cả các lợi ích (và phình to?) Của Công cụ 3D, tại sao không sử dụng GLUT ?

Tôi nghĩ SceneManagers và những thứ tương tự thực sự thêm cho người sử dụng thân thiện của một Công cụ 3D như trái ngược với làm cho mọi thứ phức tạp hơn.

Bạn có thể thực hiện kết xuất rất cơ bản (không có họa tiết, không đổ bóng) với tất cả các Công cụ 3D mà bạn đã đề cập. Một số trong số chúng thậm chí có kiến ​​trúc mô-đun (Plugin) để bạn thực sự có thể loại bỏ tất cả những thứ bạn (hiện tại) không cần.

IMHO không có thứ gọi là Công cụ 3D thân thiện với người mới bắt đầu hoặc thậm chí là khung / thư viện thân thiện với người mới bắt đầu . Bạn sẽ luôn phải học và làm quen với gói phần mềm trước. Dường như với tôi như bạn đang cố gắng bỏ qua bước đó :)


(Đây là ý kiến ​​cho câu trả lời của bummzack) Thay vì sử dụng GLUT trực tiếp, tôi nghĩ GLFW có thể phù hợp hơn với các trò chơi, vì nó cũng xử lý đầu vào và thời gian.
Người dùng không tìm thấy

-2
  1. a. SDL (Simple Direct Layer) Có một công cụ kết xuất 3D khá đơn giản và có thể mở rộng, là nguồn mở. Tuy nhiên, C ++ hiệu quả, đó là một đường cong học tập dốc.

    b. sdlbasic là một trình thông dịch BASIC nhỏ, hiệu quả và đa nền tảng để tạo các trò chơi sử dụng sức mạnh của thư viện SDL. Nó được lấy cảm hứng từ AMOS cũ và vinh quang. - nó nằm trong kho Ubuntu và có lẽ những thứ khác nữa.

    c. ?

  2. a. Tôi đồng ý với tình cảm của bạn mặc dù "chơi game thông thường" như câu đố 2d, và trò chơi giải trí trực tuyến dễ dàng và vì các nhà sưu tập dường như đã mua được nhiều bất động sản trong thị trường trò chơi hơn là loại phần cứng chuyên sâu đơn giản do tính chất thực tế của trò chơi với yêu cầu hệ thống thấp. sẽ tốt hơn khi thấy một số sáng tạo hơn trong các chất nền thấp hơn của bán cầu sáng tạo 3d sáng tạo của thế giới trò chơi inc.

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.