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

Концепт

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

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

Теперь к особенностям вашей игры. Скорее всего, масса экспериментаторов уже пробовали себя в вашем жанре, но всё равно нужно придумать что-то своё, иначе интерес к проекту будет отсутствовать. Вот небольшой пример:

Пример

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

Приступаем

Я веду всю разработку в Visual Studio, которая позволяет быстро запускать веб-приложения по мере внесения изменений. Удостоверьтесь, что у вас наиболее новая версия Visual Studio (скачайте с bit.ly/1xEjEnX), чтобы вы могли следовать за мной. Я использовал Visual Studio 2013 Pro, но обновил код с помощью Visual Studio 2013 Community.

Это приложение не потребует серверного кода, поэтому я начинаю с создания нового пустого проекта веб-страницы в Visual Studio. Я буду использовать пустой шаблон C# для веб-сайта, выбрав вариант с Visual C# после выбора File | New | ASP.NET Empty Web Site.

В HTML-файле index нужно лишь три ресурса: jQuery, основная таблица стилей и основной JavaScript-файл. Я добавляю в проект пустой CSS-файл style.css и пустой JavaScript-файл ping.js, чтобы избежать ошибок при загрузке страницы:

Играем стильно

Если бы вы загрузили эту страницу, то ничего не увидели бы, потому что никакого стиля не применено. Я уже подготовил ссылку на файл main.css в своем HTML, поэтому помещу все CSS в новый файл с тем же именем. Первым делом я позиционирую все элементы на экране

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

Во-вторых, мне нужно, чтобы арена была заполнена фоновым изображением (рис. 3):

Рис. 3. Фоновое изображение для арены

Далее я размещаю табло. Я хочу, чтобы оно находилось вверху по центру — поверх других элементов. Команда «position: absolute» позволяет разместить его где угодно и оставить там: 50% — позиционирует табло посередине верхней части окна, но начиная с самой левой части элемента табло (scoreboard element). Чтобы гарантировать точную центровку, я использую свойство transform, а свойство z-index обеспечивает, что табло будет всегда находиться поверх других элементов:

Я также хочу использовать текст со шрифтом в стиле ретро. Большинство браузеров позволяет включать собственные шрифты. Я счел подходящим шрифт Press Start 2P от codeman38 (zone38.net). Чтобы добавить шрифт к табло, я должен создать новое начертание шрифта (font face):

Теперь результаты (scores) находятся в теге h1, поэтому я могу задать этот шрифт для всех тегов h1. На случай отсутствия этого шрифта я предусмотрю несколько запасных вариантов:

Для других элементов я буду использовать таблицу изображений-спрайтов. Таблица спрайтов (sprite sheet) содержит все необходимые игре изображения в одном файле (рис. 4).

Рис. 4. Таблица спрайтов для Ping

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

Любому элементу, имеющему изображение в этой таблице, будет назначен класс sprite. Тогда для каждого элемента я буду использовать background-position, чтобы определить, какую часть таблицы спрайтов мне нужно показывать:

Затем я добавлю класс sprite ко всем элементам, которые будут использовать таблицу спрайтов. Для этого мне придется ненадолго переключиться на HTML:

Теперь мне нужно указать позиции каждого спрайта в таблице для каждого элемента. И вновь я буду делать это с помощью background-position, как показано на рис. 5.

Рис. 5. Добавление смещений для таблицы спрайтов

Свойство position: absolute в player, opponent и ball позволит мне перемещать их по полю, используя JavaScript. Если вы посмотрите на страницу теперь, то увидите, что к элементам управления и мячу прикреплены ненужные куски. Дело в том, что размеры спрайтов меньше 128 пикселей по умолчанию, поэтому я подстраиваю их под правильный размер. Мяч всего один, и я задаю его размер напрямую:

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

После добавления этого класса элементы управления в игре выглядят гораздо лучше:

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

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

Публикация

Совет

  1. Описание
    Сделайте скриншоты страниц «Об игре» и создайте описания для каждой платформы, на которых планируете выпустить игру.
  2. Нетворкинг
    Если хотите, чтобы все узнали об игре, напишите анонсы для игровых медиа, участвуйте в фестивалях и конференциях.
    Отправьте описание игры в прессу за неделю до выхода — дайте людям время написать о ней. Может случиться, что о ней не станут писать, но помните: журналисты любят красивые истории о разработчиках, уникальную или противоречивую идею и медиа-кит.
    Где взять адреса?

    • Найдите в сети контакты авторов, которые вам нравятся: почта, страница в LinkedIn, Твиттер.
    • Найдите почту издания в разделе «О нас» или внизу страницы.
  3. Стримеры и видеоблогеры
    Они снимут по игре видео, если:

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

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

  4. Социальные сети
    Это прекрасный инструмент для продвижения: Agar.io обрела популярность на 4chan, Butterfly Soup подскочила в загрузках после внимания в Твиттере.
    Как лучше: публиковаться через издателя или самому. Хотите пойти по пути Hotline Miami, выпущенной Devolver Digital, или перенять опыт Farmville и Doki Doki Literature Club?
    Чтобы сотрудничать с издателем, нужно сначала его найти. После этого будет небольшой ворох бумажной работы, зато вы получите достаточно средств для развития игры.
    Если собираетесь издаваться самостоятельно, готовьтесь тратить немало времени на изучение маркетинга. Вы можете провалить кампанию по продвижению, но в процессе наберётесь ценных знаний и сэкономите деньги.Количество установок игры растёт
    Я предпочитаю публиковать игры самостоятельно. Мне нравится учиться, и я верю, что по-настоящему хорошая игра будет успешна вне зависимости от продвижения.
  5. Жмите на кнопку «Опубликовать»!
    Получилось! Теперь расслабьтесь, возьмите что-нибудь вкусное и отдохните. Вы работали не покладая рук и заслужили это.
    Не бойтесь, если игра не получила ожидаемого внимания — это нормально. У моей первой игры всего 255 загрузок в Steam.

Инструменты

presskit()помогает

  • Steam (PC) — 100 $ за публикацию.
  • Origin (PC).
  • GOG (PC) — бесплатная публикация после разрешения.
  • Mac App Store (MacOS) — 100 $ в год, требуется учётная запись разработчика Apple.
  • itch.io (PC / Web) — бесплатная публикация.
  • Game Jolt (PC/Web) — бесплатная публикация.
  • Armor Games — бесплатная публикация.
  • Kongregate (Web) — бесплатная публикация.
  • Newgrounds (Web) — бесплатная публикация.
  • GitHub (Web) — бесплатная публикация на сайте, заканчивающемся на «___.github.io».
  • Amazon (Web/Mobile) — бесплатная публикация.
  • Google Play (Mobile) — 25 $ за публикацию.
  • iOS App Store (Mobile) — требуется учётная запись разработчика Apple.
  • DTF (на русском).
  • Канобу (на русском).
  • IndieGames.
  • Siliconera.
  • FreeGamesPlanet.
  • PCGamer.
  • Kotaku.
  • Rock Paper Shotgun.
  • Polygon.
  • Giant Bomb.
  • EuroGamer.
  • Independent Games Festival (IGF). Приём заявок до 1 октября.
  • Indiecade. Международный фестиваль инди-игр. Приём заявок до мая–июня.
  • Swedish Game Awards. Игровая премия Швеции. Приём заявок до июня.
  • South by Southwest Festival (SXSW). Приём заявок до декабря.
  • The Game Awards. Приём заявок до ноября.
  • DevGAMM — проводится в Москве.
  • Game Developer’s Conference (GDC).
  • Penny Arcade Expo (PAX).
  • Electronic Entertainment Expo (E3).
  • Tokyo Game Show.

Индиспектр

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

В этом году Braid исполнилось 12 лет

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

Студия ZA/UM образовалась из группы друзей, которые любили играть в D&D

Сперва начинающему разработчику стоит выбрать специальность, в которой он хочет и «может» разобраться. Есть художественные задатки — рисуйте. Изучайте 2D-арт, правила анимации, что такое шейдеры и композиция. Пробуйте себя в 3D и постановке сцены.

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

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

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

Томми (Tommy Refenes) и Эдмунд (Edmund McMillen) — прекрасный пример хорошей команды. Программист и художник, а большего им и не надо.

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

Фил Фиш (Phil Fish) и его история разработки FEZ — яркий пример плохого поведения разработчика

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

Devolver Digital — известный издатель инди-проектов. Их основная цель — помогать молодым разработчикам

Пиар и громкое имя студии в эпоху расцвета инди — основа для начинающих студий. Принимайте участие в конкурсах, Game Jam’ах и выставках, а также работайте с блогерами. Последние могут раскрутить ваш проект посильнее лучших пиарщиков мира. Не забывайте и о классических игровых СМИ.

Five Nights at Freddy’s стал крупной франшизой благодаря пугливым видеоблогерам, которые забавно корчились на камерыKickstarterIndie Game: The Movie

Ren’Py

Проекты на этом движке: Long Live the Queen, A Hate Story, Analogue.
Ren’Py

Плюсы Ren’Py:

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

Минусы Ren’Py:

  • Есть ограничения в поддержке различных механик;
  • Ориентирован в первую очередь на 2D проекты, поэтому с 3D работать сложно;
  • Изначально был заточен под конкретные жанры, соответственно, какой-то шутер от первого лица или стратегию в реальном времени на нем сделать практически нереально.

Шаг 4. Упаковать игру для пользователей и продвинуть в интернете

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

Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart

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

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

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

План разработки

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

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

  1. Ваш план должен быть рассчитан на месяц, не более. Так что доверьтесь своей интуиции и начните с простого. Лучше закончить раньше, чем не уложиться в сроки.
  2. Как только вы поняли, что данный продукт не может вас ничему научить, ставьте его на полку и забывайте. Вы сможете проверить свои навыки, начав аналогичный проект с чистого листа.
  3. Даже самые лучшие разработчики стремятся стать ещё круче, так что, каждая новая игра должна начинаться с мысли «Я сделаю лучше, чем в прошлый раз».
  4. Не игнорируйте планирование. В разработке любого проекта случаются небольшие «форс-мажоры», и предугадать их практически невозможно, поэтому проще банально учесть затраты времени на их устранение в расписании. Запланировали 8 часов? Смело превращайте их в 12.
  5. Дизайн – одна из последних вещей о которых стоит думать начинающему разработчику игр. Ваша задача – «обрастать навыками», так что лучше потратьте выходные на внедрение нескольких новых механик (незнакомых вам прежде), чем на рисование.
  6. Разбейте свой план на несколько фрагментов. Достижение этих «контрольных точек» неплохо повышает мотивацию. Если вы не успеваете выполнять недельные требования – упростите общий план.
  7. Не ставьте себе слишком абстрактных задач. Вместо «Проработать персонажа», вписывайте «внедрить новые механики стрельбы» или «изменить внешний вид во время удара» — чётких целей достичь гораздо проще.
  8. Присылайте себе письма не электронную почту каждый понедельник. Они должны содержать всё действия, совершённые за прошлую неделю. Сравнив все письма за месяц, вы наглядно сможете увидеть прогресс.
  9. Тратьте как минимум час в неделю на то, чтобы играть в свой продукт. В конечном счёте, никто лучше вас не сделает ВАШУ игры.
  10. Проведя две недели без работы над проектом, вы будете растеряны и потеряете нить, что заставит начать всё сначала. Именно на этом моменте большинство людей опускают руки и забрасывают идею создания собственной игры.
  11. Убивать время на звук и создания атмосферы в своей ей первой же игре – невероятно бессмысленно. Главное: разработать геймплей, ведь существуют шедевры, состоящие из обычных движущихся пикселей.
  12. Если вы делаете что-то более часа, и у вас всё равно не выходит – обратитесь за помощью. Зачем неделю топтаться на месте из-за того, что вы постеснялись создать тему на форуме?
  13. Давайте другим попробовать вашу игру. Да, сразу же польётся критика, но не стоит обращать на неё внимания. Даже проекты ведущих студий часто поливают грязью, но это же не мешает им продолжать делать шедевры, верно?
  14. Вы не обладаете безграничными ресурсами – поэтому нужно ставить перед собой реальные, достижимые цели.
  15. Как только вы отполировали свою первую игру, сразу же найдите несколько новых идей и беритесь за свежий проект. Не забывайте применять то, чему вы научились раньше.
  16. Ознакомьтесь с Советами для разработчиков.

Удачи!

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

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

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

Создание уровней

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

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

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

Карты в Tiled формируются по слоям. Для определенных плиток можно задать свойства столкновения. Разрабатываемые уровни сохраняются в XML-формате TMX. Затем его можно загрузить из движка игры. Формат TMX поддерживается рядом движков. Кроме XML-подобного формата поддерживается и JSON-подобный.

Программы для разработки игр. Внешний вид Tiled

\КНОПКА

Кнопка создается так:

\КНОПКА(Вторая локация,Перейти на вторую локацию)

Что же произойдет после запуска? На экране появится кнопка с текстом «Перейти на вторую локацию«, которая будет видна игроку. А если он на нее нажмет, то попадет на локацию с именем «Вторая локация«, которая должна быть объявлена ниже.

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

А теперь вспомним, чему мы научились в этом уроке, и закрепим все это в следущем примере.

\Первая локация
Этот текст из первой локации.
\КНОПКА(Вторая локация,Перейти на вторую локацию)
\СТОП

\Вторая локация
А это текст из другой локации - "Вторая локация" .
\КНОПКА(Первая локация,Вернуться обратно на 1-ю локацию)
\СТОП

Запустим и посмотрим, что получится!

Кнопки работают, при нажатии мы можем перемещаться по локациям.

Программы для разработки 2D игр

Востребованные конструкторыдля разработки2d игр будут ниже рассмотрены.

Конструктор Construct 2

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

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

Этот конструктор используется бесплатно до того периода, пока разработчик новой игрушки не захочет ее продать

После этого, ему нужно приобрести лицензионную версию конструктора.

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

Программа GameMaker

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

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

Бесплатная версия доступна всем пользователям. Профессиональная версия приложения Рroприобретается за деньги. Она заинтересуетпрограммистов, так как открываетдоступ к серьёзным модулям программы.

NeoAxis 3D Engine

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

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

Основные возможности NeoAxis 3D Engine:

  • Установленная программа состоит из ряда отдельных приложений — конфигуратора, демонстрационных возможностей программы, редактора карт и редактора основного кода.
  • Приложения, разработанные с помощью среды NeoAxis, могут быть запущены на Windows и Mac OS X
  • Весь спектр возможностей встроенного NVIDIA PhysX. Поддержка регдолл и транспортных средств.
  • Встроенная поддержка синхронизации по LAN и интернет.
  • Приложение поддерживает огромный перечень языков, английский, украинский, русский есть в наличии.
  • Редактор построен очень удобно — все ресурсы программы четко структурированы по отдельным тематическим папкам.
  • Программа состоит из готовых наборов объектов, карт и моделей, поэтому разобраться в ней сможет любой школьник.

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

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

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

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

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

Adblock
detector