Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the antispam-bee domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/ruwritingagame/public_html/wp-includes/functions.php on line 6121
Предисловие: О чем это вообще? – Игра в Написание Игры

Предисловие: О чем это вообще?

GameDev, 3D, cross-platform, C++, Visual Studio, Android, Windows, OpenGL ES.

Этот блог сложился как практически пошаговая инструкция (обучалка) по написанию собственной игры с нуля.

Написать свою игру – моя давняя мечта. И теперь я знаю как это сделать правильно.

Есть в голове несколько идей что бы это могло бы быть, окончательно пока еще не определился. Может, как-то так?:

Или даже лучше?

В любом случае, что бы это в итоге ни оказалось, все-равно достаточно большая часть пути будет ОБЩЕЙ для ЛЮБОГО проекта. И я приглашаю Вас присоединиться ко мне на этом маршруте. Идея и задача этих заметок – построить практически применимый Фундамент для Реального Коммерческого Проекта с нуля.

Готовы? Тогда поехали! Только куда? Надо б сперва выбрать направление.


Платформа: Android, iPhone, PC, Mac, Xbox, и что там еще? Чтобы не маяться с выбором, почему бы не попробовать cross-platform? Для начала хочу сосредоточиться на PC/Windows и на Androidе. Если получится такой cross-platform (mobile + desktop), то остальные платформы – по аналогии.


Графический движок/API: Боюсь ограничить себя какими-то концепциями, фрэймворками и возможностями существующих движков. Опять же, хотелось бы обойтись без Мегатонных “прицепов”. Поэтому не буду рассматривать для себя такие высоко-уровневые варианты как Unity, Unreal, GameMaker, Godot и другие подобные. Хотя, с другой стороны, если Вы планируете выпустить очередной Doom-ообрАзный клон, то упомянутые движки, возможно, и правильный выбор. А поскольку я хочу чтобы моя игра все-таки отличалась от других, то мне понадобится низко-уровневый доступ к 3D и что-то cross-platform-совместимое. Выбор вроде огромный: DirectX, OpenGL, Vulkan, Metal, что-то пропустил? Однако, если присмотреться, то НИ ОДИН из них не покрывает ВСЕ платформы КРОМЕ OpenGL ES, который может работать и на PC, и на Android, и на Mac, и на iPhone. Низкоуровневый вариант – OpenGL ES 3.2.


Язык: C++, Java, C#, Objective-C, Kotlin, Python, что еще? И снова, наше cross-platform требование оставляет нас с одним единственным классическим выбором – C++.


Microsoft Visual Studio предлагает все это, включая даже какие-то cross-platform штучки, так что с IDE тоже определились (как самый “native” для C++). Тем более что “Community edition” – бесплатный.


“Подвох” этой комбинации (Visual Studio, C++ and OpenGL ES) в том, что она не родная ни для одной платформы. То есть на любой платформе придется напрячься, чтобы заработала. И все же это лучше чем, скажем, отказаться от поддержки мобильников ради DirectX, или от поддержки Apple ради Javы. Может, у нас будут и другие причины для таких жертв, но только не технологические.

Вот теперь, когда направление выбрано, ПОЕХАЛИ!

Посмотрим, как далеко ВЫ сможете пройти 🙂


Leave a Reply

Your email address will not be published. Required fields are marked *