2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

На чем создавать игры и что такое MMORPG

На чем создавать игры и что такое MMORPG

Техника и информационные технологии не стоят на месте. Они активно развиваются, становясь неотъемлемой частью жизнь. Сейчас при помощи компьютеров и ноутбуков люди работают, а также развлекаются. Для второй задачи создается специализированный контент, называемый играми. Они бывают разных жанров и направлений. Создаются при помощи специальных утилит.

Огромным спросом у геймеров пользуется жанр MMORPG. Программисты, решившие работать в соответствующем направлении, должны знать, что такое игровой движок. Существуют различные «базы» для создания многопользовательского контента, пользующиеся особым спросом. Их краткий обзор представлен в статье.

Как создать игру, ничего не умея. Часть первая: модели и анимации

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

— Я придумал игру, создай мне её.
— А почему ты сам её не создашь?
— Я не умею.

И я задумался, а так ли сложно что-то создать с нынешним количеством уроков и тем по созданию игр в интернете?

С чего начать?

Для начала нам нужна идея, что за игру мы будем создавать, благо у меня была идея брата. Рассмотрим её поближе.

  1. Это РПГ в средневековом стиле (банально, не правда ли? =) )
  2. Она должна быть 3D, а не 2D (тут, кстати, довольно интересно, потому как в основном весь интернет пестрит роликами с 2D играми)
  3. Вид камеры от третьго лица
  4. Характеристики изменяются сами с повышением уровня, с упором на используемое оружие.
  5. Лимит уровней — 30
  6. Предметы привязаны к уровню персонажа (персонаж четвертого уровня не сможет использовать предмет пятого уровня)
  7. Движок, на котором всё будет работать (в моём случае это Unity: по работе с ним самое большое количество уроков на мой взгляд)

Думаю, что данный план вполне подойдёт для создания шедевра ААА класса =).

Начнём создавать шедевр

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

Идём в интернет и спрашиваем «как нам начать использовать Unity?».

Запускаем Unity Hub.

Выбираем NEW и далее 3D проект, пишем название и местоположение проекта.

И открывается сама программа.

И тут, наверное, знатоки начнут кидаться картошкой со словами «Зачем столько воды? Все и так это знают» НО! Материал предназначен в первую очередь для тех, кто ничего не умеет, а не для гуру геймдева =).

Статья в тему:  Бизнес как игра читать онлайн

Дальше снова идём в интернет либо проходим туториал в самой программе, чтобы научиться основам работы с движком. Для того, чтобы воспользоваться туториалом в программе, нужно в окне Unity Hub нажать на строчку Learn и выбрать любой из проектов. Я советую пройти все уроки и посмотреть несколько роликов по созданию игр.

Как создать модели для игры?
  1. Научиться моделированию (сложно, долго, но интересно)
  2. Купить готовый пак моделей (быстро и просто, но за деньги)

Я выбрал второй вариант. Отправляемся в AssetStore. Если у вас не активировалась ваша учетная запись, повторно входим в личный кабинет. И начинаем искать подходящие паки. Я нашел то, что нужно, примерно за 3 минуты по поиску knight. В паке, помимо моделей самих персонажей, были модели окружения. Купил за 10 долларов, нажал Import, поставил все галочки, и пропала проблема, неумения моделировать. 1/4 игры готово.

Сцена

Дальше начинается самое нудное. Нужно собрать рабочую зону (scene, сцену, кому как привычнее называть).

Я привык сначала прописывать персонажей, анимацию, и прочую ненужную (очень нужную) ерунду в начале работы, а уже после того как основные механики готовы, я собираю уровень (локацию, игровую зону). Для начала давайте в сцену поставим кусок земли, на которой будет стоять наш персонаж, и начнём работать с анимацией.

Поскольку мы с вами в этом деле новички, снова лезем в интернет и смотрим, как нам поставить поверхность в игровую зону. Выбираем GameObject -> 3D Object -> Cube, после масштабируем его до простой площадки.

Далее добавляем персонажа (рыцаря, демона, ниндзю, тяночку, или кто вам больше по душе). Персонажа берем из папки Prefabs: мы уже знаем (вспоминаем, чему нас научили во вкладке Learn), что туда сохраняют полностью готовые объекты, персонажей и так далее.

И вот он, наш герой, который будет покорять всех и вся.

Анимация

Помните в рейде «Цитадель Ночи» в World of Warcraft был босс Алуриэль? Когда она произносила заклинания, то кричала «Аннигиляция, репликация, детонация, АНИМАЦИЯ. ». Нам необходимо с криком «Анимация!» наброситься на интернет и понять, как её сделать.

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

  1. Идём на сайт www.mixamo.com
  2. Регистрируемся
  3. Получаем огромное количество анимации на все случаи жизни

Что нужно в первую очередь? По мне — так научиться ходить и бегать. Возьмём анимацию ходьбы и бега.

  • В поисковике анимации набираем walking, выбираем понравившуюся анимацию, и ставим галочку In Place
  • Далее нам нужно подгрузить FBX модель от купленного пака для того, чтобы анимация не баговала (иногда такой модели может не быть в паке, но сейчас 99% разработчиков дают модель при покупке любого пака бесплатно либо она может лежать на официальном сайте). Тыкаем на upload character и загружаем модель FBX со смешным названием Mixamo_Guy_Naked.fbx.
  • Видим, что наш FBX заменил стандартную модель миксамо, и при желании можно кастомизировать анимацию, но этого делать мы, конечно же, не будем. Меня всё устраивает. Я жмякаю кнопку Download, выбираю Frames per Second 60 — анимация ходьбы готова.
  • Проделываем туже процедуру с анимацией бега (и другими, в зависимости от того, сколько вы их хотите добавить в данный момент)
Статья в тему:  Игра летай как птица 1 играть онлайн

Теперь создаём папку Animation в Unity и добавляем туда нашу анимацию. Начинаем настройку.

  • Выбираем анимацию, в inspector переходим на вкладку Rig, в строке Animation Type выбираем Humanoid и тыкаем Apply.
  • Заходим во вкладку Configure, если выползет окно, нажимаем save. В первую очередь нажимаем на вкладку Head, и в строке Jaw вместо Eyebrows ставим none (на вопрос «Почему?» скажу, что у нас просто нет бровей). Далее выбираем Left Hand и в строку Little Proximal, Little Intermediate, Little Distal ставим none, далее Middle Proximal — Finger_01, Middle Intermediate — Finger_02, Middle Distal — Finger_03. Мы делаем это, потому что у нашей FBX модели есть только указательный палец, а остальные три идут как один.
  • Проделываем всё то же самое с Right Hand, пальцы там будут иметь названия Finger_011, Finger_021, Finger_031, Apply, Done.
  • Повторяем всё выше написанное с каждой новой анимацией.
  • В Inspector анимации переходим во вкладку Animation. В строке Clips выбираем mixamo.com, меняем название над Source Take на Walking, выставляем галочки напротив Loop Time, Bake into Pose(Y,XZ), Apply. С анимацией Running проделываем то же самое, НО! Не забываем поменять название на Running.
  • Создаём Animator Controller, тыкаем правой кнопкой, в диалоговом окне выбираем Create -> Animator Controller
  • Заходим в Animator Controller, тыкаем правой кнопкой Create State -> Empty, выбираем появившийся бочонок New State, Смотрим в inspector и в строке Motion выбираем анимацию ходьбы walking, добавляем второй бочонок и в нём выбираем анимацию Running. И тут я понимаю, что у меня нет анимации бездействия (стоять на месте), быстро бегу в миксамо, выбираю анимацию бездействия Idle и добавляю её в проект =)
  • Сейчас необходимо правильно объединить анимацию. Бочонок Idle должен быть первым, чтобы персонаж без действий проигрывал анимацию Idle. Тыкнем по бочонку правой кнопкой и выберем Set as Layer Default State. Как видим, он теперь стал желтый и идёт сразу после Entry. Теперь подключаем анимацию Walking и Running, используем Make Transition и протягиваем стрелочки от бочонков друг к другу.
  • И лайфхак: чтобы не было задержек между переходами анимации, заходим в настройки транзисторов (белых стрелочек) и убираем галочки Has Exit Time, жмякаем на Setting и выставляем Transition Duration(s), Transition Offset на 0.
  • Смотрим в параметры Animator — туда где написано List is Empty, нажимаем на плюсик, добавляем Bool и переименовываем его в Idle, создаем второй Bool и называем его Running.
  • Выбираем транзистор, который идёт от Idle к Running, справа в строке Conditions нажимаем плюс и добавляем Idle = false, на обратном транзисторе Idle = true. С транзисторами Idle — Walking проделываем ту же процедуру. С транзисторами Running — Walking проделываем аналогичную процедуру, но в этот раз используем параметр Running.
Статья в тему:  Что такое радианс в доте

Вот мы и победили нашу анимацию! УРА! Теперь нам нужно подключить её к нашему персонажу. Вперед, к финишной прямой!

Выбираем персонажа, inspector, окно Animator, и в строке Controller нажимаем на кругляшок. Появится выбор, где мы и увидим нашу Animation, выбираем её и нажимаем на кнопку Play в Unity. Если вы всё сделали правильно, то сейчас должны наблюдать как ваш персонаж стоит, и у него проигрывается анимация Idle. То есть, он стоит и немного покачивается.

С анимацией разобрались, пора включать снова человека, который ничего не умеет =)

Скрипт W A S D

Анимация у нас есть, теперь нужно заставить нашего персонажа двигаться. Покопавшись в интернете, я узнал, что можно просто добавить компонент Character Controller. Так и сделаем — тыкнем Add Component, в поиск вбиваем Character Controller и добавляем его, в строке Center выставляем Y=1 (нужно, чтобы «яйцо» покрывало всего персонажа. Если у вас получилось меньше или больше, то просто настройте его вручную).

И снова прочесав гигантской расческой интернет, я всё же нашел скрипт, который у меня заработал. Значит, пора его добавить в Unity. Жмякаем правой кнопкой, Create -> C# Script. Назовём его Move. Добавим туда такой код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour
<

public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
<
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);

CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

Тут я немного поясню скрипт.

Верхние четыре строчки — это подключение библиотек, public class — название скрипта. Если у Вас скрипт называется Moving или что-то в этом роде, то поменяйте название. Учтите, к регистру скрипт тоже придирчив.

public float speed = 3.0F; public float rotateSpeed = 3.0F; — это скорость персонажа, настраивается по желанию. Далее идёт подключение управления Character Controller и, соответственно, анимации.

Перетаскиваем скрипт в Inspector персонажа и проверяем. It’s ALIVE.

Но есть нюанс: поворачивается наш персонаж слишком быстро и не подключена анимация бега. Скорость поворота лечится просто — выставляем в строке Rotate Speed 0.5, и наш персонаж больше не использует чит-крутилку из CS GO. Теперь сделаем, чтобы наш персонаж все-таки побежал. Снова интернет, хотя, по мне, тут можно и логически додумать, как всё провернуть, но всё же я нашел строчку кода, чтобы всё заработало. Добавляем в наш код такую строчку

Если у Вас возникли вопросы, что такое Fire3, то ответ прост: это LShift, а проверить это можно, зайдя File->Build Setting->Player Setting->Input Manager. Эту информацию также не составило труда найти в интернете.

После проверки наш персонаж при нажатии клавиши LShift сменил свою анимацию на бег, но при этом его скорость никак не изменилась. Снова уже по протоптанной дорожке идём сами знаете куда, и я снова нашел строчку кода, которая мне подошла и оказалась полностью рабочей.

Статья в тему:  Как настроить управление в доте 2

В итоге весь скрипт у нас получился такого вида

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour
<

public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
<
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);

CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

if (Input.GetKey(KeyCode.LeftShift))
<
speed = 6.0f;
>
else
<
speed = 3.0f;
>

Всё проверили, всё работает, осталось только прикрепить камеру к персонажу. Без заморочек просто перетаскиваем Main Camera в нашего персонажа, далее её настраиваем как нам удобно, проверяем и празднуем ПОБЕДУ!

Заключение

Думаю, что на этом можно этот пост закончить, но впереди еще много работы: создание локации, проработка боя, квесты, предметы, музыка, и еще бесконечное количество вещей, которые можно сделать. Я пока не решил, буду ли в следующей статье строить город или же займусь боевой системой — всё будет зависеть от настроения.

Я считаю, что не имея никаких знаний и денег, а только немного терпения, можно самому создать свою игру. Если вас смущает покупка пака из Asset Store, то всегда можно найти бесплатные паки. Я порылся в интернете и нашел как минимум 6 ресурсов, которые их предоставляют. Советую помимо интернета начать изучение какого-либо направления гейм дева.

Все описанное в этой статье было собрано без специальных знаний с помощью интернета.

Начинающим – Stencyl или GameMaker

Если вы только начинаете делать игры и не имеете никакого опыта в программировании, вам лучше начать с простейших инструментов. Из таковых самые популярные и общепризнанные – это Stencyl и GameMaker. Оба просты в освоении новичками, и на их основе уже создано несколько качественных игр.

Stencyl позволяет делать игры без программирования. Интерфейс полностью основан на перетаскивании, игры можно выпускать на Windows, Mac, Linux, iOS, Android и Flash. Если вы когда-нибудь имели дело с чем-то вроде Scratch, вы сразу узнаете LEGO-подобный подход к построению кода посредством размещения блоков. Stencyl задуман для простого создания спрайтовых игр, поэтому чаще служит основой паззлам и сайд-скроллерам. Что-нибудь сложное сделать будет проблематично, так что если решили работать над RPG или стратегией, присмотритесь к другому софту. С помощью Stencyl на свет появилось несколько популярных игр, в том числе Impossible Pixel и Zuki’s Quest. Также в нём есть встроенное обучение, которое расскажет обо всём, что вам нужно знать.

GameMaker – другая бесплатная утилита для новичков, с помощью которой можно делать игры для Windows, Mac, iOS и Android. Как и в Stencyl, тут почти всё работает на перетаскивании, но есть ещё и хуки для многопользовательских игр, ссылки на внешние SDK, возможность покопаться в коде и многое другое. Бесплатная версия при экспорте накладывает водяные знаки, но, тем не менее, GameMaker отлично подходит для первого раза и содержит встроенное обучение основам. Тут нет такового жанрового ограничения, как в Stencyl, и можно найти отдельные руководства для разных типов игр. В GameMaker сделали оригинальную версию Spelunky и Hotline Miami.

Статья в тему:  Игры онлайн кто ты сегодня

Конечно, всё не ограничивается этими двумя вариантами. Buildbox – относительно новая утилита, доступная в течение пробного периода и предлагающая тренировочную программу для изучения её работы, а GameSalad – уже давно известная популярная платформа, правда на неё жалуются из-за багов и нестабильной работы. Construct стоит внимания, если хотите делать игры на HTML5. В каждом случае главная проблема в том, что придётся сдерживать свои дизайнерские идеи. Это софт для новичков, и вы просто сломаете его в попытке сделать что-то сложное. То есть, игры получатся забагованными и нерабочими, если вы попытаетесь выйти за рамки задуманной системы. И всё же, это превосходное место для старта и подходящий вариант при отсутствии опыта в программировании.

С места в GameDev

Игра не строится только на программировании. Его будет много, но не больше чем всего остального.

  1. Что это будет за игра?
  2. Подробное описание геймплея, механик, реиграбельности, монетизации, базовых алгоритмов
  3. Определение платформы, поскольку не любую игру вытянут мобилки и тд
  4. Определение языка, движка и тд.
  5. Базовый кодинг
  6. Базовый дизайн
  7. Альфа версия
  8. Продвинутый кодинг
  9. Продвинутый дизайн
  10. Бета версия
  11. Тестирование, багфикс
  12. Выбор дистрибьютора
  13. Релиз
  14. Обновления

Для начала нужна идея. В идеале записать ее в телефонна листок и оставить на неделю.
Через неделю, перечитать и понять — интересно это или нет. Далее определить масштабы, если это openworld проект, шансы что вы его потянете в одиночку стремятся к 0 и не наберетесь опыта, об этом чуть дальше.
Далее подробно расписать то, как и что будет происходить в игре. Расписать каждую механику отдельно.
Описать внешний стиль. Расписать будет ли игра реиграбельной? Как, а главное почему?
Определив функционал и визуал, можно уже определять для чего мы будем делать игру? Телефоны подходят для простых игр с минимальным управлением, геймпады подходят под аркады, файтинги, гонки и тп. Мышь и клавиатура почти под все.

Определившись с платформой мы уже будем знать, какие движки желательнее всего использовать.
Не каждый движок поддерживает все платформы. При нулевых знаниях программирования рекомендую посмотреть небольшие гайды по C++, C#, Java для понимания главных концептов программирования.
Важно отличать функции, от полей, понимать для чего нужно ООП, посмотреть минимальный набор библиотек.
Но больше всего опыта вы получите начав делать свой проект. Мои первые 9 проектов умирали еще до того как я получу какой-то опыт. Сначала я пробовал разрабатывать игры на Unity, думал, ничего мне не надо, сейчас сделаю крутую игру и все дела. Первая проблема — английская документация, ничего не понял, забил. Дальше все упиралось в то что я не знал и не понимал математику. Но в этом году я поступил в ВУЗ самостоятельно и посидев на высшмате понял, что где-то я это уже все видел, а ну да, в гайдах по разработке игр. Минимальный набор для разработки выглядит примерно так:

  1. Вектора и векторная алгебра
  2. Линейная алгебра
  3. Простые алгоритмы
  4. Английский на уровне выше среднего с пониманием IT терминов.
Статья в тему:  На что влияет карма в world of warships

реклама

Я уже не говорю про производные, интегралы и тд.
Вы научились выводить Hello world? Поздравляю, самое время попытаться сделать что ни-будь в движке.
Мой выбор остановился на UE4, с переходом на UE5.

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

Для начала можете использовать примитивы, в 3D это называется BlockOut

BlockOut — расстановка примитивов на сцене, для понимания габаритов и внешнего вида. Подбора цветовой стилистики

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

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

Это будет Альфа. Оттачивайте логику до идеала, оптимизируйте.

И выпускайте Бету, корректируйте замечания и можно идти в релиз.

Старайтесь начать с простых проектов и постепенно усложняйте себе задачу.

Если что-то не работает — гуглим ошибку — если не получилось просим друга выслушать, что делает твой код. «Эффект резиновой уточки»

Читайте как можно больше документацию в идеале на английском языке.

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

Статья не является гайдом, универсальным пособием. Но если вы захотите, заходите в дискорд и задавайте вопросы. Я отвечу на то, на что я смогу ответить. Позже будут еще статьи!

Надеюсь, статья была интересна или познавательна!

Я не хочу ничего учить, но у меня есть деньги

Поздравляем, вы избежали многих проблем. И тут же получили новые. Чтобы сделать браузерную игру хорошего качества (в плохую никто играть не будет) нужно иметь хорошую команду разработчиков, а хорошие спецы стоят денег. Если брать по минимуму, то вам необходимы:

  • Программист – 2 штуки
  • Дизайнер и художник – 2 штуки
  • Гейм-дизайнер – 1 штука
  • Комьюнити-менеджер – 1 штука
  • Гейм-мастер – 1 штука.

Если у вас нет личных знакомств, то придется обращаться к аутсорсингу. Обычно такие ребята трутся на биржах фрилансеров, самой популярной их которых является www.fl.ru/.

Всех необходимых работников можно найти на биржах фрилансеров

Правда, в этом случае нужно быть очень осторожным, поскольку фрилансеры привыкли регулярно срывать сроки. Как говорят опытные руководители, можно бесконечно смотреть на 3 вещи: как течет память, как горит дедлайн и как не работает фрилансер.

Во сколько обойдется разработка?

Во столько, сколько у вас есть денег. Вот здесь приведены примерные выкладки и структура расходов на создание среднестатистической браузерки. Итоговая сумма – 25 миллионов рублей. Однако не стоит пугаться этой цифры. В статье автор посчитал расходы на разработку по максимуму, так что при желании эту сумму модно уменьшить в разы и даже десятки раз. Или увеличить, если ваш папа – прокурор. Безусловно, такие проекты, как Drakensang Online или City of Steam требуют сумм как минимум с шестью нулями, но простую табличную браузерку можно сделать за пару десятков тысяч рублей.

Статья в тему:  Как в игре симс на телефоне играть онлайн

В конце концов, вы всегда можете обратиться к краудфандингу. Пути Кикстартера неисповедимы, взлететь там может любой проект. Главное правильно подать блюдо.

Этапы разработки

Создание браузерной игры с нуля можно разделить на несколько этапов:

1. Поиск идеи

Поскольку у вас вряд ли есть 25 миллионов рублей и вы вряд ли являетесь гением в программировании и дизайне, единственное, чем вы можете зацепить пользователя, это необычный сеттинг. Даже пресловутая кампания из эльфов, орков, людей и гномов способна увлечь клиента, если погрузить их в необычную среду или заставить делать странные вещи. Например, игра Ботва Онлайн была написана «по приколу» четырьмя людьми в свободное от работы время, но благодаря своему необычному сеттингу быстро стала успешным бизнес проектом.

2. Разработка сюжета

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

3. Создание игры

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

Скорее всего, ваша первая браузерка будет выглядеть так. Это – легендарный Бойцовский Клуб

4. Продвижение проекта

Последний этап, на котором дело в свои руки берут комьюнити-менеджер и специалист по маркетингу (если таковой имеется). В крупных компаниях на долю рекламы уходит примерно 60% бюджета, поэтому на эту статью денег лучше не жалеть. Если же ваши финансы поют романсы, то тогда не остается ничего другого, как самому перепахивать игровые форумы и завлекать геймеров всеми возможными способами.

Программы для создания игр

Что такое игровой движок

Программное обеспечение, с помощью которого гейм-студии создают свои продукты, принято называть «игровым движком». Самые известные из них — это Unreal Engine, Unity и CryEngine. В них заложены базовые механики, физика и поддержка графики, реализованные посредством одного или нескольких языков программирования. Чем сложнее движок, тем разнообразнее и интереснее можно построить геймплей на его базе.

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

Kodu Game Lab

Kodu Game Lab – бесплатная программа для создания 3D-игр. Изначально она была выпущена на платформе Xbox 360 для обучения детей основам геймдизайна. Закономерно, что процесс работы в ней максимально упрощен.

Статья в тему:  Какие есть онлайн игры

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

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

Construct 2

Construct 2 – приложение для создания двухмерных игр на базе HTML5 с возможностью задавать команды через интерфейс без программирования. Управление здесь осуществляется простым перетаскиванием элементов и отметкой триггерных зон (мест срабатывания скриптов).

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

Construct подойдет для создания 2D игры любого жанра, кроме стратегий, поскольку не поддерживает курсор. В его бесплатной версии можно экспортировать игры только для браузера. Платная версия позволяет создавать мультиплатформенные приложения для ПК, iOS и Android. Лицензия стоит 50$ (примерно 3600 рублей).

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

Torque 3D

Torque 3D – игровой движок, с помощью которого можно создавать полноценные 3D видеоигры. Для работы с ним также необязательно знать языки программирования, весь процесс разработки ведется посредством интерфейса. Он заметно уступает по функционалу Unreal Engine и CryEngine, но создать свой «3D экшон» с «набигающими эльфами» уровня начала двухтысячных реально.

Базовый набор инструментов Torque 3D рассчитан на создание шутеров от первого лица, тактических стратегий или гонок. Чтобы разрабатывать игры других жанров, нужны хотя бы минимальные знания языка программирования С++.

Программа полностью бесплатна и имеет поддержку русского языка.

RPGMaker

Название этого приложения говорит само за себя. RPGMaker VX Ace – средство разработки классических 2D ролевых игр. Создавать на ее основе продукты других жанров не получится. Для работы с этой платформой также не требуется специальных знаний, все управление ведется через интерфейс.

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

К базовой версии приложения можно загрузить дополнительный модуль Game Character Hub: Portfolio Edition, который дает возможность разрабатывать новые персонажи и наборы сценариев.

Движок поддерживает воспроизведение трехмерной анимации небольшого размера. При необходимости скрипт игры можно изменить в любом текстовом редакторе.

Сейчас RPGMaker VX Ace можно купить в Steam со скидкой 85% за 179 рублей. Русского языка в стоковой версии нет, но при желании можно установить русификатор.

Ren’Py

Ren’Py – программа для создания визуальных новелл с использованием 2Д и 3Д моделей. Ее движок базируется на собственном языке программирования, который достаточно просто освоить. Вся необходимая документация представлена на сайте разработчика. Кроме того, Ren’Py содержит интерактивный обучающий модуль для начинающих. Чтобы его открыть, зайдите в раздел «Обучение» и нажмите «Запустить проект».

Статья в тему:  Играть в игру как достать соседа онлайн бесплатно без скачивания

После недолгой загрузки появится окно игры, проходя которую вы освоите функционал.

С помощью Ren’Py можно создавать дистрибутивы игр для запуска не только на компьютере с Windows, но и на других платформах:

  • iOS;
  • Android;
  • Web (запуск в браузере).

Также здесь есть возможность быстро извлечь текстовое содержимое сценария для перевода.

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

Универсальность — не всегда хорошо

— Почему нет движков, которые подошли бы под любой игровой жанр?

— Идей очень много, и они всегда выходят за пределы того, на что рассчитывал разработчик движка. Вообще, универсальный движок сводится к простоте: чем меньше функционала, тем он универсальнее. А когда пытаешься все охватить, то универсальность, наоборот, страдает.

— Бывает так, что движок заточен под определенный жанр? Например, для стратегии подойдет, а для гонок — вообще нет.

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

В целом при разработке самое главное — не ставить глобальные задачи, пытаясь все охватить. И не пытаться в новой для тебя задаче с ходу сделать что-то фундаментальное и долгоживущее. Нужно подходить экспериментально: двинулся куда-то, понял, что есть проблема, — попробуй другой путь. Если видишь, что идея рабочая — можешь проработать ее детальнее. Свой игровой редактор я создал не с первой попытки. Было множество версий на разных языках, были и тупиковые версии, которые я бросал через две недели после начала разработки, так как понимал, что подход нежизнеспособный.

Кстати, важный момент в любой разработке — скорость итерации, то есть насколько быстро ты увидишь внесенные тобой изменения в действии. Бывают проекты, в которых на компиляцию и запуск игры уходит минута и больше, а бывают такие, где хватает 1—2 секунд. И простая математика: ты сразу становишься в 15—30 раз эффективнее. Даже не в том смысле, что сделаешь в 30 раз больше работы, а в том, что получишь в 30 раз меньше стресса и при этом будешь полон сил двигаться дальше.

— От чего зависит популярность движка? Например, CryEngine, несмотря на технологичность, почти нигде не использовался, а Unreal Engine много где встречается.

— Движков тысячи, есть удобные и не очень. У человека есть какое свойство: когда ты смотришь на что-то новое с большим количеством кнопок — оно тебе всегда не нравится. Допустим, работаешь год в 3ds Max, потом переходишь на Blender — кажется, что это полная муть и его инопланетяне придумали. Только дня через три начинаешь понимать, что к чему. То есть привыкание, инертность играют большую роль. Допустим, появился новый движок — он может быть объективно удобным и хорошим. Но кто захочет уйти от чего-то привычного и понятного? А когда речь идет о крупной компании, все в разы сложнее, тем более если на кону большие деньги.

Статья в тему:  Онлайн игры в которых можно жить

— Почему многие студии делают собственные движки? Не проще ли лицензировать существующий?

— Я лицензированием движков не занимался, но по себе могу сказать, что свое всегда ближе, и ты меньше тратишь времени на доработку и исправление чужих «косяков». Цепляешься за какой-то недочет в стороннем движке — и либо тебе приходится от чего-то отказываться, либо тратить большое количество времени на поиск обходного пути.

Года три назад при переходе с Flash на HTML я около месяца просидел на Unity в качестве эксперимента. На мой вкус, там слишком много рутинных вещей, игровые объекты избыточно раздроблены на подкомпоненты, и 90% твоего кода занимают связи между этими подкомпонентами. Другие вещи, которые я считаю важными, реализованы не идеальным образом. Возможно, тут сыграла роль та самая человеческая инертность.

— Ты разрабатываешь только движок или игрой тоже занимаешься?

— Разрабатывать движок, отгородившись от игры, вредно. Если сам с ним не работаешь как пользователь, то понятия не имеешь, куда двигаться дальше. Только непосредственно при разработке игровой сцены ты заметишь, что чего-то не хватает или какая-то процедура занимает больше сил, чем могла бы. Как только я натыкаюсь на рутину или баг — сразу добавляю какую-то кнопку, галочку, пару дней проверяю, как оно работает в «боевых условиях», и если все в порядке, включаю ее для всех.

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

Ресурсы 🎁

Программы для создания UI:

Программы для создания 2D объектов (ассетов):

  • Photoshop (👍).
  • Gimp.
  • Paint Tool SAI — отлично подходит для создания плоских изображения в стиле аниме.

Программы для создания 3D объектов:

  • Blender (👍). Мощная программа, которую достаточно сложно выучить.
  • Maya. Хороша для анимации.
  • Max. Хороша для рендеринга.

Сайты с ассетами:

  • Behance. Шрифты + иконки + темы дизайна
  • KennyNL. Полностью готовые к игре UI /2D /3D арт и ассеты высокого качества.
  • Open Game Dev Art. Огромная пользовательская библиотека концепт- арта.

Заключение

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

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

Профессия
Разработчик игр на Unity

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

  • Первые полгода учёбы — без оплаты.
  • Неограниченный доступ к материалам курса.
  • Обучение на реальных задачах.
  • Карьерные консультации и помощь в трудоустройстве.
Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector