понедельник, 3 октября 2016 г.

Скриптинг: Torque и Unity


Юрий Язев




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

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

В движках семейства Torque роль скриптового языка играет Torque Script. Коротко, это интерпретируемый C-подобный язык с динамической типизацией. Можно провести параллель сравнения с JavaScript.

Torque Script – компонент движка, он представляет полностью автономную машину, он самодостаточен, имеются все модули для работы. То есть он самостоятельно, не обращаясь к внешним средствам, проверяет и компилирует переданный ему код с высокоуровневого языка в бинарный байт-код и сохраняет его в dso-файлах. У него есть свой набор команд, подобный набору ассемблерного языка. В этих бинарных файлах сохраняется оптимизированная программа на Торковском ассемблере.

На следующем проходе движок Torque, являясь интерпретатором, читает dso-файлы и с минимальной обработкой передает их на выполнение центральному процессору (более подробно в моей книге «Волшебство момента вращения».


С Торком все более или менее понятно. А как у нас обстоят дела со скриптингом в Unity? В этом движке скриптовый код пишется на C# или JS. В бинарный код он переводится с помощью компиляторов среды Mono. JS ровно, как C# языки компилируемые средой Mono. Таким образом, получается, что все объекты Unity: примитивы, источники света, эффекты, etc. составляют всего лишь супер сет классов для Mono

Комментариев нет:

Отправить комментарий