Программирование

7 языков разработки игр Unity для изучения: что лучше?

7 языков разработки игр Unity для изучения: что лучше?

Разработка игр никогда не была проще. Платформы для разработки игр, такие как Unity, позволяют создавать все, от простых 2D-платформеров до полностью детализированных 3D-шутеров от первого лица. Unity бесплатна для небольших разработчиков, и есть множество обучающих программ о том, как лучше всего использовать редактор для создания прототипов ваших идей.

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

1. Лучший выбор: C #

Для тех, кто начинает с Unity, или для тех, кто уже знаком с объектно-ориентированным программированием, C # — подходящий язык для изучения Unity. Фактически, C # — единственный язык, достойный изучения для платформы, и на то есть веские причины.

Unity использует Mono, который является кроссплатформенной реализацией платформы Microsoft .NET. C # является основным языком .NET, и все библиотеки Unity построены с использованием кода C #. Сказать, что C # — это язык Unity, не было бы преувеличением. Unity ясно дала понять, что они считают C # единственным языком для использования с движком вперед.

Это хорошая новость, так как C # — мощный язык, и его легко выучить. Unity — лишь одна из многих веских причин для изучения C # причины для изучения программирования на C # причины для изучения , и если вы новичок, вы можете даже найти его более доступным. Развивающие игры создают структуру обучения, а основанные на проекте цели приводят к большему пониманию новых предметов.

С введением системы заданий C # и ECS Unity продвигает то, что можно сделать с C #, все дальше и дальше, а новый компилятор Burst делает это быстрее, чем когда-либо прежде.

2. Текущая альтернатива: JavaScript

Unity также поддерживает JavaScript — известный как UnityScript. Начиная с выпуска, JavaScript соседствовал с C # как полнофункциональный язык разработки Unity. Справочник по сценариям Unity содержит пример кода на C # и JavaScript для большинства элементов библиотеки.

Это было полезно для разработчиков из JavaScript, поскольку, несмотря на различия в структуре кода, они могли использовать знакомый синтаксис. Однако была проблема.

Хотя UnityScript кажется похожим на JavaScript, это не так. В UnityScript есть классы, чего нет в JavaScript. Функции JavaScript, такие как объявление нескольких переменных и необязательные точки с запятой, недоступны в UnityScript.

Возможно, что крайне важно, поиск справки JavaScript в проектах Unity всегда вызывал путаницу, так как большинство людей называли ее JavaScript, а не UnityScript. Результаты как для веб-дизайна, так и для разработки игр были размыты, и разница между языками была предметом спора для разработчиков на чистом JavaScript.

Возможно, неудивительно, что Unity объявила, что собирается прекратить поддержку UnityScript, и теперь есть сроки для ее вывода из эксплуатации . Вы все еще можете использовать JavaScript с Unity, но, зная, что он придет к концу, с чего бы вам?

3. Старый Третий Выбор: Бу

В первые годы существования Unity была возможность использовать Boo — Python-подобный язык. Возможно, это неудивительно, поскольку Родриго Б. Де Оливейра, дизайнер Бу , работал на Unity. Язык совместим с .NET и Mono и будет полностью реализован с помощью игрового движка. Что пошло не так?

Мало кто использовал его, вероятно, предполагая, что он просто пытался подражать Python. Со временем Unity прекратила поддержку Boo, и грядущие изменения в UnityScript сделают все старые скрипты Boo бесполезными в Unity. Некоторые могут рассматривать это как упущенную возможность, так как Boo был отличной попыткой Python-подобного синтаксиса для программирования на .NET.

У любителей Python есть и другая возможность.

4. Странный выбор: IronPython

Если вы хотите разрабатывать игры, Python, вероятно, не является языком для вас , но это возможно. В своем блоге Microsoft Developer Community Чарли Калверт описывает, как запускать Python из C #, но это не для слабонервных. Спустя почти десять лет IronPython все еще находится в активной разработке.

Короче говоря, вам нужно будет загрузить библиотеки IronPython с GitHub и ссылаться на них в своем проекте на C #. Это позволит вам вызывать скрипты Python из скриптов C # так же, как и из любой другой библиотеки. IronPython также позволяет вызывать библиотеки .NET из Python . Как бы это ни было полезно, поскольку Unity использует C #, эта функциональность не помогает.

IronPython — и IronRuby, его дочерний проект, связывающий C # с языком программирования Ruby, — это фантастические проекты, но они не практичны для использования с Unity.

5. Интересный выбор: Lua

Одной из лучших реализаций внешнего языка для Unity является MoonSharp — интерпретатор Lua. Этот проект не предназначен для замены C # как языка, а скорее выступает в качестве моста. Идеальный вариант использования MoonSharp — это добавление игрокам вашей игры возможности создавать игровые моды на языке Lua.

Вы также можете использовать его для описания объектов и уровней дизайна отдельно от основного игрового кода.

Если вы уже пишете код на C # и ищете интересный способ взаимодействия с вашим кодом, MoonSharp заслуживает внимания. Поскольку он доступен бесплатно в магазине активов Unity , вы можете импортировать его прямо в свои проекты.

6. Лучший язык для плагинов: C / C ++

Несмотря на мощную библиотеку Unity и все доступные инструменты, предоставляемые C #, иногда вам могут понадобиться свои собственные плагины. Основные причины, по которым люди выбирают плагины, включают скорость или доступ к базе кода, уже написанной на другом языке. Встраивание этих сценариев в плагины DLL экономит переделанный код и в некоторых случаях может повысить производительность.

В большинстве случаев C ++ будет языком, используемым для создания плагинов, но C будет работать одинаково хорошо. Пока код встраивается в DLL, его можно поместить в папку плагинов Unity и ссылаться на него в коде. Однако вероятность того, что если вы уже знакомы с программированием на C / C ++, то изучение C # будет относительно простой задачей!

7. Новый язык для плагинов: Rust

Rust — это язык, вокруг которого много шума. Опытные программисты любят его за невероятное количество контроля, которое он дает, избегая при этом ошибок в написании на менее безопасных языках, таких как C ++. Rust был создан Mozilla в 2009 году, чтобы разработчики могли быстро разрабатывать высокопроизводительное программное обеспечение.

Хотя невозможно написать Rust в Unity напрямую, вы можете получить доступ к функциям и методам, написанным на Rust, из своего кода Unity. Джим Флеминг подробно рассказывает, как это сделать, в своем посте на Medium .

Если это кажется знакомым, это потому, что это еще один способ создания собственных плагинов. Используя возможности Rust для взаимодействия с другими языками, вы можете вызывать функции Rust напрямую из кода C # с помощью атрибута Unity DllImport . Естественно, между ними есть несколько шагов, и рекомендуется прочитать последующий пост Джима, а также получить хорошее представление о FFI (интерфейсах внешних функций)!

Простой выбор

Отношение Unity к любому языку, отличному от C #, понятно, и постоянные улучшения Unity основаны на этой целеустремленности. Соедините это с постоянным совершенствованием Microsoft C # как языка, и изучение C # для разработки игр Unity не составляет труда. Обязательно ознакомьтесь с Unity Learn, чтобы узнать, как легче всего освоить разработку игр. способ освоить разработку игр. способ освоить разработку

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

Похожие посты
Программирование

Что такое канал RSS? (И где его взять)

Программирование

7 причин, почему изображения не загружаются на ваш сайт

Программирование

Запустите агент SQL Server: настройте SQL Server 2012

Программирование

15 лучших бесплатных обоев дня Святого Патрика