Kỹ năng Unity sẽ được chuyển giao?


16

Tôi hiện đang học Unity và thực hiện theo cách của tôi thông qua một cuốn sách giáo khoa toán học trò chơi điện tử.

Mục tiêu của tôi là tạo ra một trò chơi đua xe cho WebGL (sử dụng Three.js và có thể Physic.js).

Tôi biết rõ rằng chương trình Unity bảo vệ bạn khỏi rất nhiều điều đang diễn ra và rất nhiều công việc nặng nề gắn liền với việc phát triển ngay cả một trò chơi video đơn giản, nhưng nếu tôi cung cấp thông qua một loạt các hướng dẫn về Unity, sẽ rất nhiều kỹ năng tôi học dịch qua các khung / công cụ khác?

Tôi khá thành thạo thiết kế cấp độ với WebGL và tôi là một người điều hành 3D giỏi. Điểm yếu của tôi chắc chắn là AI và Vật lý.

Trong khi tôi nhanh chóng bảo vệ toán học của mình, và trong khi Vật lý không thể chối cãi thì chỉ có rất nhiều giờ trong ngày và có rất nhiều động cơ ngoài kia để chăm sóc loại việc này.

AI hấp dẫn tôi hơn rất nhiều, và cần thiết hơn rất nhiều. AI thay đổi mạnh mẽ từ trò chơi này sang trò chơi khác, được điều chỉnh rất nhiều trong quá trình phát triển và vật lý thì không đổi hơn rất nhiều.

Liệu các khái niệm AI nghiêng trong Unity có cho phép tôi chuyển kiến ​​thức này ở bất cứ đâu không? Hay tôi sẽ chèo lên Unity lạch với những kỹ năng này?


4
Trình thiết kế cấp với WebGL?
Bến

3
AI được xác định bởi một thuật toán và được thực hiện trong mã. Bất kỳ logic nào bạn viết trong một tập lệnh có thể dễ dàng được chuyển sang các ngôn ngữ và nền tảng khác. Ví dụ, thuật toán tìm đường dẫn A * không có gì Unity cụ thể về nó.
MLM

1
Nếu bất cứ điều gì, sử dụng một khung mạnh mẽ như Unity sẽ giúp bạn tránh được sự cám dỗ để phát minh lại bánh xe, và tập trung vào việc tạo ra trò chơi độc đáo & thú vị mà bạn muốn thay thế. Điều đó cũng có nghĩa là bạn sẽ có nhiều kiến ​​thức chuyên môn về cộng đồng để phát huy khi bạn thấy mình gặp khó khăn. Mặc dù các chi tiết khác nhau rất nhiều, nhưng những ý tưởng cơ bản khi làm việc trong một động cơ có thể chuyển đổi được - cắt răng của bạn sẽ giúp bạn học được bất kỳ động cơ nào trong tương lai. Và như MLM chỉ ra, bất kỳ mã nào bạn tự viết sẽ có thể thực hiện ở bất cứ đâu.
DMGregory

@WebGL Ý tôi là tạo một cấp độ từ đầu cho trò chơi trình duyệt 3D, không có giao diện.
Starkers

Câu trả lời:


28

Nói rất rộng, có hai loại kỹ năng:

  1. "Tôi có thể làm cho thứ này sáng bóng bằng cách nhấp vào nút đó." Đây là kiến ​​thức về Unity-domain; đó là điều bạn đã học về cách sử dụng Unity và có thể sẽ không giúp bạn nhiều khi học giao diện của hệ thống khác. .
  2. "Nếu tôi muốn chắc chắn rằng người chơi nhận thấy vật này, tôi có thể làm cho nó sáng bóng." Đây là kiến ​​thức về miền trò chơi; đó là điều bạn đã học về cách trò chơi hoạt động và cách người chơi tương tác với trò chơi, độc lập với cách mọi công cụ hoặc SDK cụ thể thực hiện mọi thứ.

Nếu bạn đang học thuật toán, hoặc nếu bạn đang học khi nào và tại sao nên sử dụng các kỹ thuật cụ thể, thì bạn đang xây dựng các kỹ năng có khả năng chuyển nhượng cao, phù hợp với tất cả các trò chơi. Nếu bạn chỉ học cách điều khiển giao diện của động cơ, thì có lẽ bạn đang xây dựng các kỹ năng ít chuyển nhượng hơn.


7

Đúng. Học thuật toán là học thuật toán. Việc triển khai có thể thay đổi, nhưng bạn vẫn sẽ hiểu chiến lược tổng thể.

Tuy nhiên, cũng đúng là bạn sẽ học ở mức độ trừu tượng cao. Điều đó có nghĩa là việc di chuyển xung quanh các động cơ khác, hoặc không có động cơ, có thể yêu cầu bạn tìm hiểu các chi tiết tốt hơn của thuật toán và các chi tiết nghiệt ngã của việc thực hiện.

Nhìn chung, nó luôn luôn là một chiến lược tốt để học những điều mới. Ngay cả khi nếu chỉ cải thiện sự hiểu biết chung của bạn về chủ đề, nó làm cho việc học và thực hiện lại nó trên một công nghệ khác dễ dàng hơn nhiều.


3

Nó phụ thuộc.

Có những khía cạnh một số khía cạnh có thể mang lại, như khả năng thiết kế một trò chơi mạch lạc hoạt động. Nhưng điều đó xuất phát từ việc học cách sử dụng bất kỳ công cụ trò chơi / SDK nào.

Nhưng tất cả phụ thuộc vào:

-Có mức độ sử dụng của bạn Nếu bạn đang mượn các tập lệnh và chỉ biết phần lớn những thứ trực quan, có khả năng điều duy nhất sẽ tiếp tục là sự quen thuộc với một số công cụ.

-Các phần mềm bạn đã xây dựng một số loại nền tảng so với phần mềm mới Chuyển từ một thứ như GameMaker sang một thứ gì đó như CryEngine, UDK, Unity không thực sự hoạt động tốt trừ khi:

-Bạn có nền tảng về các ngôn ngữ lập trình khác nhau Unity sử dụng Unityscript, đó là sự khốn của riêng họ về C # và java

Nếu bạn là người mới, giống như bạn đã chỉ ra, thì tôi sẽ bắt đầu với cơ bản với GameMaker. Làm quen với giao diện kéo và thả và lập trình trò chơi rất cơ bản, sau đó tìm hiểu cách viết các tập lệnh của riêng bạn với Ngôn ngữ GameMaker của họ. Trong khi đó, bắt đầu học các ngôn ngữ lập trình (java, C, C ++, C #, ... vv), các khái niệm sẽ cực kỳ hữu ích khi bạn bắt đầu học ngôn ngữ động cơ của bên thứ nhất.

Nếu AI là điều bạn thực sự quan tâm, thì không thể nhấn mạnh đủ tầm quan trọng của việc học ngôn ngữ lập trình và logic đằng sau chúng. AI rất khó, thực sự khó, và có rất nhiều thứ liên quan đến việc viết kịch bản cho chúng. Điều đó đang được nói, những khái niệm đằng sau việc viết AI tốt sẽ tiếp tục, nhưng không nhất thiết phải là phương pháp chính xác để làm như vậy, vì mỗi công cụ trò chơi / SDK là khác nhau.

Tôi biết có lẽ bạn không muốn nghe điều này, và tôi không có ý định làm bạn nản lòng. Nhưng bạn có một con đường dài phía trước bạn. Nhìn vào bên ngoài, nghiên cứu thiết kế trò chơi nghe có vẻ rất thú vị, và đôi khi là vậy, nhưng có rất nhiều điều cần biết, và thậm chí còn nhiều việc phải làm.

Tôi hy vọng điều này sẽ giúp bạn đi đúng hướng.

Nguồn: Sinh viên thiết kế / lập trình trò chơi video có kinh nghiệm về Unity, UDK và GameMaker. Ngoài ra kinh nghiệm hữu ích: C, C ++, Java, OOP Data Structures, Autodesk Maya, ProTools, Reaper, Audition, Photoshop, GIMP ... bạn có ý tưởng.

Nếu kiến ​​thức của bạn rất hạn chế, hãy bắt đầu với thứ gì đó như GameMaker hoặc Project Spark. Nó thực sự sẽ giúp bạn hiểu những điều cơ bản.


Tôi hy vọng tôi đã không đi qua như một thằng ngốc. Tôi chắc chắn không có nghĩa như vậy. Dù bằng cách nào, chúc may mắn trên hành trình của bạn!
UberPwnd

Anh ta đã không chỉ ra chính xác câu hỏi ở đây, nhưng lướt qua hồ sơ của anh ta cho thấy khá rõ rằng anh ta chắc chắn không cần phải bắt đầu với GameMaker (ví dụ: gamedev.stackexchange.com/questions/75627/ . ) ngay cả khi anh ta hoàn toàn xanh với lập trình, tôi vẫn nghi ngờ về lời khuyên đó, nhưng anh ta thậm chí không ở trong khu vực màu xám.
jhocking

@UberPwnd Hoàn toàn không! Thankyou rất nhiều
Starkers
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.