narratorika_narrative_design
Нарраторика: лекция про нарративный дизайн
survey
Расскажите мне о себе

Как сделать игру за 2 дня в одиночку

  • Декабрь 12, 2014
  • 28 комментариев

За два выходных, 6-7 декабря, я сделал с нуля игру на Ludum Dare. И теперь хочу рассказать о том, как это было. Но прежде предлагаю посмотреть на саму игру. Обязательно включите звук.

game
«Fill the bar»

Что такое Ludum Dare?
Ludum Dare — это международный конкурс, на котором надо за ограниченное время сделать игру на заданную тему. Есть две категории участников: Jam и Compo. На Jam можно участвовать командой и использовать заготовленные ассеты или имеющиеся в открытом доступе. Срок на поджемить — 72 часа. Второй формат, Compo, требует, чтобы участник был один и всё создавал с нуля. Можно только использовать наработки кода, но в конце участия надо будет обязательно выложить исходники. Лимит времени в Compo — 48 часов. Подробнее правила можно почитать тут.

Несколько фактов:
* Конкурс проходит с 2002 года и является, пожалуй, самым популярным среди джемов по скоростной разработке. На последнем конкурсе было сделано 2538 игр.
* Маркус “Notch” Перссон, создатель “Minecraft”, когда покидал свою компанию, писал в своём прощальном письме: “I will leave Mojang and go back to doing Ludum Dares.”
* Лоукас Поуп, создатель “Papers, Please”, также часто участвует в конкурсе.
* В Steam можно найти 16 игр, которые начались на Ludum Dare.
* В конкурсе регулярно участвуют представители российской инди-сцены. Например, команда Molecats, Алексей “DiscoFish” Старовойт, Александр “Dyn” Павлов.

Узнав в середине ноября, что следующий Ludum Dare пройдет на выходных 6-7 декабря, я не смог устоять от участия. Это же шанс войти в международное indie-коммьюнити и попасть на глаза мэтрам.

 

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

Движок
Самым первым вопросом, конечно же, был выбор движка. Тут много думать не пришлось. В первую очередь для такого конкурса важно иметь web-версию игры, чтобы конверсия посетителей в поигравших была максимальной. Мой выбор был Unity, так как с этим движком я уже порядочно знаком по работе над “Message Quest”. Можно ещё было выбрать флэш. Его возможностей хватает, чтобы сделать конкуретноспособную игру. В отличии от GameMaker, который не только не имеет внятной веб-версии, но и вынуждает разработчика выезжать на голой идее. Прилично выглядящих игр на этом движке можно пересчитать по пальцам одной руки. Хотя когда-то на этом движке я делал игру под Android.

Отдельно в ряды движков влез Unreal Engine 4, который за сутки до начала соревнования начал раздавать коды на 90-дневный триал (Unity о раздаче триала на Pro версию предупредило заранее). Думаю, что если бы был опыт создания игр в нем и умение моделить по-быстрому с бампами-спекулярами, то можно было бы выехать за счет картинки. Но все работы на UE4, что я нашел среди конкурсантов, имели клиентскую версию весом до 800Мб, ужасную графику и никакой геймплей. Думаю, Epic стоило подготовить участников, прежде чем раздавать ключи.

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

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

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

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

lowpoly1

Тогда, посоветовавшийсь со Станиславом Гайлюнасом, разработчиком Molecats, решил освоить Blender. Редактор быстрый, бесплатный и по нему есть видео-уроки лоу-поли арта. Мне достаточно было повторить все действия из урока, чтобы освоиться в новой тулзе и хоть что-то уметь делать. Так через час обучения я смог заменить террейн и деревья из примитивов на своё лоу-поли. Стало гораздо больше похоже на правду.

lowpoly2

Следующим шагом стал вопрос создания музыки. Тут у меня ни опыта, ни образования. Поэтому я обратился с вопросом к сообществу. Мне ответил Евгений Винаков, посоветовав программы Musical Palette для создания midi-музыки по всей нотной науке и LMMS для наложения инструментов. Обе программы находятся в открытом доступе.

Musical Palette имеет встроенный туториал и систему подсказок. Уже через несколько минут после запуска программы у меня начало получаться что-то напоминающе музыку. С LMMS было ещё проще, так как мне требовалось лишь заменить инструменты и сохранить в стандартный звуковой формат. Unity не признает midi и правильно делает — слишком утомительно пищание и гудение стандартных “инструментов”. Хотя для веб-версий формат очень компактный.

Чтобы LMMS мог заменять инструменты, ему нужно подсунуть библиотеку инструментов в формате SoundFont. Интернет большой, так что найти что-нибудь стандартное не проблема. А вот зависание редактора при экспорте это проблема. К счастью, её удалось обойти с помощью экспорта через командную строку: lmms.exe <имя проекта> -o <имя файла для экспорта> -f <формат, например wav>. После этого результат загрузил в Audacity (тоже бесплатный) и пересохранить с нужным мне форматом и настройками качества.

lmms

Волновавшие меня технические вопросы я снял. Осталось только изучать победителей прошлых конкурсов, чтобы понять требуемую планку. Для себя я сформулировал её как набор требований:
Трактовка темы должна быть оригинальна и при этом проста для восприятия.
Игра должна быть целостной. Картинка, геймплей, звук — ничего не должно провисать.
Это должен быть законченный экспириенс. Игрок должен дойти до финала за 5-15 минут.
Основной геймплей должен быть фановым сам по себе, без мета-геймплея. Про это хорошо написано в “Искусство геймдизайна” как разница между играми и игрушками.

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

 

День первый

Старт конкурса начинается с объявления темы, которое назначено на вечер пятницы, по моему местному времени — это 6 утра субботы. Смысла вставать в такую рань не было. Ну и что, что другие начнут работать раньше — они спать тоже раньше уйдут. А участвовать невыспанным в творческом конкурсе — это глупо. Поэтому проспал до 9 утра, посмотрел тему (Entire Game on One Screen) и продолжил валяться дальше, в полуспящем состоянии обдумывая тему.

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

Первым совпадением была идея использовать новый UI в Unity 4.6, который позволяет делать интерфейсный экран висящим в 3D пространстве, а не прилепленным к камере. Другая тема, также рожденная этим обновлением движка, это многочисленные кнопки и прогресс-бары. Все мы знаем, как приятно смотреть на заполняющуюся полоску. Это у нас на подкорке головного мозга стремление завершать незавершенное.

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

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

Всё это сложилось в простую историю в духе Portal. Есть плоский мир барчиков, где игрок должен совершать бессмысленные действия, потому что компьютер его об этом просит. А есть красивый 3D мир, куда персонаж может сбежать. Но счастье его продлится до тех пор, пока он не найдет мобильный телефон. Как бы мораль, что от власти экрана компьютера ещё можно сбежать, просто отойдя в сторону, то от власти экрана телефона нам уже никуда не деться.

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

Первым делом я создал в Unity сцену из плоской площадки, FPS контроллера и летающего сanvas с кнопкой (button) и зеленым прогресс-баром (slider с отключенным hadle). При нажатии на кнопку прогресс-бар заполняется, а затем опустошается обратно. В любой момент можно нажать на кнопку, чтобы прервать опустошение и снова заполнить бар.

first_stage

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

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

Когда игрок берет последний особый апгрейд, начинается проверка, не нажал ли игрок кнопку S (шаг назад в WASD управлении). Если нажал, то включается FPS управление, ставится точка в центре экрана и немного меняется FOV.

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

scheme1

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

scheme2

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

terrain_white

Раскрашиваю основные сущности: где можно ходить, где дороги, где ходить нельзя, где вода (тоже нельзя ходить).

terrain_color

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

scale_firs

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

playtest

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

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

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

Также с телефоном был другой косяк, вызванный моим личным неумением работать с новым UI. Добавляя текстовые поля, я менял им heigh и width, чтобы уменьшить их до требуемых размеров. В результате шрифт с кеглем всего в единицу был слишком большой. Позже выяснил, что уменьшать надо было используя scale.

phone

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

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

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

 

День второй
Пришла пора озвучивать компьютер. Перебрав несколько синтезаторов, остановился на этом. Голос выбрал Lee, как не слишком дружелюбный. Результат синтеза получался слишком качественным, поэтому добавил эффект Duration Long, чтобы придать искусственные нотки.

speech

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

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

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

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

После озвучки занялся моделированием окружения. Проработкой ландшафта и добавлением новых объектов. К имеющейся ёлке добавились 2 вида деревьев, 2 вида кустов, 3 вида камней. Ёлки расставлял на одной части карты, группами по 2-4 штуки. Одну ёлку в группе делал заметно большой, а другие поменьше. Некоторые вытягивал по высоте, а затем уменьшал, чтобы выглядили как молодые деревья. Все деревья немного поворачивал в разные стороны, чтобы визуально не читалось паттернов.

foliage

 

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

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

title

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

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

lighthouse

Про написание музыки ничего путного сказать не могу. Просто елозил точками в Musical Palette, а затем перебирал инструменты на замену в LMMS. И настраивал в Unity, чтобы не только музыка компа затихала при отходе от него, но и включалась вторая музыкальная тема.

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

Итак, последние настройки расположения игровой камеры, немного шаманства с цифрами апгрейдов, сборка версии и последнее тестирование. Всё окей. Заливаю версию с исходниками на свой сервер. Оформляю заявку. Всё, выкладываю. Игра сделана и сдана. Теперь ходить, смотреть другие игры, ставить им оценки и ждать 20 дней до конца голосования.

 

  • Поросёнок Пётр

    >>отличии от GameMaker, которы не только

    Который.

  • Поросёнок Пётр

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

    http://www.youtube.com/watch?v=DlFt0UyrSNA

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

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

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

      • Поросёнок Пётр

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

    • Torick

      О да, эти интонационные звуки в диалогах! Еще в 8-битных играх они придавали персонажам характерные черты.

    • griever_gf

      Пётр в комментах не у Галушкина? Потерялся?
      В лучших классических финалках 7,8,9 не было озвучки. Пекари в пролёте :3

      • Поросёнок Пётр

        Подкаст с Марией помнишь? А ещё они оба у флазма были.

        >>В лучших классических финалках 7,8,9
        Поразительно! Ты в таком коротком отрывке уместил слово «говно» целых шесть раз!

  • Alex Lobanoff

    Шел сначала к башням, потом к маяку (лендмарки же, как к ним не прийти, вдруг там че есть? 🙂 )
    Потом погулял по воде аки посуху, потом провалился таки в воду и стал вечно тонуть… В общем, телефона не нашел, но вот такая концовка дзен-притча вышла 🙂

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

  • Yuri Kalinin

    «Как бы мораль, что от власти экрана компьютера ещё можно сбежать, просто отойдя в сторону, то от власти экрана телефона нам уже никуда не деться.»
    Только сегодня нашел телефон))
    Идея и статья очень прикольные! Ты крутой)

    • Спасибо, Юра! Ты тоже крутой, но нужно, чтобы мир об этом узнал :о)

  • Lampogolovii

    сначала дошел до 14ого уровня и выключил, подумав, что больше ничего нет. потом прочел твое сообщение до конца и решил перепройти. идея с «неправильными» ответами очень клевая! молодец!

    невероятно быстро ты все сделал! круто!

    • Это один из основных рисков игры. Чтобы вся магия сработала, игрок должен сделать сам все необходимые выборы. Но он может их не делать. Я как мог через голос компьютера намекал на какие выборы обратить внимание, но не все играют со звуком.

      • Lampogolovii

        Да, признаюсь, выключил звук довольно быстро 🙂
        По поводу выбора — я бы сделал сначала что-то более заманчивое, чем Show Numbers. Вариант выглядит действительно неинтересным. Имхо, Play Music или Change Background подошли бы лучше для первого раза.

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

  • Darkdamor

    http://gyazo.com/fce96bfcc17b5428e608ee0f7c65289b — нашел багу. В общем, если долго выбирать опции из первых двух вариантов, не трогая третий, то из-за того, что происходит процентный прирост, в то время как рост очков в красном баре растет линейно. Так как в начале нового уровня начинается с заполнения красного бара остатком в зеленом с предыдущего, то в какой-то момент получается так, что остатка в зеленом баре сразу хватает, чтоб заполнить красный полностью, но алгоритм не понимает, что уровень пройден и требует продолжать нажимать кнопку (так как, видимо, требует, чтобы она была нажата хоть раз за уровень), но так как зеленый бар полон, он его не заполняет, игра виснет в лучших традициях. Разумеется, до такого состояния можно дойти куда быстрее, чем за 83 уровня — но это не соревнование и мне уже лень еще раз проверять граничное значение. Просто подумал, что этот момент стоит проверить и получилось вот так. Причем, покуда я не выбрал «Показать реальные правила», то кнопка ‘S’ не работает, а потому игра в итоге просто останавливается, пусть и в штатном режиме.

    • Если честно, то мне очень приятно, что в игре обнаружен такой баг. Не каждая игра в Ludum Dare может зацепить так, чтобы в неё столько наиграть :о)

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

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

      • Darkdamor

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

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

        http://gyazo.com/88049bad4543e13f2eecde81903fe71d

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

        http://gyazo.com/11fcd2820e7da526906d8b6a97e0a0b4

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

  • Сам GameMaker’ом не пользуюсь, но справедливости ради стоит заметить, что довольно много успешных инди проектов сделано на нем — Nuclear Throne, Risk of Rain, Hotline Miami, грядущий Hyper Light Drifter и еще многие, к тому же говорят, что он хорошо подходит для быстрого прототипирования. В общем как всегда, это просто инструмент, со своими плюсами и минусами, кто-то и в RPG Maker’е делает крутые штуки.

    • У меня очень сильно испортилось отношение к GameMaker, когда в очередном обновлении они просто взяли и выкинули всю старую систему монетизации, заставив писать и тестировать её заново. Хотя я просто хотел сделать небольшой апдейт с пятиминутным фиксом. И когда утечки памяти затыкал обходными костылями, то тоже думал о движке не лучшими словами. Так что сейчас серьезного ничего в нем начинать не хочу, а запрототипировать мне хватит скиллов в Unity.

  • Ярослав, прошу прощения за дилетантский вопрос, вероятно, это очевидно всем, кроме меня, но как вы произвели запись синтетического голоса с OddCast?

    • Записал звук с помощью Audacity выбрав нужный канал записи, а затем воспроизвел в Unity как обычный звуковой файл. Саму систему синтеза речи, само собой, я никуда не переносил. Задача сложная и прав на неё у меня нет.

      • Спасибо большое, попробую. Вовремя наткнулся на запись в вашем блоге, как раз планировал записать озвучку для небольшой игрушки. Спасибо ещё раз!

  • Pingback: Ярослав Кравцов » Формула эмоций()

  • Алексей ///

    Первые два раза я принципиально игнорировал 3й вариант апгрейда, в результате игра становилась непроходимой где-то на 70-80х уровнях, зелёный бар отказывался опустошаться. Нашел еще один баг: красной шкале можно «помочь» заполниться вручную — нужно щелкнуть по ней мышкой и заполнить с помощью стрелочек на клавиатуре. Также вышел за пределы карты и тем самым открыл альтернативную концовку, как бы покинул экран дважды за игру)
    Спасибо вам за пост, вот теперь думаю тоже принять участие в следующем Ludum Dare. Раньше просто казалось, что для участия во всех этих джемах нужно уметь что-либо хорошо делать.

  • Pingback: Ярослав Кравцов » Как я опять сделал игру за два дня()

  • Pingback: Куда я пропал. Forged Victory, Fill The Bar, GJKanobu | Ivan Vostrikov()

Switch language:
Facebook