Будут ли передаваться навыки Unity?

16

В настоящее время я изучаю Unity и прорабатываю учебник по математике для видеоигр.

Моя цель - создать гоночную игру для WebGL (используя Three.js и, возможно, Physic.js).

Я хорошо знаю, что программа Unity оградит вас от множества происходящих событий и от огромного труда, связанного с разработкой даже простой видеоигры, но если я пройду через кучу уроков по Unity, многое из этого получится. навыки, которые я изучаю, переносятся на другие фреймворки / движки?

Я довольно опытный в дизайне уровней с WebGL, и я хороший 3D модельер. Мои слабости - это определенно ИИ и физика.

В то время как я быстро усваиваю свою математику, и хотя физика, несомненно, интересна, есть только очень много часов в день, и есть множество двигателей, чтобы позаботиться о подобных вещах.

ИИ привлекает меня гораздо больше, и это намного более необходимо. ИИ резко меняется от игры к игре, сильно изменяется в процессе разработки, и физика становится намного более постоянной.

Позволит ли использование концепций искусственного интеллекта в Unity перенести эти знания куда угодно? Или я просто буду плыть по течению Unity Creek с этими навыками?

помешанный
источник
4
Дизайнер уровней с WebGL?
Бен
3
ИИ определяется алгоритмом и реализуется в коде. Любая логика, которую вы пишете в скрипте, может быть легко перенесена на другие языки и платформы. Например, алгоритм поиска пути A * не имеет ничего общего с Unity.
MLM
1
Во всяком случае, использование надежной инфраструктуры, такой как Unity, поможет вам избежать искушения заново изобрести колесо и сосредоточиться на создании уникального и увлекательного игрового процесса, который вы хотите вместо этого. Это также означает, что у вас будет богатый опыт сообщества, которым вы сможете воспользоваться, когда окажетесь в затруднительном положении. Несмотря на то, что детали сильно различаются, основные идеи работы с двигателем можно перенести - стрижка зубов поможет освоить любые будущие двигатели. И, как указывает MLM, любой код, который вы напишите самостоятельно, можно будет реализовать практически где угодно.
DMGregory
@WebGL Я имею в виду создание уровня с нуля для трехмерной браузерной игры, без интерфейса.
Старкерс

Ответы:

27

Говоря очень широко, есть два вида навыков:

  1. «Я могу сделать эту вещь блестящей, нажав на эту кнопку». Это знание области Unity; это то, что вы узнали о том, как использовать Unity, и, вероятно, не очень поможет вам при изучении интерфейса другой системы. (Хотя эта другая система, вероятно, будет иметь какой-то способ сделать объект блестящим, у нее, вероятно, будет совершенно другая система для настройки этого внешнего вида - изучение способа Unity не будет автоматически обучать вас способу другой системы)
  2. «Если я хочу быть уверен, что игрок заметит этот объект, я могу сделать его блестящим». Это знание игровой области; это то, что вы узнали о том, как работают игры и как игроки взаимодействуют с играми, независимо от того, как какой-то конкретный движок или SDK реализует вещи.

Если вы изучаете алгоритмы, или если вы изучаете, когда и почему следует использовать определенные методы, то вы развиваете высокопереносимые навыки, которые имеют отношение ко всем играм. Если вы только учитесь манипулировать интерфейсом движка, то, вероятно, вы развиваете менее переносимые навыки.

Тревор Пауэлл
источник
7

Да. Алгоритмы обучения - это алгоритмы обучения. Реализации могут измениться, но вы все равно поймете общую стратегию.

Тем не менее, это также верно, что вы будете учиться на высоком уровне абстракции. Это означает, что переход на другие движки или вообще без них может потребовать от вас изучения более мелких деталей алгоритма и мельчайших деталей реализации.

В целом, это всегда хорошая стратегия для изучения новых вещей. Даже если это только улучшит ваше общее понимание темы, это значительно облегчит изучение и внедрение этой технологии с использованием другой технологии.

MichaelHouse
источник
3

По-разному.

Есть аспекты, которые могут быть перенесены на некоторые аспекты, такие как способность создавать целостную игру, которая работает. Но это происходит от обучения использованию любого игрового движка / SDK.

Но все зависит от:

-Ваш уровень использования Если вы заимствуете скрипты и знаете, по большей части, только визуальные вещи, вполне вероятно, что единственное, что придется перенести, - это знакомство с некоторыми инструментами.

- Программное обеспечение, которое вы создали в некотором роде, по сравнению с новым программным обеспечением. Переход от чего-то вроде GameMaker к чему-то вроде CryEngine, UDK, Unity на самом деле не идет хорошо, если только:

-У вас есть опыт работы с различными языками программирования. Unity использует Unityscript, который является их собственной бастардизацией C # и java.

Если вы новичок, как вам показалось, то я бы начал с базового с GameMaker. Познакомьтесь с интерфейсом перетаскивания и очень простым программированием игрового процесса, а затем научитесь писать собственные сценарии на языке GameMaker. Тем временем начните изучать языки программирования (java, C, C ++, C #, ... и т. Д.), Концепции которых будут невероятно полезны, когда вы начнете изучать собственный движок.

Если ИИ - это то, что вас действительно интересует, то нельзя не подчеркнуть, насколько важно изучать языки программирования и логику, стоящую за ними. ИИ сложны, действительно круты, и для написания сценариев для них нужно многое. Тем не менее, те концепции, которые лежат в основе написания хороших ИИ, должны продолжаться, но не обязательно должны быть точными методами, поскольку каждый игровой движок / SDK отличается.

Я знаю, что вы, вероятно, не хотите этого слышать, и я никоим образом не пытаюсь вас обескуражить. Но у тебя впереди долгий путь. Изучение внешнего вида игры может показаться забавным, а иногда и так, но многое нужно знать, и еще больше работы предстоит сделать.

Я надеюсь, что это поможет вам в правильном направлении.

Источник: Video Game Design / Programming Студент с опытом работы в Unity, UDK и GameMaker. Также полезный опыт: C, C ++, Java, структуры данных ООП, Autodesk Maya, ProTools, Reaper, Audition, Photoshop, GIMP ... Вы понимаете.

Если ваши знания очень ограничены, начните с чего-то вроде GameMaker или Project Spark. Это действительно поможет вам понять основы.

UberPwnd
источник
Я надеюсь, что я не сталкивался как напыщенный придурок. Я определенно не имел это в виду. В любом случае, удачи в вашем путешествии!
UberPwnd
Он точно не указал это в этом вопросе, но взгляд на его профиль ясно показывает, что ему определенно не нужно начинать с GameMaker (например, gamedev.stackexchange.com/questions/75627/… ), я имею в виду, даже если бы он был абсолютно зелен от программирования, я бы скептически отнесся к этому совету, но он даже не в серой зоне.
Джокинг
@UberPwnd Совсем нет! Спасибо большое
Старкерс