Введение в языки программирования для создания видеоигр
Любая игра – это код, на каком бы движке она не разрабатывалась. На каких языках пишут игры, какие бывают игровые движки и нужно ли разработчику игр уметь кодить? Рассказываю в материале.
Словом “геймдев” (gamedev, от англ. game development – разработка игр) называют и индустрию, и её обитателей – разработчиков. В целом их работа – геймдизайн, и это не визуальная составляющая игры, а её форма и содержимое. А на чём этот геймдизайн строить, решается ещё до всякой разработки.
Языки программирования для создания игр
При выборе движка и языка для видеоигры учитывается его кроссплатформенность, производительность, подходит ли он под нужный жанр и так далее. Иногда языки комбинируют, например, серверную часть игры пишут на одном языке, а визуальную – на другом.
Самыми известными являются:
Java
Используется для разработки мобильных игр, и иногда – для серверной части многопользовательских игр. На нём чаще всего создаются несложные проекты: платформеры, аркады, головоломки и ролевые игры (RPG). Он несложен и стабилен, поэтому отлично подходит для казуальных игр.
Платформы: Android, ПК (через JavaFX или LibGDX).
Игровые движки: LibGDX, jMonkeyEngine.
Известные игры: Змейка, Minecraft, Zuma.
JavaScript
На нём пишутся браузерные игры и игры-мультиплееры для социальных сетей, не требующие сложного оборудования. Это чаще всего казуальные игры, но ничто не мешает создать на нём головоломку или интерактивную историю в жанре point-and-click.
Платформа: веб-браузеры (ПК).
Игровые движки: Phaser, Babylon.js, Three.js.
Известные игры: Super Mario Bros, Сапёр, SimCity.
Python
На нем разрабатывают прототипы игр, пишут скрипты и автоматизируют задачи. Его простота и читаемость делают его идеальным для образовательных проектов и небольших инди-игр, поэтому он редко используется для создания крупных коммерческих проектов.
Начинать программировать игры лучше всего с Python. Он прост, универсален и после его освоения будет легче научиться другим игровым движкам и языкам программирования.
Платформы: Windows, macOS, Linux, иногда мобильные устройства.
Известные игры: The Sims 4, World of Tanks, Battlefield 2.
C++
Самый популярный и универсальный язык программирования игр, стандарт для масштабных проектов со сложной графикой. Абсолютное большинство крупных игр написано на нём
Платформы: Windows, macOS, Linux, PlayStation, Xbox, Nintendo, Android и iOS.
Игровые движки: Unreal Engine, Unity, CryEngine, Godot.
Известные игры: World of Warcraft, Wolfenstein 3D, Doom.
C#
Широко используется в Unity, одном из самых популярных игровых движков. Он универсален: подходит для простых и сложных проектов любых жанров в 2D и 3D.
Платформы: Windows, macOS, Linux, консоли, Android.
Игровые движки: Unity, Stride.
Известные игры: Terraria, Among Us, Angry Birds.
Swift
С его помощью разрабатывают небольшие игры для устройств Apple. Жанр здесь не важен – только платформа и сложность. Для больших и тяжелых проектов этот язык уже не подойдет.
Платформы: iOS, macOS.
Kotlin
Хотя Kotlin больше предназначен для приложений (на нем написаны приложения Pinterest, Netflix и Uber), для небольших игр он тоже годится. Его поле деятельности – игры для Android. Он может интегрироваться вместе с Java и используется для создания казуальных игр и головоломок.
Платформы: Android, браузеры, ПК (через плагины Kotlin/JS и Kotlin/Native).
Игровые движки: LibGDX (через интеграцию с Java), Unity (через плагины).
Визуальная разработка
Этот вид разработки не требует написания кода, но совсем без него игра не обходится. Как? Геймдев не пишет код с нуля, а работает с готовыми блоками кода, соединяет их и располагает в нужном порядке.
Это самый подходящий способ для того, чтобы начать путь в геймдев с небольшого, но полноценного проекта. Очень вероятно, что в процессе придется править этот готовый код, и это дает отличную возможность прикоснуться к нему, если раньше не доводилось.
Заключение
При выборе языка программирования нужно отходить от платформы, сложности и масштабности проекта, нужной графики, и в последнюю очередь – от жанра. Начать (и продолжить) стоит с визуального программирования или с языка Python. Также на старте очень помогут курсы создания видеоигр.
Если хочется чего-то масштабного – в будущем можно перейти на движок Unity или Unreal Engine – одни из самых популярных в геймдев индустрии.