Инструкция как создать свою игру

Это статья для новичков в геймдеве. Для тех, кто хочет сделать игру, но не знает с чего начать.

67
показов

190K
открытий

14
репостов

Я постараюсь, по шагам, объяснить весь процесс от желания до релиза. Погнали!

Кто я такой?

Я гейм-дизайнер с 10-летним стажем. Работал в многих компаниях, например в Playgendary. Делал разное: и казуалки для мобилок, и танковый шутер для PC.

Теперь я инди-разработчик. Живу за счёт продажи своих игр. Выпустили 4 игры для PC и Консолей. Сейчас разрабатываю игру They Are Here: Alien Abduction Horror — хоррор от 1-го лица, про похищение пришельцами.

They Are Here: Alien Abduction Horror

Шаг 1. Запасись энтузиазмом

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

Как пополнять запас энтузиазма? Смотри документалки, читай истории успеха разработчиков. Это мотивирует!

Смотри по сторонам: на другие игры, фильмы, кино, на новые технологии. Желание изучить что-то новое или сделать что-то похожее — это то, что нужно.

Шаг 2. Собери команду или сделай всё сам!

Одному — проще. Проще придумать идею и принимать решения. Не надо спорить и описывать задачи. Сделать игру одному — возможно. Я например сделал 4 игры один.

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

Короче — есть команда, круто! Нет команды — делай всё сам, это не трудно.

Типичный инди-разработчик

Шаг 3. Сформулируй цель разработки

Очень важно понять — для чего тебе всё это?

Ну например:

1. Трудоустройство в геймдев компанию.

Продукт — портфолио. Приоритет — качество исполнения.

Вопросы: На какую должность хотим устроиться? В какую компанию(и)? Какими играми занимается компания(и)? Чему нужно научиться?

2. Научиться делать игры, освоить навык.

Продукт — опытный образец. Приоритет- новые знания.

Вопросы: Какой навык освоить? Как сделать какую-то конкретную штуку?

3. Рассказать о чём то важном.

Продукт — манифест. Приоритет — донести идею до масс.

Вопросы: Поймут ли мою идею? Как сделать продукт более массовым?

4. Сделать игру о которой мечтал.

Продукт — мечта. Приоритет — воплотить своё видение.

Вопросы: Что я хочу видеть? Чем можно пренебречь? Как закончить проект?

5. Построить свой бизнес.

Продукт — актив. Приоритет — получить доход.

Вопросы: Какие игры лучше продаются? Сколько времени займет разработка? Как сократить это время?

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

Короче — ты должен ответить на вопрос — зачем я делаю эту игру?

А рально, зачем?

Шаг 4. Вспомни, что ты умеешь или любишь

Например, я и моя жена — фанаты фильмов ужасов про пришельцев. Типа «Знаки», «Мрачные небеса», «Секретные материалы». Поэтому нам проще работать над идеями и сценарием для They Are Here

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

Тян одобряет отталкиваться от умений и увлечений

Короче — твои умения и увлечения — это твои преимущества. Учитывай их при выборе платформы, движка, жанра игры. А пока, просто подумай над этим.

Шаг 5. Выбери платформу

Если просто, то есть 2 пути: Мобилки или ПК + Консоли.

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

Путь 1. Мобики

Аудитория:

  • Массовая аудитория. Дети, пенсионеры, скучающие продавщицы. Это не геймеры. Всё должно быть очень понятно и просто.
  • Играют по 1 — 5 минут. В перерывах, в очередях, на работе. Чтобы «убить время».
  • Ценится простая яркая графика.
  • Упор на простой, но залипательный кор-геймплей.

Плюсы:

  • Некоторые жанры (головоломки, аркады) — наиболее просты в разработке. Можно сделать небольшой прототип (1-5 уровней) и показать его работодателю, например.
  • Не требуется красивая или сложная графика. Главное — чтобы было понятно.
  • Простой геймплей и гейм-дизайн.
  • Будет плюсом, если сам привык к мобильным девайсам и играм.

Минусы:

  • Очень. Высокая. конкуренция. Игр миллионы и почти все они — бесплатные. Игроки приходят только с рекламы. Нет рекламы — нет игроков. Нет денег.
  • Монетизация. Нужно встраивать рекламу или внутри-игровые покупки в игру. Знать куда и как. Тестировать чтобы всё это работало.
  • Аналитика. Нужно понимать что такое LTV. Почему он должен быть > чем CPI. Встраивать аналитику в игру.
  • Будь готов делать по 20 прототипов или улучшать продукт, пока LTV не станет > CPI.
  • Заработать денег небольшой команде, можно только с издателем. Я лично не знаю других путей.

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

Если пофиг на доход — классная, лёгкая платформа.

Если решишься, узнай подробнее про:

  • Гипер-казуальные игры (всё по теме гейм-дизайна и производства).
  • Как найти издателя гипер-казуальных игр.
  • Казуальная графика.
  • Low-poly графика.
  • Казуальные игроки (сложность казуальных игр и туториалы).
  • Аналитика мобильных игр (CPI, LTV, Retention).
  • Монетизация мобильных игр.
  • Оптимизация мобильных игр.
  • Google Play и App Store. Регистрация аккаунта разработчика. Правила и рекомендации. SEO.
  • Рекламные медиаторы и сети (Iron Source, AdMob и т.п.).
  • Сервисы рыночной аналитики мобильных игр (Sensor Tower, App Annie).

Путь 2. ПК + Консоли

Аудитория:

  • Хардкорные геймеры.
  • Играют по несколько часов. Дома. Чтобы погрузиться в игру.
  • Ценится реалистичная или стильная графика.
  • Упор на интересную историю или глубокий геймплей.

Плюсы:

  • Меньше конкуренция, чем на мобилках. Особенно на консолях.
  • Легче получить игроков и отзывы.
  • Можно хорошо заработать портировав игру на консоли, с помощью издателя.
  • Не надо возится с аналитикой и монетизацией.
  • С детства понятная платформа (ПК / Консоль) и аудитория (Геймеры).
  • Аудитория любит авторские, творческие, интересные игры.
  • Будет плюсом, если сам играешь на компе или приставке.

Минусы:

  • Плохо заходят простенькие игры (головоломки, аркады). Геймеры хотят получить опыт, вжиться в роль. Залипнуть надолго. Игра не должна выглядеть как что-то на пару минут.
  • Игры дольше в производстве. Но можно хитрить — делать маленькие игры, которые выглядят как большие, а также использовать готовые ассеты.
  • Нужно поработать над интересной идеей. Найти отличительные черты (USP), которые выделят проект.
  • Нужно продумать интересную историю или геймплей.
  • Более сложный геймдизайн.
  • Большая требовательность к качеству графики.

Короче — ПК, а особенно Консоли это элитный бутик. На полке лежит то, что пользуется спросом. Это конкуренция качества. Если хочешь заработать, то сделай интересную игру, и обязательно портируй её на консоли (через издателя). Подумай как сэкономить на производстве!

Если решишься, узнай подробнее про:

  • Геймдизайн компьютерных игр.
  • Нарратив, сторителлинг.
  • Как питчить игры.
  • Фичи игры / USP.
  • Что такое вертикальный срез.
  • Steam. Регистрация аккаунта разработчика. Оформление страницы. Тэги. Правила и рекомендации.
  • Маркетинг и продвижение инди-игр на Steam (рекомендую http://howtomarketagame.com/) Как сделать крутой постер, трейлер, скриншоты, ГИФки.
  • Портирование игр на консоли.
  • Издатели игр на консолях.
  • Конкурсы и фестивали инди-игр.
  • Работа с инфлюенсерами (ютуберами, стримерами).
  • Реалистичная графика.
  • Стилизованная графика.
  • Сервисы аналитики тэгов и жанров (SteamDB, Steamspy, SteamCharts, Game Data Crunch).
  • Сервисы рассылки ключей (Keymailer, Woovit)

Шаг 6. Узнай про геймдизайн и производство игр

Интересуйся тем Как делают игры (классный подкаст в твои наушники)

Рекомендую погуглить про:

  • Игровые механики, жанры и сеттинги.
  • Геймдизайн. Есть книга Джесси Шелла, она хорошая, но большая. Можешь гуглить про конкретный жанр.
  • Кор-геймплей и Мета-геймплей.
  • Левел-дизайн. Лучше гуглить про отдельный жанр.
  • Пользовательский интерфейс (UI) в играх.
  • Ассеты и маркетплейсы.

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

Шаг 7. Выбери движок и глянь уроки

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

Про выбор движка написано много статей — погугли.

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

  • Там есть Blueprints — это визуальное программирование. Это проще чем писать код.
  • Красивый рендер «из коробки».
  • Есть большой маркетплейс с гововыми ассетами
  • Это популярный коммерчесский движок, на котором сделано очень много игр.
  • Можно сделать игру под все платформы. Можно встроить рекламу, инапы, аналитику.
  • Много уровков. Рекомендую Unreal Engine Rus
  • Классный интерфейс.
  • Куча встроенных функций.
  • Бесплатный до ляма баксов дохода.
Unreal Engine 4 Blueprints

Перед началом работы над игрой, сделай пару очень простых подделок «в стол».

Сделай змейку, пинг-понг и т.п. Пофиг на качество, пофиг на геймдизайн. Главное — попрактиковаться «на кошках», пощупать функции движка.

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

Короче — почитай про выбор движка. Потрать время на его изучие.

Шаг 8. Выбери жанр

Жанр — это твоя ниша. Жанр — это очень важно. Есть жанры, в которые никто не играет. А для некоторых нужно изучить много дополнительного материала.

Лучше выбрать жанр который:

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

Как только ты определилися с жанром — гугли всё по производству игр в этом жанре. Геймдизайн, графика, уровни, звуки. На что сделать акцент?

Поиграй в лучшие игры в этом жанре. Посмотри видео об этом жанре.

Короче — выбери жанр и узнай про него всё что можешь!

Шаг 9. Придумай идею, концепцию, USP

Идея — ядро твоей игры. Зерно, из которого вырастет проект.

Какая идея хорошая?

  • Понятная. Должна быть понятна каждому. Например, твоей маме.
  • Интересная. Уже хочется поиграть в это! Люди любят риск и новый опыт, который хотят, но не могут пережить в реальной жизни. Например GTA — это симулятор крутого парня, которым все хотят быть, но не могут.
  • Популярная. Это не артхаус, не что-то странное или специфичное. Идея обращается к понятным образам из жизни или массовой культуры.
  • Выделяющаяся. Такого раньше не было. Или было, но давно. Или в другом жанре. Или в другом стиле. Или плохо сделано.

Что поможет тебе в выборе идеи?

  • Каталог игр на твоей платформе. Смотри что популярно. Думай как это изменить, подать под другим углом. Хмм…игра про постройку железной дороги в топе. А что если, мы играем за машиниста?
  • Сайты-сервисы с аналитикой тэгов и жанров на платформе. Можно отследить популярность жанра, количество игр в нем. Можно скрестить отдельные тэги между собой.
  • Массовая культура. Фильмы, книги, комиксы, короткометражки, гифки, картинки из интернета.

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

Когда родил идею

Про питч

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

На основе Питча, описываем концепт игры. Более развернутое описание игры на одну страничку. За кого мы играем? В чем цель? Что можно делать? Какие эмоции вызываем?

Про USP

Продумай ключевые фичи — USP, которые будут продавать твой проект. Они вытекают из твоей идеи.

Например, идея Панка — издевательство над массовой культурой и модой.

Ключевые фичи (USP) Панка: вызывающее поведение, агрессивная музыка и странные прически.

Зацени мои USP, чувак!

Показывай свои USP везде — в трейлере, скриншотах, постере, описании игры. Говори про них общении с прессой и издателями.Тычь ими в лицо!

Например, у They Are Here — это пришельцы, кукурузные поля как фильме Знаки, и НЛО.

Кароче — почитай про идею, концепцию, питч, USP игры. Сформулируй чёткое видение твоего проекта и доноси это видение до всех. Без него — всё развалится и поплывет.

Шаг 10. Составь список ассетов и задач

Ассеты — это кирпичики, из которых состоят игры.

Составь список того, что нужно сделать. Хотя-бы крупными мазками. Сделать уровнь, найти музыку, вставить персонажа. А еще надо 20 видов мечей.

Оцени время, а потом умножь его на 2. Даже если тебе кажется это глупым. Умножь его в 2 раза!

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

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

Прикинь, что для мобильных гипер-казуалок нужно сделать минимум 30 минут геймплея. А для ПК и Консолей, лучше сделать игру на 2 часа. Если можешь больше — круто!

Настоятельно рекомендую!

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

Шаг 11. Организуй процесс

Записывай, всё что надо сделать. Каждую мелочь. Иначе — забудешь.

Ставь задачи. Себе и команде. Рекомендую Trello (проще) или Asana (функциональнее).

Cобирай инфу по проекту в одном месте. Можно юзать доски типа “Miro” или вики типа Notion.

Если ты один, или у вас небольшая команда, не парься над большой и красивой документацией. Лучше покажи пример, начерти схему, объясни на пальцах ЧЁ НАДО сделать.

Референс — лучшее описание задачи для художника! Например, я сказал жене — хочу обложку как у Слендера, но с пришельцем. Этого — достаточно!

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

Шаг 12. Сделай демку

Демо-версия / Вертикальный срез / MVP — очень близкие по смыслу понятия. Это маленький кусочек игры финального качества.

Маленькая, но качественная демка

Демо-версия решает множество задач:

  • Поможет записать видео, скриншоты, гифки
  • Покажет окупаемость мобильной игры
  • Поможет устроиться на работу
  • Ускорит набор вишлсистов в Steam
  • Получит отзывы от игроков и стримеров
  • Можно участвовать в фестивалях и конкурсах
  • Только с ней можно найти издателя.

Короче — сделай демонстрационную версию игры. Это твоя визитная карточка. Показывай её всем. Говори — я сделаю так-же, только больше.

Шаг 13. Фигачь! Прорывайся к релизу!

Не буду вдаваться в подробности о релизе. Всё зависит от игры и платформы.

Лучше дам рекомендации как дожить до релиза:

  • Не меняй идею на ходу. Сильно. По чуть-чуть можно.
  • Не начинай другие проекты. Не распыляйся. Делай, что запланировал.
  • Составь график работы. Работай над игрой постоянно. Хотя бы по 3 дня в неделю, по 2 часа в день. Больше — быстрее!
  • Надоела разработка? Поиграй в похожие игры. Посмотри похожие фильмы. Найди, что было бы круто сделать.
  • Всё равно надоела? Мечтай о релизе. Представь как это будет здорово и вечно!
  • Показывай свою работу — пиши посты, пости гифки, давай поиграть стримерам. Твоя цель — получить позитивную обратную связь. Ну или отрицательную.
  • Узнавай что-то новое про производство игр. Слушай подкасты, смотри доклады. Это мотивирует, помогает в производстве.
Будь как этот парень

Спасибо, что дочитал!

Эта статья — вводная. Тебе много предстоит узнать и загуглить на каждом шаге.

Короче — ты можешь сделать это! Реально!

Главное — желание!

Инструкция начинающего разработчика игр

Время на прочтение
12 мин

Количество просмотров 221K

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

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

И так Вы решили сделать свою игру, о чём Вам нужно подумать…

Думаем – нужно ли это тебе

Перед тем, как за что-то взяться, необходимо всё обдумать. А перед тем, как заняться разработкой игр, необходимо обдумать всё очень хорошо. Очень часто начинающие разработчики, достигнув определённых успехов в чём-то (сделал мод для игры, небольшой фан-сайт и пр.), начинают грезить созданием своей игры. Это происходит из-за того, что они имеют слабое представление о процессе разработки игр.

Я перечислю основные ошибки в их представлении:

  • Нет романтики. Многие начинающие разработчики, наигравшись вдоволь в игры, приходят к мысли, что создавать игры также интересно, как и играть, только чуть-чуть сложнее. Это очень частая ошибка. Чем больше и сложнее игра тем, скучнее и безынтереснее процесс её разработки. Романтики совершенно нет.
  • Трудно и даже невозможно. Многие после нескольких (или даже одного) успешного проекта наполняются уверенностью, что написать игровой проект им по силам. На самом деле, игры – это одно из самых сложных направлений разработки. И чем «серьёзнее» игра, тем проект сложнее. В процессе создания игры разработчик может столкнуться с нерешаемыми проблемами, которые убивают на корню энтузиазм даже у самых упёртых.
  • Отвращение к играм. Со временем у каждого матёрого разработчика игр развивается отвращение к играм. Сначала просто они становится менее интересными. Затем начинаешь замечать, что они вовсе не интересны, а интересно только, как они работают. Чем дальше, тем хуже.
  • Конкуренция и качество продукта. Играми занимаются многие студии и независимые разработчики. Существует своеобразный «уровень вхождения» в этот бизнес. Сейчас нельзя сделать успешную игру, нарисованную акварелью (да, такие игры встречались в начале 2000-х). Она просто не выдержит конкуренции. Соответственно, абы что не сделаешь. Тут скрывается важный психологический момент – начинающий разработчик вынужден делать хороший продукт, иначе он будет испытывать постоянное чувство страха неуспешности своего продукта.
  • Время и ресурсы. И самая распространенная ошибка – это то, что ресурсов (время, деньги, знания) им хватит. Чтобы понять объём работ, читайте следующие пункты.

Концепция и ТЗ

Когда-то давно я написал довольно неплохую статью о концепции проекта. За последние пару лет мои взгляды слегка поменялись, но суть осталась та же.

  • Что же такое концепция? Концепция игрового проекта — это документ, описывающий цели, задачи, основные особенности проекта, исследование рынка и целевой аудитории, условия его выполнения. Также, так как проект игровой, обязательно описание игровой механики, игровых понятий, примерный сценарий и концепт-арт. Если Вы ещё рассчитываете делать проект не в одиночку (что весьма вероятно), то понадобится ещё техническое задание (ТЗ) – документ, содержащий описание необходимых работ, сроки и условия.
  • Зачем нужна концепция? Очень хороший вопрос. Зачем заниматься какой-то «писаниной», когда нужно собирать команду и писать код?
    В первую очередь концепция нужна, чтобы самому получить полноценное представление о конечном результате и оценить объём работ. Без чёткой и продуманной концепции у Вас в итоге получится, соответственно, противоречивая и непродуманная игра. Без концепции существует большая вероятность возникновения ошибок организации игровой механики или ошибок реализации.
    Во вторую очередь концепция нужна для того, что бы другие поняли то, что Вы хотите сделать. Все члены команды должны работать над одним общим проектом. Об этом общем проекте члены команды узнают из документа концепции проекта. Это нужно, чтобы не было расхождений в представлениях о конечном результате. Если Вы решили создать игру и для этого собираете команду, то первые вопросы от будущих членов команды будут: «А что предстоит мне сделать? Что в итоге мы должны получить?». Вы должны будете им предоставить концепцию проекта и ТЗ. Без концепции и ТЗ Вы не привлечёте ни одного нормального специалиста.
  • Объёмы. Весьма интересен вопрос объёма концепции. Тут необходимо отталкиваться от сложности игры и её разработки. Если у Вас простая игра, Вы работаете один и Вы способны удержать идею игры в своей голове, то можно вообще не писать концепцию. Если удержать в памяти все моменты нельзя, то необходимо перенести их на бумагу (или другой носитель). Если Вы будете работать в команде или использовать помощь других людей (инвесторы, художники и прочие), то Вам просто необходима развёрнутая концепция и ТЗ для каждого человека. Критерий один – понятность. Нужно чтобы любой человек, ознакомившись с концепцией и ТЗ, представил конечный результат, так же как и Вы.
    Обратите внимание на то, что, если Вы понимаете свою концепцию, то это не значит, что её поймут другие. Написание концепции выполняет роль «лакмусовой бумажки». Если Вы не можете написать понятную концепцию (примерно, 5 страниц для небольшой игры, несколько десятков страниц для большой), то вряд ли Вы закончите в итоге проект.
  • Детальность. В концепции должны быть ответы на все вопросы. После прочтения концепции должно сформироваться полное представление о проекте. Специалисты первым делом смотрят на концепцию, если концепция окажется для них не полной и непонятной, то они не будут с Вами работать.
    Отдельно стоит упомянуть концепт-арт. Он должен быть, хотя бы в простейшем виде. Он является доказательством решения проблемы с контентом, содержимым игры (смотрите следующий раздел).
  • Русский язык. Для многих это серьёзная проблема. Если документ концепции содержит множество грамматических, орфографических и синтаксических ошибок, то ни один специалист не воспримет его всерьёз. Помните: незнание русского языка очень вредит бизнесу.
  • Время. Желательно в сразу в ТЗ указать сроки выполнения работ. Проблема в том, как оценить это время, если никогда подобным не занимался. Точно ответа на этот вопрос Вы никогда не получите, всё придёт с опытом. Я только дам один совет: учитывайте не только время разработки, но и время на исправление ошибок (примерно 50% от времени на разработку).

Контент

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

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

Разберём основные моменты этого раздела.

  • Сложность. Это самая главная проблема в вопросе контента. Оказывается, в большинстве случаев подготовка контента является самой сложной задачей, сложнее написания программного кода, сложнее тестирования и отладки, и сложнее реализации игры. Естественно, если игра маленькая, то это не так заметно, а если большая, то на долю создателя контента выпадает до 80% работы по проекту.
  • Объёмы. Часто из-за того, что разработчики никогда не выполняли задачи создателей контента, им очень сложно оценить объёмы. Кажется, что там такого ¬– пара десятков картинок и 3-4 звука. Но если посчитать, то получается 40 крупноразмерных изображений, 400 мелких изображений, два десятка звуков (я привел пример среднестатистической BMMORPG). Хорошо, что это всё можно подсчитать при подготовке концепции.
  • Качество. Во-первых, надо понимать, что игроки работают непосредственно с контентом. Во-вторых, надо помнить, что существует огромное количество игр-конкурентов с хорошим контентом. Можно сделать вывод: игра с плохим контентом будет не конкурентоспособна, т.е. контент в игре должен быть высокого качества.
  • Время. Вполне логично, что на подготовку больших объёмов качественного контента уходит очень много времени. Времени уходит больше, чем на все остальные направления вместе взятые (маленькие игры не в счёт). Учитывайте это, когда будете планировать и рассчитывать сроки.
  • Стоимость контента. Хороший контент стоит «хороших» денег. Очень «хороших» денег, которых у начинающих разработчиков игр обычно нет. Многие разработчики питают иллюзорную надежду найти «бесплатного» создателя контента (или дешёвого). Найти можно, но он либо будет создавать низкопробный контент, либо создаст для Вас немного контента, а затем переметнётся к тем, кто будет ему платить. Короче говоря, «бесплатного» создателя хорошего контента Вы никогда не найдёте. Именно по этой причине нет хороших «OpenSource» игр.
  • Воровство. Из-за существования проблемы дорогого контента, иногда появляются разработчики игр, которые его воруют. Мол, что такого?.. возьму-ка я из этой игры десяток картинок, а фоновые изображения найду на DA, а в качестве фоновой музыки поставлю пару любимых песенок Rammstein. Проблема в том, что авторское право контента достаточно легко подтвердить. У «жертвы» воровства есть либо исходные файлы контента, либо документ о передаче контента от его создателя. Для воров контента очень велик шанс нарваться на статью 146 УК РФ.
  • Единый стиль. Ещё один важный момент, о котором часто забывают. Что бы игра смотрелась цельной и продуманной, ей нужно иметь единый стиль. Создатели контента не роботы, поэтому делают работы в своём индивидуальном стиле. Отсюда можно сделать вывод: желательно чтобы содержимое игры создавало как можно меньше человек.
  • Дилемма. После прочтения описанных выше моментов можно построить следующую цепочку: Конкурентоспособная игра требует использование качественного контента. Качественный контент может сделать только профессиональный создатель контента. Профессиональный создатель контента стоит недёшево. Решений данной проблемы всего лишь три:
    1. Не делать игру, то есть отказаться от направления разработки игр.
    2. Найти инвестора. Но тут сразу нас поджидает проблема концепт-арта. Кто будет подготавливать концепт-арт, если нет денег на художника? А без концепт-арта никто не будет инвестировать в Вас.
    3. Решать проблему собственными силами. То есть кто-то из членов команды должен быть создателем контента и должен получать зарплату, даже если все остальные сосут палец.

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

Как ни странно, создание программного кода для игр не является самой сложной задачей, но в тоже время и не является простой.

  • Команда. В отличие от создателей контента программистов для своей команды найти легко. Это объясняется тем, что при определённом уровне подготовки написание программного кода игры не такая уж сложная задача. Можно найти «бесплатных» программистов, готовых работать ради интереса. А за плату и «имя» (упоминание, как разработчика игры) можно найти программиста, который будет писать хороший годный код. Но… сейчас не начало 2000-х и программисты поумнели. Первым делом адекватный программист попросит разработчика продемонстрировать концепцию и ТЗ. Затем спросит про создание контента или финансирование, которое пойдёт на его создание. Специалисты прекрасно понимают, что незачем вкладывать силы в изначально провальный проект. Если у Вас нет концепции и не решен вопрос с контентом, то нормального программиста Вы не найдёте.
  • Сначала делаем большое, потом маленькое. Достаточно простой совет, но ему чаще всего не следуют. Игровой проект в большинстве случаев сложен и имеет множество зависимостей. Все это сложно просчитать на уровне составления концепции, частенько приходиться что-то менять в планах. Поэтому, чтобы не выполнять двойную работу, сначала необходимо сделать общую работающую конструкцию (прототип), а затем углубляться в детали.
  • Что сначала контент или код? Прочитав раздел про контент, Вы уже, наверное, поняли, что современные игры основаны на контенте, а не на программировании. Отсюда дилемма – код подгонять под контент или контент подгонять под код. Оба подхода имеют место в современном процессе разработки. Если подгонять код под контент, то нагрузка падает на программиста, время разработки увеличивается. Это дешёвый способ. Если контент подгонять под код, то нагрузка с программиста спадает, и при учёте, что контент подготавливают наёмные работники, время разработки сокращается. Это дорогой способ, так как нагрузка падает на наёмных создателей контента. Заранее оцените ситуацию и придерживайтесь одного из подходов.
  • Нерешаемые ошибки. Это даже не проблема, а предубеждение. Разработка игры весьма сложный процесс. Бывает, что разработчик сталкивается с нерешаемыми проблемами (либо решаемыми крайне тяжело) и ему приходиться пересматривать чуть ли не весь проект. Психологически это очень трудно. Многие, даже самые упёртые разработчики, попав в такой «тупик», теряют энтузиазм и закрывают проект. Предубеждение в том, что все считают, что с ними такого не случиться. Совет один: будьте психологически готовы пересмотреть весь проект и выполнить работу заново.
  • Журналы. Совет лично от меня. Ведите три журнала:
    1. Журнал выполненной работы по проекту для отслеживания динамики разработки;
    2. Журнал идей по проекту, чтобы не забыть их и, если возможно, включить в концепцию;
    3. Журнал найденных багов и ошибок, которые необходимо исправить в будущем.

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

  • Время. При определении времени, которое планируется на написание кода, часто делают одну ошибку – не учитывают затраты времени на исправление багов и отладку кода.
  • Авторство программного кода. Определённый «маразм» наблюдается, у некоторых программистов. Они считают, что обладают абсолютными правами на код, который ими написан, что даже после релиза игры они могут предъявить права на «часть кода» игры. Что бы защитить это «священное» право они могут пойти на всякие низости (программные бомбы, бакдоры, отказ от передачи исходных кодов и прочие). Мой совет прост – остерегайтесь таких неадекватных программистов. Программный код не контент. Доказать его авторство очень сложно. Поэтому нормальный программист сначала договаривается, что он получит за код; затем его пишет; потом передаёт разработчику и получает вознаграждение; после чего уже ни на что не претендует. Также должно быть организовано и в команде.

Тестирование

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

  • Тестирование сторонними людьми. В процессе разработки тестирование проводиться в основном своими средствами. Со временем глаза привыкают к имеющимся игровым моментам, вырабатываются умение работать в данной системе, короче, ошибки становятся менее заметными. Поэтому устраивайте периодические тесты продукта сторонними людьми, которые никогда не видели ваш продукт. Следите за их реакцией на различные игровые моменты, как они воспринимают меню игры и, вообще, расспросите их общее впечатление. Поверьте мне, один такой тест даст Вам очень большой объём полезной информации. Проводите их чаще, прислушивайтесь к обратной связи, и Вы получите на выходе хорошую игру.
  • Женщины. Когда-то я написал неплохую статью про женщин и игры. Смысл в том, что женщины видят всё по другому. Поэтому, желательно, чтобы в тесте игры участвовала хотя бы одна женщина (девушка), даже если игра не рассчитана на женскую аудиторию. Их обратная связь будет невероятно полезна.

Организационные моменты

  • Команда. Как Вы могли догадаться, созданием таких проектов, как игры, лучше заниматься командой. Это обосновано тем, что создание контента совершенно другой вид деятельности отличный от программирования и организации проекта и одному заниматься такими разными видами деятельности сложно. Минимальная команда – это два человека, создатель контента и разработчик. Чтобы не было непонимания, уточню – наёмный работник, по-моему, тоже в какой-то мере член команды.
    Конечно, можно заниматься разработкой и в одиночку. Есть такие «сумасшедшие», которые и пишут код, и рисуют графику, и сочиняют музыку, но это их проблемы.
    Собрать команду при наличии финансирования легко – форумы программистов и создателей контента, биржи фрилансеров Вам в помощь. При отсутствии финансирования можно найти только программиста, а вот нормального создателя контента не найдёте – здесь надо надеяться либо на себя, либо на удачу.
  • Юридическое оформление. Здесь всё просто. Хотите иметь с игры деньги и обезопасить себя от рейдерского захвата (когда кто-то внаглую ворует вашу игру), то вам нужно юридическое оформление на уровне индивидуального предпринимателя. Если Вы ещё собираетесь распределять проект по долям, то нужно оформление на уровне ООО. Поэтому если при поиске членов команды Вы обещаете долю в проекте, то не удивляйтесь, что Вас будут просить предъявить реквизиты вашей организации.
  • Контакты. Никогда не пренебрегайте знакомствами. Знакомьтесь с другими разработчиками, общайтесь и обменивайтесь контактами. В будущем, возможно, знакомство с ними принесёт Вам пользу.
  • Реклама. Так как игр на рынке много, то чтобы пользователи выбрали именно вашу игру, нужно привлечь к себе внимание. Делается это при помощи рекламы на различных ресурсах. Логично, что реклама эта требует: во-первых денег, а во-вторых, рекламный контент (банеры, видеоролики, статьи). Возможны и другие способы ¬– связи, спам, рекламные акции и прочие, но они не всегда эффективны.
    Без рекламы игра, точно также как и без контента, является провальным проектом. Обратите на это внимание. Но тут ситуация может достаточно легко исправлена инвестированием и сторонней помощью.
  • Инвестирование. Понятное дело, что с деньгами игру делать гораздо легче, но без развёрнутой концепции (с концепт-артом), команды и рабочего прототипа никто не будет финансировать ваш проект. То есть на начальных этапах на финансирование не надейтесь. А вот на последних этапах разработки ситуация может в корне поменяться – могут появиться инвесторы и Вам всё равно будут нужны деньги для организации рекламной компании.
    Чтобы найти инвесторов, собирайте контакты.
  • Сторонняя помощь. Вместо инвесторов можно найти стороннюю помощь (реклама за рекламу, помощь в распространении за процент и прочие). Тут надо ориентироваться по ситуации. Чтобы найти стороннюю помощь, так же собирайте контакты.

Послесловие

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

UPD: Статья получилась успешной, даже очень. Но в комментариях прослеживаются замечания по поводу отсуствия романтики и отвращения к играм. Поэтому я прокомментирую эти моменты.
Многие опускают тот факт, что статья для

начинающих

разработчиков игр, претендующих на роль

лидера

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


Загрузить PDF


Загрузить PDF

Разработка видеоигры — дело непростое. Тем не менее, если у вас есть идея на миллион, то лучше начать как можно скорее! Независимых разработчиков в последнее время становится все больше, а создание игры еще никогда не было дешевле или проще. Эта статья расскажет вам про основные вехи создания видеоигры.

  1. Step 1 Выберите жанр.

    Да, все успешные игры — уникальны. Тем не менее, их можно причислить к тому или иному жанру. Определитесь с жанром первым же делом! А жанры бывают следующие:

    • Аркады
    • Шутер
    • Пазл
    • Платформер
    • Гонки
    • Квест
    • Бесконечный забег
    • РПГ
    • Шутер от первого лица
    • Манга
    • Башенная защита
    • Ужастик
    • Файтинг
    • Комедии
    • Выживание
  2. Step 2 Выберите платформу.

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

    • Общее правило таково — проще разрабатывать игру, сразу представляя, как и на чем в нее будут играть. Есть исключения, само собой, но исключения есть из всех правил.
    • Хотите сделать игру для iPhone? Ее надо будет отправлять в AppStore с компьютера под управлением Mac.
  3. Step 3 Напишите черновик концепта игры.

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

  4. Step 4 Создайте основную философию игры.

    Это как бы мотивация, которая заставит игрока играть и играть, это самая суть игры. Не стесняйтесь проверять, не отступили ли вы от философии в процессе разработки. Примерами философии игры можно назвать:

    • возможность вести машину;
    • возможность проверить рефлексы игрока;
    • возможность симуляции экономики космической державы.
  5. Step 5 Запишите все особенности своей игры.

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

    • Концепт: постройка космической станции.
    • Особенность: можно построить собственную космическую станцию и управлять ею.
    • Концепт: урон от метеоритов.
    • Особенность: игрок старается выжить в условиях метеоритных дождей, вспышек на солнце и так далее.
    • Перечислите особенности сейчас, и потом вам будет проще вставить их в план разработки по игре. Все особенности лучше заложить в самом начале, чем «лепить» все потом одно на другое.
    • Переписывайте список особенностей до тех пор, пока ней поймете: «Это именно та игра, которую я хочу создать».
  6. Step 6 Устройте перерыв.

    Спрячьте в стол черновики на недельку-другую. Потом достаньте и взгляните на них свежим взором. Это не повредит.

    Реклама

  1. Step 1 Распишите все до мелочей.

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

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

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

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

    Опишите все так подробно и понятно, чтобы, начав работу по кодированию и прорисовке, все и все поняли, причем сразу. Каждая механика, каждая особенность — все должно быть объяснено на 5+!

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

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

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

    Реклама

  1. Step 1 Выберите движок.

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

    • С помощью движков упрощается работа с графикой, звуками и искусственным интеллектом.
    • Разные движки — разные плюсы и минусы. Что-то лучше подходит для двумерных игр, что-то — для трехмерных. Где-то нужно лучше разбираться в программировании, где-то можно начать работать, не отличая функцию от процедуры. Популярны следующие движки:
      • GameMaker: Studio — один из самых популярных движков для двумерных игр.
      • Unity — простой в использовании движок для создания трехмерных игр.
      • RPG Maker XV — скриптовый движок для создания двумерных ролевых игр в стиле JRPG.
      • Unreal Development Kit — трехмерный движок многоцелевого использования.
      • Source — очень популярный и часто обновляемый движок для создания трехмерных игр.
      • Project Shark — 3D движок для начинающих и продвинутых пользователей.
  2. Step 2 Изучите особенности движка или наймите специалиста по нему.

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

    • Это может стать началом командной работы над игрой. Сначала — программист, потом специалист по звуку и дизайнер, затем тестер…
    • Существует огромное сообщество независимых разработчиков, с которыми стоит сотрудничать. Если людям понравится ваша идея — они, вдохновившись, помогут вам воплотить ее в жизнь!
  3. Step 3 Сделайте прототип игры.

    Изучив движок, сделайте прототип игры. Это, по сути, тест базовой функциональности игры. Графика или звук пока не нужны, нужны лишь заполнители и тестовая область.[2]

    • Проверять и переделывать прототип надо до тех пор, пока играть не станет весело. Во время проверок надо выявлять все, что работает неправильно, и вносить соответствующие изменения. Если прототип не вызывает у людей восторга, то и сама игра вряд ли их поразит.
    • Прототип будет меняться не раз и не два. Это нормально, ведь вы никогда не знаете заранее, как поведет себя та или иная механика.
  4. Step 4 Поработайте над управлением.

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

    • Плохое, сложное, непонятное управление — разочарованный игрок. Хорошее, качественное, точное управление — счастливый игрок.

    Реклама

  1. Step 1 Подумайте, что нужно проекту.

    Может, вашей игре будет достаточно строгих геометрических форм и 16 цветов? Или вам нужны сложные рисунки, создаваемые целой командой дизайнеров? А звуки? Будьте реалистичны в своих оценках и нанимайте людей соответственно.

    • Большинство индивидуальных игр создаются силами небольшой команды или даже одного человека. Учтите, что в одиночку создание игры займет куда больше времени.
    • Есть много бесплатных ресурсов, доступных для всех желающих. Главное в этом деле — не нарушать авторские права.
  2. Step 2 Нарисуйте черновые арты.

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

    • Стилей графики в играх много. Кого-то устраивает пиксель-арт — и, к слову сказать, это самый частый выбор для индивидуальных игр. Оно и понятно, ведь пиксель-арт — это самый простой и дешевый способ создания графики, не лишенный при этом и определенной толики очарования.[3]
    • Есть силы и средства? Что скажете о трехмерной графике? Простые 3d-модели можно сделать самому, на сложные надо будет нанимать людей со стороны. И не забудьте, что поверх моделей должны быть наложены текстуры.
  3. Step 3 Разработайте мир игры.

    Есть арты по игре? Можно начинать переходить к созданию игры и, с учетом стилистики, начать рисовать уровни или игровые области. Если же ваша игра в стиле «пазл», то, соответственно, придумывать головоломки.

  4. Step 4 Улучшите графику.

    В зависимости от выбранного стиля графики, вам на помощь могут прийти разные программы, например:

    • Blender — один из самых популярных 3d-редакторов (причем бесплатный). В сети полным-полно руководств по нему, так что разобраться и быстро начать работать проблемы не составит.
    • Photoshop — очень полезен на этапе создания текстур, а также для отрисовки двумерного арта в целом. Да, он платный. Если хочется бесплатного аналога — возьмите Gimp, у него почти такой же функционал.
    • Paint.net — бесплатная альтернатива такой программе, как Paint Shop Pro, позволяет легко и просто создавать двумерный арт. Особенно полезна эта программа при работе над двумерным пиксель-артом.
    • Используйте Adobe Illustrator. Эта программа отлично подходит для векторной графики. Стоит она недешево, так что, если денег у вас в обрез, используйте Inkscape — бесплатная альтернатива Adobe Illustrator с открытым исходным кодом.
  5. Step 5 Запишите звук.

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

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

    Реклама

  1. Step 1 Играйте в свою игру как можно больше.

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

  2. Step 2 Не забывайте о философии игры.

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

  3. Step 3 Доводите все до ума.

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

    Реклама

  1. Step 1 Начните искать баги.

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

  2. Step 2 Делайте то, что в обычной ситуации бы делать не стали.

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

    • Тестирование игры — процесс длительный. Порой он занимает даже больше времени, чем сама разработка. Впрочем, чем больше у вас тестеров — тем быстрее все завершится и тем больше багов вы найдете.
  3. Step 3 Расставьте приоритеты в исправлении багов.

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

  4. Step 4 Следите, как играют другие люди.

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

    Реклама

  1. Step 1 Проверьте еще раз движок на тему издания игры.

    Каждый движок поддерживает ряд платформ, а некоторым движкам требуются дополнительные лицензии, чтобы выпустить игру для другой платформы. Например, Game Studio в стандартной версии делает игры для Windows и Mac OS X. Чтобы сделать на этом движке игру для мобильных платформ, нужно приобрести его Pro-версию.

  2. Step 2 Рекламируйте игру.

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

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

    Кто-то из индивидуальных разработчиков просто выкладывает игру у себя на сайте. Если это онлайн игра, то затраты на хостинг и нагрузку на него обойдутся вам недешево. К тому же не каждый хостинг может выдержать подобные нагрузки. Это, конечно, хорошо когда есть возможность. Однако есть фирменные магазины, которые выпускают независимые игры для PC и Mac OS X, а именно:

    • Steam
    • Desura
    • Humble Store
    • Gog
    • Игры для мобильных распространяются через магазин мобильных приложений для той или иной платформы. Этот же принцип касается и консольных игр.
    • Разные сервисы — разные комиссии за размещение игры. Изучите этот вопрос как можно тщательнее.
  4. Step 4 Занимайтесь поддержкой игры.

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

    Реклама

Советы

  • Игры создаются по-разному. Эта статья — так, общий обзор. Вы вправе найти тот способ создания игр, который подходит вам лучше всего.
  • Вряд ли вы сорвете большой куш и станете миллиардером сразу после размещения игры в сети. Создание игр — это творчество, а деньги — так, бонус.
  • Люди будут сомневаться в том, сможете ли вы сделать игру. Это нормально. Пока вы верите в себя — вы сможете.
  • Начните с простых игр. Деньги не должны быть в приоритете. Создайте игру, которая вам нравится. Придет время, будут и деньги.
  • Помните о своей аудитории. Вы создаете игру для детей, подростков или для взрослых? Знать это нужно для рекламы. К примеру, игры для детей стоит рекламировать в детских программах, а не в газетах или ночных передачах.

Реклама

Предупреждения

  • Избегайте попадания в рейтинг AO (Adults Only — только для взрослых) от ESRB, иначе ни продавцы, ни интернет-магазины не захотят продавать вашу игру.
  • Проблемы и сложности обязательно будут. Но не опускайте руки! Создание хорошей игры требует немало времени, но результат оправдает все усилия!
  • Создавать игру — не так весело, как играть в нее. Многие юные геймеры хотят создать игру, лишь потому, что любят в них играть. Играть и разрабатывать — разные вещи. Вам придется проходить один и тот же отрывок игры сотню, а то и тысячу раз, и так нужно будет делать годами. Если вы терпеливы — дерзайте. Многим наскучивает создание игры уже через пару месяцев.
  • Изучите всю доступную информацию, чтобы понять, действительно ли разработка игр — это то, чем вы хотите заниматься.

Реклама

Об этой статье

Эту страницу просматривали 534 510 раз.

Была ли эта статья полезной?

Сделать игру на Unity сможет даже начинающий кодер, который не знает С#. Большое количество обучающих материалов и активное комьюнити значительно облегчают первые этапы знакомства с движком и создание первого проекта. Вместе с ведущим разработчиком Unity Владимиром Филимоновым и преподавателем на курсе «Разработчик игр» разбираемся, почему писать код — не главное в геймдеве и какие базовые инструменты и ПО в играх нужно освоить, чтобы соорудить свою первую игру.

Что такое Unity

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

Наглядный пример игры, созданной на Unity, которая поддерживает разные устройства, — Genshin Impact, успешный мультиплатформенный проект китайской студии miHoYo Limited. Более популярной стала ее мобильная версия, но пользователи могут войти в аккаунт, например, с компьютера и продолжить играть с того же момента, на котором остановились в мобильной версии. Кроме Genshin Impact, на Unity созданы такие известные проекты, как Hearthstone, Outlast, Cuphead, Pokemon GO и многие другие.

В игровой индустрии существуют десятки разных движков. Одни разработаны под конкретную игру, на других можно делать игры конкретного жанра (шутеры от первого лица, платформеры, гонки), а есть универсальные, вроде Unity, которые открывают разработчикам больше возможностей. Уникальность Unity заключается в сочетании нескольких факторов. Кроме того, что этот движок позволяет создавать проекты под разные устройства и не ограничивает разработчика конкретным жанром, он:

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

Как создать простую игру

При создании собственного проекта важно помнить, что разработка кода — это примерно 20% игры; гораздо большее значение в ней имеют другие аспекты:

  • Геймплей — это общее понятие взаимодействия игрока с игровым миром, которое определяет его действия (бежать вперед, преодолевать препятствия, стрелять по мишеням, обгонять других) и цели (прийти первым к финишу, выбить 10 из 10, победить врага в бою, собрать как можно больше монет). Геймплей напрямую связан с жанром игры, так как у каждого из них есть специфичный набор правил и механик.
  • Игровые механики конкретные элементы взаимодействия с игрой, которые входят в состав геймплея. Стрельба — это одна механика, сражение на мечах — другая, гонка — третья. Одна игра может сочетать в себе десятки таких механик.
  • Сюжет это развитие действия в игре; он одинаково важен и для масштабных AAA-проектов, и для небольших, но глубоких инди-игр. Сюжет должен затянуть игрока, рассказать ему историю, а также развивать персонажей, чтобы они не оставались однобокими и раскрывались для игрока с новых сторон.
  • Персонажи — в них важны и дизайн, и характер. Удачно проработанный персонаж обладает узнаваемыми особенностями поведения, интересной историей, а еще для полного погружения он должен иметь что-то общее с игроком, что зацепит его и заставит сопереживать. На эту тему Unity разработали гайд «Пять типов привлекательных игровых персонажей», чтобы у новичков получалось сделать игрового персонажа правдоподобным.
  • Дизайн уровней это внешний вид игры, цветовые решения, общая стилистика объектов, фона, персонажей, предметов, которая создает определенное настроение. В помощь начинающим разработчикам Unity опубликовали в своем блоге «Советы по дизайну уровней вашей первой видеоигры».
  • Баланс — это соотношение характеристик разных объектов, он тоже отвечает за увлеченность игрока. Например, если меч в игре может наносить объекту 3 единицы урона, а объект имеет всего 3 HP (hit points — величина, обозначающая максимальный урон), то его можно уничтожить с первого раза, и играть будет слишком легко. Если объект имеет 30 HP, то игроку придется нанести 10 ударов, чтобы его уничтожить. Такое уже подходит скорее для босса, например на первом или втором уровне. Разработчику важно грамотно распределить эти величины, чтобы игра была увлекательной и бросала игроку вызовы.

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

  • Ассет (Asset) готовый компонент, который можно использовать для создания своих проектов. Это могут быть элемент интерфейса в игре, текстура, фигурка персонажа, шрифт или звук.
  • Игровой объект (GameObject) это любой ассет, который используется в игровой сцене. Например, изображение монетки, сам ее внешний вид — это ассет, а пять монет, которые должен подобрать персонаж в процессе прохождения уровня — это пять игровых объектов. Сам персонаж при этом тоже станет игровым объектом.
  • Компоненты (Components) — часть игрового объекта, отвечающая за его поведение в процессе игры: перемещение или реакцию на определенные триггеры.
  • Скрипт (Script) код на C#, в котором прописаны конкретные условия работы компонента.

Установка Unity занимает 5–10 минут. Для этого нужно зайти на официальный сайт проекта и выбрать бесплатный тариф для физических лиц — Personal. Его будет достаточно для самостоятельного изучения Unity и создания первой игры. Еще один бесплатный тариф — студенческий, но он подойдет тем, кто зарегистрирован на GitHub и может подтвердить свой ученический статус.

После нажатия кнопки «Начать» откроется Unity Store. Для новых пользователей в нем есть вариант установки движка с обучающим руководством для начинающих. С помощью кнопки «Начните здесь» скачивается установщик UnityHubSetup.exe, который запускается как любой другой установщик: нужно просто открыть файл, принять условия пользовательского соглашения и нажать кнопку «Установить».

Русского языка в настройках нет, так что придется совершенствовать технический английский. Всего Unity занимает 11,3 Гб,поэтому перед установкой лучше проверить свободное место на диске и почистить его при необходимости.

Следующий шаг — создание Unity ID. Можно регистрироваться с помощью почты или использовать предложенные аккаунты, например Google или Apple. Важно поставить первые две галочки: согласие с условиями использования Unity и признание политики конфиденциальности. Третья галочка — это согласие на маркетинговые рассылки, ее ставить не обязательно.

создание Unity ID

После регистрации Unity предложит создать тестовый проект Microgame. На выбор предлагается пять шаблонов:

  • LEGO Microgame;
  • шутер от первого лица;
  • картинг;
  • платформер;
  • пустой 3D-шаблон.

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

Создание проекта

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

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

Настройка интерфейса

В стандартном интерфейсе проекта шесть элементов рабочей области:

  1. Верхняя панель инструментов в ней находятся стандартные вкладки File, Edit, Help, как во многих других интерфейсах, а также вкладки Assets, GameObject, Components и Window.
  2. Scene — окно сцены, в котором выстраивается игровое пространство (элементы игрового мира, текстуры, фигурки персонажей и прочее).
  3. Games — это окно игры, в котором можно посмотреть глазами пользователя, как будут двигаться элементы и работать игровые механики.
  4. Hierarchy — окно иерархии, в нем перечислен список всех элементов (GameObject), которые помещены в окно Scene.
  5. Project — это система папок, в которых хранятся ассеты по категориям (текстуры, шрифты, звуки и т.д.).
  6. Inspector — окно для изменения элементов игры, их размера, цвета, положения в пространстве и других характеристик.

Интерфейс Unity

Добавление объекта

Объекты на экран Scene можно добавить из Asset Store. Для этого на панели инструментов нужно кликнуть на вкладку Window –> General –> Asset Store.

В строке поиска можно по названиям найти нужные компоненты, например, сет Free Platform Game Assets.

Как и другие ассеты, он загружается с помощью кнопки Import.

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

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

Шаг 2. Перенести в область Scene

область Scene

Работа со скриптами

За поведение игровых объектов отвечают присоединенные к ним компоненты (Components). Базовый компонент любого объекта — Transform, он отвечает за положение элемента в окне Scene, возможность поворачивать и масштабировать его. К базовому компоненту можно добавить, например, Renderer, который меняет цвет, или RigidBody, который отвечает за массу и физику объекта. Но кроме базовых компонентов, объектам можно задавать особые условия, и для этого как раз используются скрипты.

Создать новый скрипт можно в окне Project, кликнув мышкой на Assets –> Create –> C# Script.

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

Базовые элементы скриптов — это:

  • using — элемент в коде, который подключает библиотеки;
  • public class — в этой строке обычно прописан класс MonoBehaviour, он содержит набор функций, необходимых для работы скрипта;
  • void — те самые функции, с их помощью прописываются действия, происходящие в игре.

Рассмотрим, например, функцию start. Любое действие в ней произойдет только один раз, когда запустится игра. Пропишем здесь print (“Hi”).

И можно заметить, что в консоли это слово выводится один раз.

Функция update — повторяющаяся, ее можно использовать, например, для передвижения объекта. Для этого в скрипте задается переменная int i = 0, она выводится на экран с помощью функции print (i) и увеличивается на одну единицу за каждый шаг с помощью i++.

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

Настройка триггеров

Для понимания сути триггеров важно усвоить, что такое коллайдер (Collider). Это компонент, который присваивается объекту в пространстве игры, задает форму и делает его твердым, недоступным для прохождения сквозь него. Например, если мы разместим монетку в 2D-пространстве и захотим сделать так, чтобы она упала на платформу, то без использования компонента Collider ничего не получится — монетка пролетит сквозь платформу.

Поэтому обоим объектам необходимо присвоить компонент Box Collider 2D — это тонкая зеленая линия, которая обводит элементы по контуру, и за счет этой рамки они становятся твердыми, то есть один не может пройти сквозь другой.

Так объекты обязательно соприкоснутся и монета встанет на платформу.

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

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

галочка Is Trigger

Триггеры распознают три варианта взаимодействия области на карте и объекта:

  • OnTriggerEnter — объект зашел в зону;
  • OnTriggerStay — объект находится в зоне;
  • OnTriggerExit — объект покинул зону.

Что дальше?

Освоить интерфейс Unity довольно легко, в интернете есть разные гайды на тему того, как сделать это действительно быстро. Например, видео «Я сделал игру на Unity за неделю» или обучающий мини-курс «Как создать RPG за час». Можно изучать геймдев самостоятельно или начать обучение на курсе — это ускорит процесс и даст более заметные результаты.

Для работы со скриптами и создания более сложных механик разработчикам в любом случае понадобится С#, так что к его изучению вы тоже рано или поздно придете. Но в отличие от Unity, по C# нет в свободном доступе такого большого количества актуальных и понятных гайдов, так что в целях экономии времени и сил лучше записаться на курс «Разработчик игр на Unity», где все знания упакованы в структурированные блоки и сбалансированы с практикой на тренажерах.

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

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

С чего начать разработку игры

Разработать игру — сложно. Особенно сложно сделать это самостоятельно. Слишком много информации, которую в одиночку не осилить. Чтобы начать разработку игры, нужно:

  • Придумать идею игры, жанр и сеттинг. Можно следовать трендам и разработать что-то хайповое. Можно сделать клон существующей игры, чтобы набраться опыта. А можно попробовать сразу сделать что-то уникальное.
  • Выбрать платформу. ПК и приставки и/или мобилки. Выбор платформы зависит от жанра игры, ваших возможностей и предпочтений.
  • Написать дизайн-документ. Там описывают всю игру: геймплейные механики и детали сюжета, параметры баланса, графический стиль и так далее.
  • Выбрать движок. Он должен подходить по требованиям для реализации выбранного жанра, графического стиля, а еще поддерживать экспорт на нужную платформу.
  • Собрать команду. Лучше разделить ответственность за разные стороны разработки игры между несколькими специалистами — так будет продуктивнее.

Среда разработки

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

Из статистики видно, что три самых популярных движка по выпущенным играм в Steam — это Unity, Unreal Engine и Game Maker: Studio.

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

На всех этих движках можно делать игры для ПК, консолей и мобильных платформ.

Unity

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

Плюсы:

  1. Персональная версия движка доступна бесплатно при годовом доходе меньше $200 000.
  2. Не самый сложный и довольно популярный язык программирования C#.
  3. Есть система визуального скриптинга Bolts, с помощью которой можно вносить изменения в игру дизайнеру самостоятельно, не задействуя программиста.
  4. Можно экспортировать игру для браузера.

Минусы:

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

Unreal Engine

Основной конкурент Unity среди 3D-движков, известен отличной картинкой и технологиями. Вместе с пятой версией движка Epic Games презентовали технологии Nanite и Lumen — они могут масштабировать и отображать модели из миллионов полигонов. А еще в них есть система динамического глобального освещения, которая делает картинку крайне реалистичной.

Плюсы:

  1. Движок бесплатный до первого заработанного миллиона в долларах, дальше нужно будет отдавать процент с дохода.
  2. Современные технологии фотореалистичного рендера — «Матрицу» на Unreal Engine порой тяжело отличить от фильма.
  3. Fortnite, который разрабатывают авторы Unreal Engine, позволяет заранее обкатывать на большой базе пользователей новые фичи движка.
  4. Визуальное программирование с помощью Blueprints — вместо того чтобы писать код вручную, можно расставлять мышью специальные блоки и связывать их между собой, создавая логику программы.

Минусы:

  1. Если не использовать Blueprints, то придется изучать довольно сложный язык C++.
  2. Не самое оптимальное решение для разработки мобильных игр — нужно приложить много усилий, чтобы оптимизировать рендер и размер игры для мобильных устройств.
  3. Не такой развитый функционал для создания 2D-игр по сравнению со специализированными движками (Game Maker) или с Unity.
  4. Нет возможности экспортировать игру для браузера.

Инженер-тестировщик: новая работа через 9 месяцев

Получится, даже если у вас нет опыта в IT

Получить
программу

Game Maker: Studio

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

Плюсы:

  1. На этом движке можно быстро прототипировать и разрабатывать 2D-игры.
  2. Для новичков есть режим визуального программирования без написания кода.
  3. Можно экспортировать игру для браузера.

Минусы:

  1. Не подходит для полноценного 3D, хотя в нём есть базовые функции по загрузке трехмерных объектов.
  2. Нет мультипоточности — если планируете делать сложный 2D-проект, нужно хорошо поработать над оптимизацией: распределять сложные вычисления между несколькими кадрами, оптимизировать алгоритмы, выносить сложные процессы типа поиска пути во внешние dll, написанные на C++, и использовать другие хитрости.
  3. Бесплатная только базовая версия, из которой можно экспортировать игру только для веба на сервис gx.games. Остальные версии движка с разными ограничениями — по подписке.

Какой язык программирования нужен

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

А если в движке есть система визуального программирования, как в Unreal Engine или Unity, можно обойтись вообще без написания кода. Как минимум для создания прототипа.

Как выбрать платформу

При выборе платформы стоит ориентироваться на жанр игры: времена, когда на ПК играли в «собери в ряд», давно в прошлом, сейчас для этого есть смартфоны. А для хардкорной RPG больше подойдет консоль или компьютер.

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

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

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

ПК

Плюсы:

  1. Для разработки и тестирования не нужны специальные устройства — достаточно компьютера.
  2. Большая аудитория хардкорных и мидкорных геймеров.
    Много инди-площадок, на которые можно бесплатно выложить свою игру и получить обратную связь.

Минусы:

  1. Большая конкуренция — за 2021 год в Steam вышло почти 12 тысяч игр, 27% из них продались тиражом меньше ста копий.
  2. Нужно быть готовыми, что ваша игра окажется на торрентах в день релиза.
  3. Всегда есть вероятность, что найдется игрок с такой конфигурацией ПК, на которой ваша игра будет работать некорректно.

Приставки

Плюсы:

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

Минусы:

  1. Для инди-разработчика сложно самостоятельно договориться и оформить соглашение с консольными платформодержателями, поэтому ему понадобится издатель с выходом на консольный рынок.
  2. Для тестирования игры во время разработки нужен девкит — специальная версия консоли для разработчиков. Такие устройства в магазине не найти, их могут прислать только соответствующие платформодержатели после заключения договора.
  3. Управление в игре должно быть заточено под геймпад. Если вы делаете игру на ПК и на консоли, придется поддерживать два разных способа управления — «клавамышь» или геймпад.
  4. Не все жанры приживаются на консолях — сомнительное удовольствие играть с геймпада в стратегию в реальном времени.

Мобилки

Плюсы:

  1. Можно очень быстро сделать прототип игры: в мобильных играх обычно мало механик.
  2. Гиперказуальные игры прототипируются от пары часов до пары дней.
  3. Требования к графике сильно ниже, чем на ПК или на консолях.

Минусы:

  1. Огромная конкуренция — в 2021 году в Google Play было выпущено 187 тысяч игр: это 520 игр в день.
  2. Нужно вложить много денег в рекламу — без нее вашей игры фактически не существует.
    Добро пожаловать в мир аналитики — CPI, DAU, MAU, Retention, ARPU и еще много других непонятных слов, в которых придется разобраться и которые напрямую влияют на успех мобильной игры.
  3. Даже если игра не предполагает обновлений после релиза, этим всё равно нужно будет заниматься: в Google Play или AppStore периодически меняются правила по защите персональных данных — и вместе с этим устаревают SDK, с помощью которых показывается реклама или собирается аналитика. Если SDK периодически не обновлять, то игру просто удалят.

Игры и другие приложения для мобильных устройств часто разрабатывают на Java. Это один из самых популярных языков программирования. Освоить его можно на курсе Skypro «Java-разработчик». Обучение проводят эксперты — руководители направлений в топовых компаниях. Они дают необходимый минимум теории и много практики. А кураторы помогают и поддерживают мотивацию. За несколько месяцев можно выйти с нуля на уровень уверенного новичка в разработке.

Браузеры

Плюсы:

  1. Проще всего начать играть — не нужно ничего устанавливать, браузер есть и в телефоне, и на ПК.

Минусы:

  1. Далеко не все движки позволяют экспортировать игру в браузер — например, в Unreal Engine такой возможности нет.
  2. Управление в игре нужно адаптировать под сенсорное управление, если вы хотите, чтобы играть можно было с телефона.
  3. Браузер — не самая эффективная платформа для сложных 3D-игр, поэтому игру придется сильно оптимизировать и урезать графику.

Основные компоненты игры

Геймплей и игровые механики

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

Игровых механик может быть немного. Например, в гиперказуальных играх может быть одна игровая механика: в Flappy Bird нужно управлять птичкой тапами и избегать препятствий. Врезался — проиграл. Вот и вся игра.

Сюжет и персонажи

Интересный сюжет не может испортить игру. А харизматичный герой добавит эпичности игре даже с очень условным сюжетом — мало кто вспомнит подробности истории из первого Doom (1993), но Думгая вспомнят точно.

Графический дизайн

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

Звук

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

Баланс

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

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

Этапы создания

Концептирование

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

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

На этом этапе можно жонглировать идеями и изменять концепт хоть каждый день: временные расходы на это минимальны.

Прототипирование

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

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

На этом этапе еще можно изменять дизайн-документ без особых трудностей: прототип можно быстро переделать.

Производство

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

В процессе разработки стоит начать заниматься раскруткой игры: публиковать на Reddit гифки с интересными моментами из геймплея, участвовать в «Скриншотных субботниках», фестивалях демоверсий в Steam. Таким образом к релизу уже можно собрать сообщество и получить какое-то количество вишлистов.

Тестирование

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

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

Есть несколько путей, по которым можно пойти:

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

Релиз

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

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

Техподдержка

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

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

Команда

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

Гейм-дизайнер

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

Программист

Проектирует архитектуру игры, программирует механики. Совершает ошибки в коде — поэтому у тестировщиков всегда есть работа.

Тестировщик

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

Получить профессию тестировщика можно на курсе Skypro «Инженер по тестированию». За несколько месяцев изучите базовую теорию, научитесь проводить ручные и автоматические тесты, освоите основы SQL и Python. Под руководством опытных наставников и кураторов будете практиковаться на реальных задачах, а курсовые положите в портфолио.

Художник

Рисует спрайты, фоны, иконки, создает 3D-модели, текстурирует, настраивает анимации. Арт-директор следит за общем стилем игры и сочетанием разных элементов.

Маркетолог

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

Коротко о главном

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

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

Как создать игру?

С чего начать разработку игры? Прежде чем приступить к разработке игры, важно определиться с ее жанром и концепцией. Жанр может быть любым – от приключенческой или ролевой игры до стратегии. Концепция определяет геймплей и идею, и здесь можно креативить и не бояться экспериментировать с нестандартными идеями.

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

Делается это все с помощью игрового движка, позволяющего создавать игровые механики, контролировать графику и физику в проекте. Существует множество игровых движков, таких как Unity, Unreal Engine, GameMaker и тд. Выбор зависит от ваших потребностей, опыта и предпочтений. Кроме того, для разработки потребуется знание языка программирования. В зависимости от выбранного движка, можно использовать такие языки, как C#, C++, JavaScript и другие. Необходимо также решить, на какие платформы вы хотите выпустить игру. Существует несколько вариантов: PC, мобильные устройства (iOS, Android), консоли (PlayStation, Xbox), виртуальная и дополненная реальность и другие.

5 основных движков для создания компьютерных игр

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

1. Unity

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

2. Unreal Engine

Разработанный Epic Games, мощный движок предлагает хороший набор графических возможностей и инструментов для разработки игр. Unreal Engine также поддерживает несколько языков программирования, включая C++ и Blueprint, упрощая процесс разработки для пользователей с разным опытом.

3. Godot Engine

Игровой движок с бесплатным и открытым исходным кодом, который становится все более популярным среди независимых разработчиков. Он предоставляет обширный набор инструментов для создания 2D и 3D игр на различных платформах. Godot Engine также поддерживает несколько языков программирования, включая GDScript и C#, и обладает интуитивным пользовательским интерфейсом, что делает его отличным выбором для новичков в игровой разработке.

4. CryEngine

Еще один мощный игровой движок, используемый для создания качественной графики и реалистичной физики в играх. Он обладает интуитивным редактором и широкими возможностями для создания как больших AAA-проектов, так и небольших независимых игр. CryEngine также поддерживает язык программирования C++, что делает его привлекательным для опытных разработчиков.

5. GameMaker

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

Основные языки программирования

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

1. C++

является одним из самых распространенных языков программирования для создания компьютерных игр. Он предоставляет высокую производительность и возможность непосредственного управления ресурсами компьютера. C++ используется в таких популярных игровых движках, как Unreal Engine и CryEngine, и позволяет разработчикам максимально оптимизировать игру под разные платформы.

2. C#

— это объектно-ориентированный язык программирования, часто используемый для разработки компьютерных игр. Он часто применяется в игровых движках, таких как Unity и Godot Engine. C# предоставляет простой синтаксис, хорошую поддержку разработчика и интеграцию с другими языками программирования. Он также обладает большим сообществом разработчиков и обширной документацией.

3. JavaScript

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

4. Python

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

5. Java

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

Как строится игровой код компьютерной игры

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

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

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

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

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

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

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

Если вам нужно быстро создать простую игру, а учиться нет времени, вы можете воспользоваться готовыми шаблонами или движками. Они позволяют выбрать такие элементы игры, как персонажи, уровни или правила игры, и настроить их под свои нужды. К примеру, RPG Maker предоставляет готовые элементы для создания ролевых игр, а Twine — для создания интерактивных текстовых приключений.

Многие игры предоставляют возможности для создания пользовательского контента. Например, Minecraft имеет удобный редактор миров, который позволяет создавать собственные игровые уровни и модификации. Возьмите на вооружение игру с возможностью творческого режима и начинайте экспериментировать с уже имеющимися инструментами. Если вы не владеете навыками программирования, но у вас есть идея для игры, вы можете привлечь программистов и дизайнеров с целью создания своей игры. Работа в команде позволит каждому участнику использовать свои сильные стороны и внести свой вклад в создание проекта.

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

Как заработать на создании компьютерных игр

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

1. Продажа игры

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

2. Моделирование и монетизация контента

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

3. Ин-апп покупки и микротранзакции

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

4. Реклама и спонсорство

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

5. Краудфандинг

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

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

Читайте также, как создать компьютерную игру без навыков программирования:

Читать на ЦО.РФ

Шах и мат Как создать игру без навыков программирования

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

Понравилась статья? Поделить с друзьями:
  • Инструкция как создать почтовый ящик
  • Инструкция как создать конференцию в зум
  • Инструкция как создать аккаунт гугл
  • Инструкция как создать apple id
  • Инструкция как содержать аквариум в домашних условиях инструкция