Введение в языки программирования для создания видеоигр

Любая игра – это код, на каком бы движке она не разрабатывалась. На каких языках пишут игры, какие бывают игровые движки и нужно ли разработчику игр уметь кодить? Рассказываю в материале.

Словом “геймдев” (gamedev, от англ. game development – разработка игр) называют и индустрию, и её обитателей – разработчиков. В целом их работа – геймдизайн, и это не визуальная составляющая игры, а её форма и содержимое. А на чём этот геймдизайн строить, решается ещё до всякой разработки.

Языки программирования для создания игр

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

Самыми известными являются:

Java

Одна из первых версий игры Minecraft, написанная на Java.
Одна из первых версий игры Minecraft, написанная на Java.

Используется для разработки мобильных игр, и иногда – для серверной части многопользовательских игр. На нём чаще всего создаются несложные проекты: платформеры, аркады, головоломки и ролевые игры (RPG). Он несложен и стабилен, поэтому отлично подходит для казуальных игр.

Платформы: Android, ПК (через JavaFX или LibGDX).

Игровые движки: LibGDX, jMonkeyEngine.

Известные игры: Змейка, Minecraft, Zuma.

JavaScript

Super Mario Bros
Super Mario Bros

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

Платформа: веб-браузеры (ПК).

Игровые движки: Phaser, Babylon.js, Three.js.

Известные игры: Super Mario Bros, Сапёр, SimCity.

Python

World of Tanks
World of Tanks

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

Начинать программировать игры лучше всего с Python. Он прост, универсален и после его освоения будет легче научиться другим игровым движкам и языкам программирования.

Платформы: Windows, macOS, Linux, иногда мобильные устройства.

Игровые движки: Pygame, Panda3D, Godot.

Известные игры: The Sims 4, World of Tanks, Battlefield 2.

C++

World of Warcraft
World of Warcraft

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

Платформы: Windows, macOS, Linux, PlayStation, Xbox, Nintendo, Android и iOS.

Игровые движки: Unreal Engine, Unity, CryEngine, Godot.

Известные игры: World of Warcraft, Wolfenstein 3D, Doom.

C#

Terraria
Terraria

Широко используется в Unity, одном из самых популярных игровых движков. Он универсален: подходит для простых и сложных проектов любых жанров в 2D и 3D.

Платформы: Windows, macOS, Linux, консоли, Android.

Игровые движки: Unity, Stride.

Известные игры: Terraria, Among Us, Angry Birds.

Swift

Любительская игра, написанная на Swift.
Любительская игра, написанная на Swift.

С его помощью разрабатывают небольшие игры для устройств Apple. Жанр здесь не важен – только платформа и сложность. Для больших и тяжелых проектов этот язык уже не подойдет.

Платформы: iOS, macOS.

Игровые движки: SpriteKit, SceneKit, Unity (через плагины).

Kotlin

Beat-feet
Beat-feet

Хотя Kotlin больше предназначен для приложений (на нем написаны приложения Pinterest, Netflix и Uber), для небольших игр он тоже годится. Его поле деятельности – игры для Android. Он может интегрироваться вместе с Java и используется для создания казуальных игр и головоломок.

Платформы: Android, браузеры, ПК (через плагины Kotlin/JS и Kotlin/Native).

Игровые движки: LibGDX (через интеграцию с Java), Unity (через плагины).

Визуальная разработка

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

Этот вид разработки не требует написания кода, но совсем без него игра не обходится. Как? Геймдев не пишет код с нуля, а работает с готовыми блоками кода, соединяет их и располагает в нужном порядке.

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

Игровые движки: GameMaker, RPG Maker, Unity.

Заключение

При выборе языка программирования нужно отходить от платформы, сложности и масштабности проекта, нужной графики, и в последнюю очередь – от жанра. Начать (и продолжить) стоит с визуального программирования или с языка Python. Также на старте очень помогут курсы создания видеоигр.

Если хочется чего-то масштабного – в будущем можно перейти на движок Unity или Unreal Engine – одни из самых популярных в геймдев индустрии.

Начать дискуссию