Как сделать игру хабрахабр

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

Начало пути. Идея и графика

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

Так вышло, что я графический дизайнер, двое других программисты (C# и Swift), а четвертый «перспективный».

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

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

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

Новый год — новые силы. Программирование

Наступил новый год и я понял, что опускать руки не стоит и нужно самому довести начатое до конца. И сразу наткнулся на Corona SDK — кроссплатформенное решение для 2D игр. Есть возможность делать на PC, Android, при наличии Xcode и на Mac, iOS.

Я не программист, по этому начал проходить туториалы прям на их сайте, очень удобно и информативно. Так я познакомился с языком программирования Lua, именно на нем придется писать, если решил использовать Corona SDK. Язык несложный, скриптовый. Lua широко используется в геймдеве для написания уровней и всяких расширений, в том числе и в игре World of Warcraft он активно используется. Статья «Lua за 15 минут» поможет быстро разобраться с языком.

Прошел все туториалы и принял решение сначала делать под Android. Ибо у меня PC, а не Mac, да и устройств на Android в наличии было аж 4, в то время как яблочных девайсов у меня нет.

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

Дайте больше шума. Музыка и звуки

Игра все больше становилась похожа на готовый продукт. И вот я нахожу подходящие звуки, но их длительность меня не устраивала, на помощь пришел Audacity. Подрезав звуки и переделав их в wav, я получил нужные мне звуковые эффекты. Сразу после этого нашлась и музыка, это был ambient с бесплатной лицензией, который пошел на резку в Audacity и был зациклен. Таким образом музыка в игре занимает меньше мегабайта и состоит из одного трека и нескольких звуков.

Важно: Бесплатные звуки и музыка должны иметь соответствующую лицензию на использование, это может быть как полностью бесплатная лицензия без указания автора, так и лицензия Creative Commons, которая позволяет бесплатно использовать, загружать и даже изменять произведения, но автора стоит указать в credits/титрах.

Звон монет и шепот денег. Монетизация

Стал вопрос о монетизации. Игра бесплатная, простая, без внутренних покупок, по этому оставался только вариант с рекламой. На Android, да и на iOS с этим проблем нет, к тому же Corona SDK поддерживает самые популярные рекламные плагины. Мой выбор пал на Appodeal. Он работает со всеми крупными сетями мобильной рекламы, для того чтобы показывать только самую дорогую рекламу внутри приложения.

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

Игровые сервисы. Тестирование и первая публикация

Игру планировал выпустить сразу на двух торговых площадках — Google Play и Amazon. На первой аккаунт разработчика стоит 25$, а на второй бесплатно. По этому начал именно с Amazon. К тому же у меня 2 планшета от Amazon и мне близка их экосистема.

Для списка лидеров и достижений у Amazon есть Game Circle, у Google — Google Play Games Services. Проблем ни с одним, ни с другим не возникло, так как документации у Corona SDK по ним предостаточно.

На этапе тестирования дал друзьям поклацать игру, замечания себе выписал, внес поправки, а для отслеживания ошибок использовал adb logcat. Исправил баги и 6-го марта игра увидела свет на Amazon.

5 звезд на Amazon. Создание промо ролика. Публикация на Google Play

После двух положительных оценок на Amazon сразу же купил аккаунт разработчика в Google Play, цена вопроса 25$. Это пока единственные затраты на игру.

Принялся за создание промо ролика для игры. Выбор пал на Adobe After Effects, так как мне близки продукты от Adobe. Честно скажу, не было опыта в создании видео, но у меня как-то быстро получилось разобраться и на видео потратил всего день. Просто очень хотелось поскорее опубликовать игру в Google Play.

И вот момент истины, промо ролик готов, аккаунт куплен, осталось заполнить описание игры, нажать на кнопку и просто ждать.

Спустя несколько часов я получил уведомление, что игра опубликована. Это было 19-е марта 2017-го года.

Выводы

Для разработки под iOS все тоже самое, но нужен Mac с Xcode, яблочные устройства для тестирования, а за аккаунт разработчика нужно платить 99 долларов каждый год, а это уже не 25$ за Google Play. По этому если все таки речь идет о геймдеве с минимальными вложениями, то либо Amazon, где вообще платить не надо, либо Google Play, с его четвертью Франклина.

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

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

Источник

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Мечтаете создать свою игру, но мысли о том, что придётся учить языки программирования пугают вас? Вы гуманитарий? А может, у вас просто не хватает времени на изучение C# или Java? В любом случае, речь в этом посте пойдёт об игровых конструкторах. Для тех, кто не в курсе, это программы, в которых можно делать игры без написания кода. Конструкторы подходят для создания прототипов и участия в коротких Game Jams, которые сейчас популярны.

Первое знакомство

Однажды мне довелось побывать на мастер-классе по прототипированию у одного известного левел-дизайнера, работавшего в одной из крупнейших IT-компаний в России. На мастер-классе каждому участнику предложили создать свою игру за 1 час, а в конце часа показать игру остальным. То есть я первый раз запускаю программу и через час должен создать игру? Обладая некоторым опытом работы в программах, где необходимо писать код, я не поверил, что такое возможно. К моему удивлению, все (я в том числе) успели сделать свою первую маленькую игру. Пусть и простую, но в нее можно было играть. Так во мне зародилась любовь к конструктору под названием Clickteam Fusion 2.5 (раньше назывался Multimedia Fusion). Ещё популярными конструкторами являются Game Maker Studio и Construct 2. В основном, я работаю в Clickteam Fusion 2.5 (далее CF 2.5). На её примере раскрою принцип работы таких программ и их возможности.

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Как это работает

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

При создании новой игры необходимо определить, для какой платформы хотите творить. Конструкторы дают возможность создавать игры для PC, IOS, Android, Html 5, Flash и т.д. Например, чтобы создать игру не только для PC, но и для IOS в программе CF 2.5, придётся докупить или скачать export module ios. Модуль конвертирует игру в код платформы – Xcode. Затем, через несколько нажатий, вы уже сможете тестировать игру на устройствах Apple (также нужен аккаунт разработчика Apple).

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Окно «Редактор кадра».

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Нажимаем правую кнопку мыши и выбираем «Insert object».

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Выбираем объект «active».

Затем, нужно вставить в объект изображение кнопки или нарисовать во встроенном редакторе. В этом окне также можно создать покадровую анимацию. Один объект может иметь несколько анимаций (герой стоит, герой бежит, герой летит).

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Окно «Графический редактор».

Осталось придумать событие, которое будет происходить с этим объектом.
Для этого, переходим с вкладки «редактор кадра» на вкладку «редактор событий».

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Если игрок нажимает левой кнопкой мыши на объект «Start», то — Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

— происходит переход на следующий кадр.

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

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

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

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

Active object – самый популярный объект, его используют для создания объектов взаимодействия (главный герой, враги, платформы, ящики и т.д.). Он может содержать много разных анимаций (герой стоит, герой бежит, герой стреляет), иметь встроенные стандартные механики движения и управления.

Counter object – создает всевозможные счётчики жизней, денег, очков и т. д. Может быть представлен как в виде цифр, так и в виде шкалы.

INI object – сохраняет данные после выхода игрока из игры. Можно использовать для сохранения месторасположения любых объектов в кадре.

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

Joystick control object– для touch-устройств создаёт эмулятор джойстика.

IOS store object – даёт возможность сделать внутриигровые покупки для AppStore.

Admob object – позволяет поместить баннерную рекламу в игру.

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

Если что-то не получается

У CF 2.5 есть отличная техподдержка, которая в течение 24 часов всегда отвечала мне. Ещё у них неплохой форум, на котором выложено много готовых кусков игр и рассказывается, как работать с новыми объектами. Не знаю, как дела с технической поддержкой у других конструкторов, но думаю, не хуже. Game Maker более популярен, чем CF 2.5 и, как мне кажется, тоже должен иметь хорошую поддержку. Один мой знакомый работает на Construct 2, он никогда не слышал, чтобы возникали трудности. А на youtube.com выложено много роликов, где разжёвывают создания популярных механик для большинства конструкторов.

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Список популярных игр созданных на конструкторах

Источник

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

Как создать свою игру? Сколько на этом можно заработать? Какая нужна команда? Каковы ключевые этапы разработки и что нужно делать команде на каждом этапе? Ответ на эти вопросы – в открытой лекции по разработке игр в рамках программы «Менеджмент игровых интернет-проектов», которую разместили наши партнеры — открытая система электронного образования Универсариум. Вот здесь можно посмотреть открытую лекцию:

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Лекцию веду я, Константин Сахнов, директор игрового департамента компании Rocket Jump, научный руководитель образовательных программ подготовки кадров для игровой индустрии Высшей школы бизнес-информатики НИУ ВШЭ.

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

Большая часть лекции посвящена этапам создания игрового продукта, основным аспектам разработки, документирования, создания игрового контента и развития проекта после начала открытого тестирования. Рассмотрим подробнее эти этапы:

1. Концептирование (Concept)

На этом первом шаге команда придумывает концепцию игры, и проводит начальную проработку игрового дизайна. Главная цель данного этапа – это геймдизайнерская документация, включающая в себя Vision (развернутый документ, описывающий игру, как конечный бизнес-продукт) и Concept Document (начальную проработку всех аспектов игры).

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

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

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

2. Прототипирование (Prototyping)

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

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

3. Вертикальный срез (Vertical Slice)

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

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

4. Производство контента (Content production)

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

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

5. Friends & Family / CBT (закрытое бета-тестирование)

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

6. Soft Launch / OBT (открытый бета-тест)

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

На этом этапе полностью завершается разработка новых фичей. Происходит feature freeze, программисты перестают реализовывать что-то новое, а полностью переключаются на отладку и тюнинг имеющихся фичей. Геймдизайнеры, продюсер и аналитики делают выводы из собранной на CBT статистики и проверяют эффективность монетизации.

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

7. Release

Ключевая цель – это получение прибыли. Базовый применяемый для оценки прибыльности критерий: количество денег, принесенных в среднем одним игроком за все время (LTV aka lifetime value), должно превосходить расходы на привлечение этого игрока (CPI aka cost per install).

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

Как сделать игру хабрахабр. Смотреть фото Как сделать игру хабрахабр. Смотреть картинку Как сделать игру хабрахабр. Картинка про Как сделать игру хабрахабр. Фото Как сделать игру хабрахабр

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

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

Кстати, 21го сентября планируется следующая открытая лекция в рамках нашей программы «Менеджмент игровых интернет-проектов», которая также будет являться аналогом «боевого занятия». На этот раз про монетизационные акции от директора программы Уточкина Вячеслава viacheslavnu. Посещение ее как всегда бесплатно, но обязательна предварительная регистрация в связи с ограниченным количеством мест и входом по списку. Регистрация и подробности про новую лекцию ТУТ.

Задавайте вопросы по теме лекций в комментариях, будем рады ответить.

Источник

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

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