Как сделать игру ходилку на компьютере

Обновлено: 07.07.2024

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

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

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

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

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

  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 был босс Алуриэль? Когда она произносила заклинания, то кричала «Аннигиляция, репликация, детонация, АНИМАЦИЯ. ». Нам необходимо с криком «Анимация!» наброситься на интернет и понять, как её сделать.

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

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

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

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

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


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

Скрипт W A S D

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


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<CharacterController>();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

if (controller.velocity == Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», true);
>
if (controller.velocity != Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», false);
>
>
>

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

Верхние четыре строчки — это подключение библиотек, 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. Теперь сделаем, чтобы наш персонаж все-таки побежал. Снова интернет, хотя, по мне, тут можно и логически додумать, как всё провернуть, но всё же я нашел строчку кода, чтобы всё заработало. Добавляем в наш код такую строчку

if (Input.GetButtonDown(«Fire3»))
GetComponent<Animator>().SetBool(«Running», true);
else if (Input.GetButtonUp(«Fire3»))
GetComponent<Animator>().SetBool(«Running», false);

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


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

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

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

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<CharacterController>();
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;
>

if (controller.velocity == Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», true);
>
if (controller.velocity != Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», false);
>
if (Input.GetButtonDown(«Fire3»))
GetComponent<Animator>().SetBool(«Running», true);
else if (Input.GetButtonUp(«Fire3»))
GetComponent<Animator>().SetBool(«Running», false);
>

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

Заключение

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

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

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

Как создать собственную игру-бродилку онлайн

Бродилка — жанр приключенческих компьютерных игр, герой которых перемещается по неизвестной местности для нахождения какого-либо объекта. Пожалуй, бродилки — это вечнозеленый жанр со времен Acornsoft Labyrinth (и тому подобного). На любом игровом портале или том же Google Play сотни такого рода игр. Учитывая популярность и востребованность жанра, у многих возникает вопрос — как создать свою игру.

Существуют десятки движков разного уровня сложности (Unity, Unreal Engine и так далее). В этой статье продемонстрирую функционал игрового движка Gamefroot с базовым набором возможностей . Его п люсом является возможность «клепать» игры прямо в браузере без установки софта на диск. Результат можно проверить там же, запустив предпросмотр.

Как создать собственную игру-бродилку

Основные инструменты Gamefroot

После создания аккаунта вам доступна контрольная панель (Dashboard), где вы можете создать игру с чистого листа или оценить возможности платформы, выбрав Game Kits — готовые игровые наборы, либо Tutorial Games — учебные игры.

Gamefroot

Например, выбираем Maia the Brave и попадаем в заготовку лесной бродилки с персонажем-девушкой. Выглядит неплохо, правда?

Возможностей графики хватает для создания приличных бродилок. В левой части экрана имеются различные объекты, которые можем добавлять в игру простым перетаскиванием. Имеются три раздела Media, Code и Levels — отвечающие за объекты, код игры и ее уровни — естественно, можно делать многоуровневую бродилку со сложной логикой и скриптами. Кроме того, имеется маркетплейс — страница, где можно приобретать (Premium) или скачивать бесплатно (Free) разнообразные наборы предметов для игры и тому подобное. Это очень облегчает создание игры. Собственных персонажей можно создавать при помощи кнопки Character Creator, постепенно «собирая» их.

Character Creator

В середине находится игровой экран, а также карта всего «царства» (уровня), масштаб которого можно менять кнопками - и +.

Справа расположено окно, в котором платформа предоставляет возможность работать со слоями (Layers), создавать достаточно сложную логику поведения объектов — это реализовано при нажатии на них правой кнопкой. Для удобства окно Layers можно перетащить в любое место экрана, если оно закрывает какую-то нужную в данный момент часть.

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

Player Gamefroot

Gamefroot Editor

Gamefroot Pickup Dog Bait

Gamefroot Своя Игра

Gamefroot Character Studio

Далее мы видим слой Park objects, к которому относятся объекты парка — в данном случае это деревья. Их также можно двигать и модифицировать. Ниже находится слой Collectibles, самый вожделенный для любителей игр. В него можно добавлять те самые предметы, которые требуется собирать: монеты, шоколадки, одним словом, клад (gem). В левой части экрана есть выбор из 6 таких предметов. Они имеют статус pre-scripted asset — то есть предмет, имеющий заданное скриптом заранее поведение.

Слой Background отвечает за фон игры. Также важным моментом является добавление нового слоя. Это можно сделать, нажав плюсик справа от надписи Layers. На выбор будет два варианта: New Layer (добавление нового слоя) и New Tile Map (добавление сетки для выравнивания элементов). Последнее требуется для того, чтобы расположить элементы ровно по сетке.

Проверить, как работает игра в режиме предпросмотра можно, нажав кнопку Play. Разрешение игры меняется в разделе Game Settings. По умолчанию это 960x540. А общий размер игрового мира находится в разделе Levels, по умолчанию это 2800x2880, довольно масштабная бродилочка.

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

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

С помощью Gamefroot можно встроить игру на собственный сайт, предоставляется embed-код. Получится вот такая игра (на третьем слайде нажмите Play):

Возможности программы

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

Редактор настольных игр "Hodilka Master"

Генератр игры "Змеи и Лестницы"

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

История обновлений программы

Обновление 1.25

  • Добавлена возможность настройки параметров генератора игры "Змеи и лестницы"

Обновление 1.24

  • Исправлены обнаруженные ошибки.
  • Добавлен генератор игры "Змеи и Лестницы" со случайным расположением стрелок перемещения.

Обновление 1.22

Обновление 1.21

  • Исправлена ошибка неправильного размера сетки.
  • Добавлена возможность выбора единиц измерения при задании размеров квадратной и шестиугольной сеток.

Обновление 1.2

  • Исправлены обнаруженные ошибки.
  • Добавлена возможность наложения настраиваемых сеток различных форм (мозаика (puzzle), шестигранники, квадраты.
  • Добавлена возможность сохранять изображение игры с прозрачным фоном (в формате .PNG).

Обновление 1.1

  • Исправлены ошибки и опечатки.
  • Добавлена возможность импорта шаблонов из другого проекта
  • Добавлены режимы расстановки точек под прямыми углами (Shift + Click) и с равными расстояниями (Ctrl + Click)

Обновление 1.0

  • Исправлены ошибки и опечатки.
  • Добавлено перемещение и удаление объектов при помощи клавиатуры.

Обновление 0.96

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

Обновление 0.951

Обновление 0.95

  • Изменена система отмены действий
  • Добавлена возможность задавать прозрачность объектов
  • Исправлены некоторые ошибки.

Обновление 0.94

  • Добавлена возможность сохранять изображение игры по частям в PDF файле.
  • Добавлен инсталлятор.
  • Реализована возможность сохранения изображения точки (для инструкций).
  • Добавлено масштабирование с сохранением пропорций.
  • Добавлены упрощенные варианты добавления узловых точек.
  • Исправлены некоторые ошибки.

Обновление 0.93

  • Добавлена возможность сохранять изображение игры по частям с настраевыми размерами фрагментов.
  • Добавлена опция поворота картинки точки походу линии.

Обновление 0.921

Обновление 0.92

  • Добавлена возможность вставлять настраиваемые надписи
  • Добавлены новые формы точек (восьмигранник и треугольник)
  • Добавлена возможность указывать размер создаваемой игры в различных единицах
  • Добавлена возможность указать dpi
  • Исправлены некоторые ошибки и опечатки

Обновление 0.91

  • Исправлена совместимость с windows XP
  • Добавлена функция отмены последнего действия
  • Добавлена возможность сделать линию или стрелку пунктирной

25 комментариев:

Предложения по действиям в программе (для удобства пользования):
ЛКМ по линии на расстоянии больше некого от ближайшей точки = добавление узловой точки для линии.
Возможно, стоит вывести кнопки управления текущим объектом (линия,надпись,рисóнок) в панель с кнопками (не уверен..).

Да, возможность относительно произвольного масштабирования тоже может требоваться - для обработки большого изображения, например.


Спасибо за предложения. Подумаю над ними

Пробую установить. Не получается. Крутится колёсико и всё. Пару раз установил с правами администратора. Но работоспособность на один раз. Повторно впрограмму не заходит. У меня Виндовс 10. Может с совместимостью что? Спасибо за ответ. Прога хорошая. Но, вот у меня трабл.


При первой возможности протестирую на win 10. Возможно дело в вашем антивирусе.

Всего 2 года назад я была 17-летней школьницей и ничего не знала о программировании. Это не помешало мне начать учиться и через несколько месяцев выпустить свою первую игру в Steam. Сегодня у меня более 10 игр для ПК, интернета и мобильных устройств и свыше 1,9 млн игроков.

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

Всему, что я знаю, я научилась сама, а теперь научу вас.

Чтобы сделать игру, нужно пройти 6 этапов:

  • Концепция
  • Графика
  • Программирование
  • Звук
  • Подготовка к публикации
  • Публикация

image

Концепция

Совет

У вас есть классная идея. Но как оформить её на бумаге?

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

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

Инструменты

  • Заметки на Mac OS.
  • Google Документы.
  • Трелло.
  • Google Диск.
  • GitHub. Требуется git и Unity .gitignore.
  • Unity Collab. Самый простой инструмент, но с ограничениями в бесплатной версии.
  • Книга Джесси Шелл «Искусство геймдизайна».
  • Сайт для разработчиков игр Gamasutra.

Графика

Совет

Если вы не умеете программировать, сначала прочтите раздел «Программирование». Вряд ли вы хотите потратить время на графику и выкинуть её потому, что под неё не написать код.

Даже если вы не умеете рисовать, игру можно сделать красивой, используя три визуальных принципа: цвет, форма и объём.


Thomas Was Alone — простая и прекрасная игра

Интерфейс

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



Неудачный и удачный шрифт

2D-анимация

Анимацию можно реализовать двумя способами:

  • Покадровая анимация. Когда вы отрисовываете каждый кадр. Для этого используйте таблицы спрайтов и Sprite Packer в Unity.
  • Скелетная анимация. Отрисовывается каждая подвижная конечность, затем анимируется её позиция и повороты. Это быстрее, легче и тратит меньше оперативной памяти. Для 2D-анимации на Unity используйте пивоты (точки привязки) или плагин Anima 2D.

Что ещё может пригодиться

Советы, которые применимы не только к игровой графике, но и к другим программам:

Без тайлов и с тайлом

  • 9-slice объекты с немасштабируемыми границами и масштабируемым центром позволяют увеличивать изображения без заполнения памяти.

Пятно расширяется, но углы остаются прежними

  • Делайте разрешение каждого объекта таким, чтобы оно делилось на 4 или было степенью числа 2.
  • В Photoshop вы можете сохранить каждый слой в отдельный файл через Файл > Экспорт > Быстрый экспорт в [формат изображения].

Инструменты

  • Photoshop.
  • Gimp.
  • Paint Tool SAI — для графики в стиле аниме.
  • Blender — мощное ПО со сложным обучением.
  • Maya — для анимации.
  • Max — для отрисовки.
    — шрифты, иконки и прочее.
    — высококачественные объекты, готовые к использованию в играх.
    — огромная библиотека графики, созданной другими пользователями.
    — закрытое сообщество дизайнеров.
    — сообщество дизайнеров, к которому может присоединиться любой желающий.
    — сообщество создателей инди-игр.

Программирование

Совет

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

    Типы данных и переменные. В основе кода лежат данные, которые хранятся в переменных. Можно объявить переменную так:


int — тип данных, i — имя переменной, = 0 — значение переменной.


Используя оператор else, можно расширить условие и отобразить что делать, если условие не соответствует истине:


For-циклы похожи на while-циклы. Для while мы пишем так:


Равнозначный for-цикл будет таким:

Если в коде что-то идёт не так, на помощь приходят исключения. Они как бы говорят: «Так, погоди, здесь ты сделал что-то нелогичное. Перепроверь ещё раз».

О чём ещё надо знать:

Код — это вызов самому себе. И ничего не понимать поначалу — нормально.

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

Другие немаловажные основы программирования:

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

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

Инструменты

  • Visual Studio Code (для MacOS) — не зависает, имеет встроенную справочную информацию и удобные «горячие» клавиши.
  • Visual Studio (для Windows).
  • MonoDevelop — устанавливается с Unity, иногда подвисает.

В Unity Asset Store, bitbucket и GitHub очень много бесплатных ассетов. В своих проектах я использую минимум по два. Они упрощают жизнь, но далеко не идеальны. Заметили ошибку — исправляйте и говорите разработчику о ней.

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

Совет

Аудио способно создавать настроение и погружать в игру, но для него нужна память.

Для начала решите: вы хотите звук? Если да, будет ли в игре музыка, звуковые эффекты, озвучка или повествование.

В любом случае потребуется запись и сведение таким образом, чтобы звук подходил под настроение игры. Например, Bastion использует органические и инструментальные звуки, хорошо вписывающиеся в мир игры. Crypt of the Necrodancer включил в себя смесь электронных ритмов и восьмибитного рока, чтобы передать темп и яркость игры.

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

Инструменты

Приложения для работы с аудио:

  • Logic Pro (только для MacOS). Цена 200 $.
  • FL Studio. Цена 99–899 $. Есть бесплатная демоверсия.
  • Reaper. Цена 60–225 $.
  • Audacity. Бесплатная программа. Имеет мало возможностей, но полезен для чистки аудио.
    . Здесь можно найти бесконечно много звуков и музыки под лицензией Creative Commons. Начните с этого плейлиста. Использовать можно бесплатно, но не забудьте указать авторство.
    .
    .

Подготовка к публикации

Совет

Существует небольшая вероятность — на 99,99 процентов, что в игре есть ошибки. А это значит, что самое время заняться баг-тестом.

Как тестировать игру на баги?

  1. Дайте другим поиграть в игру. Желательно вместе с вами, на случай, если они столкнутся с ошибкой и не смогут понять или объяснить её.
  2. Проверьте игру на разных платформах. В редакторе может не быть проблем, но работает ли она там, где её будут запускать? Будьте особенно внимательны с Linux и Android.


  1. Проверьте консоль на исключения. Если нашли исключение, найдите файл и строку, где сработало исключение. Если оно звучит по-марсиански, поищите решение в сети, и подумайте, почему именно в этой строке срабатывает исключение.
  2. Напишите в консоль. Попробуйте вывести логи (системные файлы) в предполагаемых местах ошибки. Введите разные переменные и сверьте полученные значения с ожидаемыми. При несовпадении — исправляйте.
  3. Проверьте логи. Системные записи вашего проекта дадут больше информации, чем консоль. Прочтите строки, где сработало исключение. Гуглите всё, что не знаете.
  4. Поспите. Всё починится с утра. Это просто плохой сон :)

Типичные ошибки


В чём дело: функция выполняется с несуществующей (null) переменной.
Быстрое решение: проверьте, является ли переменная null.

Примечание: Проверьте, какие кавычки вы используете.
" //правильные кавычки;
" //ненужные кавычки, они принесут вам немало ошибок.

Советы по оптимизации

  • Установите нужную частоту кадров. Для визуальной новеллы хватит 20 кадров в секунду, а вот для шутера нужны 60. Низкая частота кадров тратит меньше времени на отрисовку.
  • Анимация / система частиц / выборочная обработка. Объекты, невидимые для камеры игрока, не обрабатываются. Персонажи анимируются, частицы обновляются, 3D-модели обрабатываются только в поле зрения игрока.
  • Сжатие текстур и звуков. Для сжатия текстур используйте Crunch. Потоковая музыка и распаковка звуковых эффектов перегружают игру. Попробуйте снизить качество аудио. Сжатие может заметно снизить качество объектов.
  • Не позволяйте Raycast касаться лишних объектов. Raycast похожи на маленькие лучи, выстреливающие из ваших пальцев или мыши, когда вы касаетесь экрана или кликаете. Найдите объекты, которые не должны реагировать на действия игрока и удалите их из вычислений Raycast.
  • Используйте объектный пул. Частое создание и удаление большого количества объектов снижает производительность. Вместо этого, объедините их в список, очередь или другую структуру. Например, пули должны объединяться в один массив.
  • Оптимизируйте шейдеры. Задайте материал для каждого визуализатора. Игре не придётся создавать новые материалы в начале игры, что сэкономит ресурсы. Пусть визуализатор включает только то, что функционально необходимо.
  • Используйте AssetBundles (дословно «комплекты активов») вместо старой системы Resources в Unity. AssetBundles экспортирует ваши файлы из Unity и помещает в один файл, экономя оперативную память.

Инструменты (только для Unity)

Публикация

Совет

Самое время показать всему миру своё творение.

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

Вы не узнаете, станет ли игра хитом, пока не опубликуете её.

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

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

  • Найдите в сети контакты авторов, которые вам нравятся: почта, страница в LinkedIn, Твиттер.
  • Найдите почту издания в разделе «О нас» или внизу страницы.
Не пишите в игровые издания, которые не освещают ваш жанр или целевую игровую платформу.
  • Игра станет популярна на платформах.
  • Вы напишете напрямую. Не говорите о себе, кратко, красиво и убедительно расскажите про игру. Используйте гифки и скриншоты для привлечения внимания.


Письмо видеоблогеру Markiplier, чей канал насчитывает более 21 миллиона подписчиков


Это прекрасный инструмент для продвижения: Agar.io обрела популярность на 4chan, Butterfly Soup подскочила в загрузках после внимания в Твиттере.

Как лучше: публиковаться через издателя или самому. Хотите пойти по пути Hotline Miami, выпущенной Devolver Digital, или перенять опыт Farmville и Doki Doki Literature Club?

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

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


Количество установок игры растёт

Получилось! Теперь расслабьтесь, возьмите что-нибудь вкусное и отдохните. Вы работали не покладая рук и заслужили это.

Главное, что вы сделали игру и многому научились. Сейчас этого достаточно, и всегда есть возможность попробовать ещё раз с новыми знаниями.

Инструменты

Сервис presskit() помогает разработчикам оформить описание игры для прессы.

Платформы для публикации:

    (PC) — 100 $ за публикацию.
    (PC).
    (PC) — бесплатная публикация после разрешения.
    (MacOS) — 100 $ в год, требуется учётная запись разработчика Apple.
    (PC / Web) — бесплатная публикация.
    (PC/Web) — бесплатная публикация.
    — бесплатная публикация.
    (Web) — бесплатная публикация.
    (Web) — бесплатная публикация.
    (Web) — бесплатная публикация на сайте, заканчивающемся на «___.github.io».
    (Web/Mobile) — бесплатная публикация.
    (Mobile) — 25 $ за публикацию.
    (Mobile) — требуется учётная запись разработчика Apple.
    . Приём заявок до 1 октября.
    . Международный фестиваль инди-игр. Приём заявок до мая–июня.
    . Игровая премия Швеции. Приём заявок до июня.
    . Приём заявок до декабря.
    . Приём заявок до ноября.

Заключение

Нет простого пути создания игры. Есть только ваши решительность и усилия.

За каждым Half-Life, Minecraft и Uncharted лежат океаны крови, пота и слез.
Кен Левин, создатель Bioshock

Вы будете допускать ошибки, чувствовать себя в тупике и плакать. Это нормально — значит, вы растёте над собой.

фриланс

Кто не любит играть на компьютере или смартфоне? Таких людей, наверное, единицы.

У некоторых игроманов любовь к играм заходит так далеко, что они начинают разбираться в самом устройстве развлечения, и мечтают сами создавать игры. Что ж, сегодня существует много возможностей для осуществления этой заветной мечты!

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

Blender



Бесплатный пакет профессиональных программ для создания интерактивных игр и трехмерной компьютерной графики.

Инструментов для работы хватит как новичкам, так и профессионалам. Blender содержит в себе средства для моделирования, анимации, обработки видео и звука.

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

А вот уроки по работе в этой программе вы найдете здесь.

Unity 3D



Это мощная среда для разработки приложений и игр, в том числе для мобильных устройств. Созданные на Unity 3D игры работают на Windows, iOS, Android, Playstation 3, Xbox 360 и Wii. Можно создавать игры любых жанров; текстуры и модели легко импортируются, поддерживаются изображения всех популярных форматов.

Обучающие материалы по работе в среде (на английском языке) вы найдете на официальном сайте по ссылке.

Construct Classic


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

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

Конструктор не только бесплатный – у него открытый исходный код, и при желании вы можете настроить его и отредактировать по своему желанию.

Уроки по Construct Classic вы можете посмотреть здесь.

Game Maker Lite



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

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

Уроки по работе в программе для новичков есть на этом сайте.

Unreal Development Kit


Бесплатный движок для создания игр. Очень мощный, с массой возможностей и инструментов для продвинутых визуализаций и детальных симуляций. Можно создавать игры для множества современных платформ.

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

Видеоуроки и руководства по работе в программе можно посмотреть здесь .

Game Editor



Редактор для создания простых двухмерных игр, под операционные системы Windows, iOS, Android, Linux.

Есть встроенные наборы анимаций, который отвечают за внешний вид персонажей. Можно использовать свои графические элементы. Также программа предоставляет стандартный набор реакций, которые определяют поведение персонажа в игре. Но можно создавать и свои, на специальном скриптовом языке Game Editor.

3D Rad



Бесплатная программа для разработки 3D-игр и интерактивных приложений. Использовать код не нужно, поэтому создавать свои игры достаточно просто.

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

Game Maker: Studio


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

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

В рабочем окне программы нет ничего лишнего. Игры, разработанные на Game Maker: Studio кроссплатформенны, и готовые приложения можно интегрировать со Steam.

NeoAxis 3D Engine


Универсальная среда для разработки 3D проектов.
Это готовый движок со своими моделями, текстурами, физикой, шаблонами и графикой. Тут даже есть 24 готовые, полноценные карты!
На нем можно создавать не только игры, но и одиночные модели, сложную визуализацию программного обеспечения.

Остается только включать фантазию и творить.

Зачесались руки создать свою игру? Нет проблем. Выбирайте программу и вперед, к мечте!

Читайте также: