Про что сделать игру

Как сделать свою первую игру. 7 главных советов

Геймдизайну может научиться каждый. Главное — не бояться собственных ошибок.

Про что сделать игру

Про что сделать игру

Если вы читаете эти строки, вас, скорее всего, посещала идея сделать собственную игру. Может быть, вы даже пытались взяться за это — но, впервые увидев интерфейс игрового движка, сказали себе: «Нет». А потом закрыли движок и больше никогда к нему не прикасались.

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

Совет №1. Не стремитесь к идеалу

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

Многие берутся за разработку в надежде воплотить в жизнь свои блестящие идеи. Иногда у новичков выходит The Stanley Parable — но куда чаще их задумки гибнут ещё на первых этапах разработки, погребённые под грузом амбиций.

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

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

Про что сделать игру

Про что сделать игру

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

Совет №2. Выберите подходящие инструменты

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

При помощи разработчиков-специалистов мы разобрались в плюсах, минусах и особенностях трёх игровых движков, которые подойдут новичкам, — GameMaker Studio 2, Unity и Unreal Engine.

GameMaker Studio

Лозунг компании-создателя движка YoYo Games — «Делать игры может каждый». Дебютировавший в 2007 году GameMaker известен прежде всего своей доступностью. Например, он не требует знания кода: в редактор встроен визуальный редактор скриптов, который позволяет сразу начать делать игру.

Тем не менее его возможностей хватает, чтобы сделать качественный проект: доказательством служат такие игры, как Spelunky, Hotline Miami и Hyper Light Drifter.

Про что сделать игру

Инди-разработчик и старший геймдизайнер Кирилл Золовкин (Allods Team) рекомендует движок независимым разработчикам: «Для небольшой инди-студии или одиночки, создающего 2D-игры, трудно найти более простой и понятный редактор».

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

Однако главное достоинство GameMaker, его простота, также порождает его главные недостатки:

Кроме того, бесплатно GameMaker доступен только в первый месяц — после этого придётся купить одну из версий ценой от 39 до 799 долларов.

Unreal Engine

Движок был впервые использован в 1998 году для создания шутера от первого лица Unreal, но с тех пор успел завоевать репутацию одного из самых мощных и универсальных редакторов в игровой индустрии. На его основе созданы самые разные проекты: от серии NBA и батл-рояля Fortnite до ролевой игры The Outer Worlds и будущей S.T.A.L.K.E.R. 2.

Про что сделать игру

Инди-разработчики тоже любят использовать движок Epic Games. Валентин Щекин (Primary Games) сделал на нём свою первую игру, инди-хоррор Never Again. Он объяснил, почему выбрал именно Unreal Engine: «Меня впечатлили возможности движка. Я сразу в перспективе увидел то, что мне по силам реализовать».

На этом же движке геймдизайнер и художница Юля Кожемяко (Supr Games) делает игры-инсталляции, которые она называет playful experiences. Она выделяет интуитивный интерфейс программы: «Многие вещи [в ней] можно понять методом тыка, просто изучая редактор».

Разработчица также отмечает простор для экспериментов, который даёт Unreal Engine. Для этого в движке присутствует множество опций:

В то же время у движка тоже есть свои ограничения:

Unity

Ещё один популярный движок, любимый инди-сообществом — во многом за баланс между возможностями и дружелюбностью по отношению к новичкам. Unity одинаково хорошо подходит для разработки 2D- и 3D-игр, и с момента дебюта в 2006 году в редакторе были созданы самые разные проекты — от «симулятора ходьбы» Gone Home и мобильной AR-игры Pokemon Go до изометрической RPG Pillars of Eternity и шутера-головоломки SUPERHOT.

Про что сделать игру

Ведущий программист Pixonic Алексей Малороссиянов перечисляет качества, благодаря которым Unity обрёл популярность:

Из достоинств движка также стоит отметить Unity Asset Store, в котором в несколько раз больше ассетов, чем в маркетплейсах других движков.

В то же время в Unity есть свои недостатки, которые могут усложнить разработку:

В конечном счёте, как отмечает Алексей, всё зависит от того, чего вы хотите от своего проекта.

Если ваша задача — собрать прототип несложной механики, или в вашей команде есть только художники и геймдизайнеры, вам подойдёт GameMaker Studio. Если вы хотите создать кинематографический опыт со сложной визуальной частью, вам стоит выбрать Unreal. Если же вы хотите создать достаточно сложный проект со множеством механик, мобильную игру или если вы нацелены на множество платформ, стоит использовать Unity.

Совет №3. Соберите прототип и покажите его друзьям

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

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

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

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

Совет №4. Следуйте принципу «Каждому по способностям»

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

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

Не пытайтесь сделать всё и сразу. Minecraft тоже когда-то была всего лишь виртуальным конструктором — и посмотрите, во что она выросла.

Геймдизайнер и ведущий канала Extra Credits Джеймс Портнов рекомендует опираться на то, что вы умеете делать лучше всего. Хорошо рисуете? Создайте игру с оригинальным стилем. Не умеете рисовать, зато умеете кодить? Сделайте проект с упором на механики.

Про что сделать игру

Совет №5. Участвуйте в игровых джемах

Игровые джемы ( англ. game jam) — это мероприятия, целью которых становится разработка новых игр в ограниченный срок. Как правило, на создание прототипа участникам даётся двое суток, а тема и условия обычно объявляются перед началом джема.

Юля Кожемяко объясняет, почему так важны эти события: «На джеме есть ограниченный срок, [поэтому] ты не будешь несколько месяцев сидеть без результата, а получишь его через два-три дня… Ты увидишь, что можешь сделать, пусть даже в команде с другими ребятами. На джеме нет возможности прокрастинировать. Нужно полностью сосредоточиться на игре».

Здесь действует тот же принцип, что и с показом игры друзьям. Джемы позволяют не работать «в стол», а показать своё творчество другим участникам и, возможно, профессионалам из индустрии. Там же можно завести знакомства с будущими коллабораторами. В частности, с Ильёй Кононенко, соавтором игры The Tender Cut, вдохновлённой «Андалузским псом», Юля Кожемяко впервые встретилась именно на джеме.

Наконец, из удачного прототипа, собранного во время упражнений, вполне может вырасти полноценная игра. Так, например, на свет появились SUPERHOT, Mini Metro и Hollow Knight.

Совет №6. Составьте график разработки

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

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

Про что сделать игру

В посте, посвящённом разработке Never Again, Валентин Щекин даёт совет по составлению графика: «…Есть негласное правило разработчика: время, заложенное на разработку, нужно умножать на два. Не верьте! Нужно умножать на четыре».

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

Совет №7. Работайте регулярно

Старая пословица гласит: «Быстро — это медленно, но без перерывов». То же правило действует в геймдизайне.

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

Алексей Малороссиянов объясняет: «Изучать программирование непросто и требует определённого майндсета. Но когда начинает получаться, вы испытываете огромное удовольствие от результата… Не сдавайтесь и планомерно каждый день хотя бы немного времени уделяйте разработке и изучению движка. И всё у вас обязательно получится».

С ним соглашается Юля Кожемяко: «Возможно, пару месяцев не будет видно никакого прогресса, [не будет ощущения], что вы идёте к разработке игр, но спустя какое-то время это произойдёт. Просто надо методично работать».

Источник

На чём создавать игры: что есть что в мире геймдева

Так много разных инструментов для создания игр, что голова идёт кругом. Разбираемся, что это вообще такое и что выбрать для себя.

Про что сделать игру

Про что сделать игру

Unity, Unreal Engine, Godot, Game Maker Studio, Source, RPG Maker, CryEngine, Creation Engine, C++, C#, JavaScript, Swift, Java, Objective-C, Lua, Python, PyGame, PHP, Scratch, DirectX, PhysX, OpenGL, Havok, Cocos2D…

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

Эта статья — смесь энциклопедии и дорожной карты, которая поможет вам выбрать инструментарий для себя.

Про что сделать игру

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

Что есть что

Движки для разработки игр

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

Вот скриншот интерфейса движка Unity:

Про что сделать игру

В левом верхнем углу — игровая сцена, на которую можно добавлять объекты, двигать их, убирать и так далее. Ниже расположено игровое окно — в нём можно увидеть, как будет выглядеть готовая игра. Можно даже нажать на кнопку Play и поиграть.

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

Application Programming Interface — интерфейс программирования

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

Список современных движков:

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

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

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

Перемещение по меню, переход между локациями, управление персонажем, движение камеры, смена музыки, диалоги, система квестов — всё это и многое другое нужно будет запрограммировать. Не говоря уже об игровом искусственном интеллекте.

Если вы уже выбрали какой-то конкретный движок, то и язык нужно выбирать подходящий. Например, в Unity поддерживаются C# и JavaScript
(его модификация, которая называется UnityScript), а в UE4 — С++.

Список языков:

Фреймворки

Вы можете использовать язык, чтобы написать игру без движка. Например, на JavaScript создаются браузерные игры, на C++ или C# — игры для компьютеров, на Java — для устройств на Android, и так далее.

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

Разработчики игры Celeste решили отказаться от движков в пользу фреймворка XNA от Microsoft для языка C#. В итоге у них получился платформер с очень крутым управлением.

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

Список фреймворков:

Библиотеки

Библиотеки, в отличие от фреймворков, не дают почти готовое приложение, но предоставляют определённые инструменты. Самый простой пример — библиотека Math (математика), которая есть практически в каждом языке программирования.

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

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

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

Про что сделать игру

Физические библиотеки берут на себя работу (сюрприз!) с физикой: ускорение свободного падения, закон сохранения энергии, импульсы, векторы — самые безобидные примеры.

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

Список графических библиотек:

Список физических библиотек:

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

Что из этого выбрать

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

Критерии выбора движка следующие:

Если хотите, почитайте отзывы, но они могут вас запутать. Так, многие не любят Unity, но разработчиков на нём становится всё больше.

Source

Например, на Source сделаны практически все игры от Valve вроде Half-Life и Portal.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как создать модели для игры?

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

Сцена

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

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

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

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

Анимация

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

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

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

Теперь создаём папку 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 ();
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 сменил свою анимацию на бег, но при этом его скорость никак не изменилась. Снова уже по протоптанной дорожке идём сами знаете куда, и я снова нашел строчку кода, которая мне подошла и оказалась полностью рабочей.

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

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 ресурсов, которые их предоставляют. Советую помимо интернета начать изучение какого-либо направления гейм дева.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *