Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какой язык программирования,используемый для создания игр - самый простой?

ТехнологииПрограммированиеКомпьютеры
Алексей Зайцев
  · 1,6 K
Пользователь старого TheQuestion  · 12 июл 2016

Самый простой - не значит оптимальный. Так как "простота" языка программирования почти всегда связана с его недостатками в других областях (производительности, распространенности), выбирать самые простые языки стоит очень осторожно, особенно, если они рекламируются агрессивно (такие, как C#). Это вопрос не разового выбора, если делаете его впервые.

Из тех, что применяются чаще всего в гейм-деве, самыми простыми можно назвать JavaScript, Squirrel, C#, Python и Lua - они все избавляют вас от необходимости компилировать код, писать много ненужных и перегруженных деклараций и пр. Однако все они встраиваются по принципу т.н. биндингов (bindings), то есть работают по принципу виртуальных машин*. Это важно, поскольку значительно бъет по производительности. Хотя на мелких игрушках или мощных устройствах это совершенно не важно!

    • Хотя C# компилируется в производительные MSIL-инструкции, что в целом спасает, чаще всего для скриптинга в играх пишут отдельную виртуальную машину, например, как в Unity3D Engine. В качестве одного из примеров есть the sims 3, где использовали обычный Mono, но позже от этого отказались. То есть C# выбирать нужно осторожно.

Сейчас бы посоветовал выбирать тот язык, который более удобен для команды и нужд движка: если хочется очень простых скриптов, выбирать Python или Squirrel (как компромисс), Конечно, нужно отметить хайп по поводу JavaScript (Google V8), но он заслуженный.

Если нужно скриптить производительные скрипты - выбирать C/C++ и не брезговать (только это уже не binding). Так рекомендуют многие разработчики игровых движков.

Если вы используете чужой движок, нужно в первую очередь поинтересоваться другими играми, похожими на ваши, и на их опыт. Лучшей практикой будет навести шороху или стучать разработчикам в твиттеры с вопросами. Если это конечно не Rockstar; и прислушиваться к рекомендациям и гайдлайнам разработчиков движка - это очень важно. Если вы сами работаете над своей игрой в коллективе, то вам стоит и брать выше, строго по своим запросам. Берите пример у лидеров.

Новый тренд - это программирование или скриптинг с помощью нод, где теоретически снова обещают ненужность навыков программирования. Посмотрите статью в Unreal Engine по поводу Blueprints Visual Scripting.

На примере движка Aurasoft Skyline

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