Gamedev Kira Linch
1 871

Бумажки, Trello и UE4: прототипирование игры Sky Unlimited Inc

Разработка основной механики нестандартными методами.

В закладки

Привет. Меня зовут Маргарита Шаповалова (aka KiraLinch) и я младший геймдизайнер студии игровой разработки OctoBox Interactive. Расскажу о своем опыте прототипирования игры с кор-механикой «да-нет».

Начало Sky Unlimited Inc

Sky Unlimited Inc начался с демки для Epic MegaJam. Проект получил положительные отклики, поэтому его стали развивать. Игрой занимались в свободное от разработки основного проекта студии время — MMO-шутера Project Echo. Была идея, но цельности в видении Sky Unlimited Inc не было. И чем дальше шла работа, тем сильнее игра расслаивалась. Проект было решено заморозить на неопределённое время.

После релиза High Noon VR, в котором я поработала нарративным геймдизайнером, захотела большего — решила попробовать себя в хард-геймдизайне.

И вот мне в наследство достаётся замороженный Sky Unlimited Inc: «Вот тебе задание на геймдизайн. Сможешь собрать и отогреть проект — продолжим разработку, а нет — ну, может, геймдизайн и не твоё».

Первый прототип: кубики-бумажки

Как не моё?

Первое, что я сделала — написала геймдизайнерский документ с определением целевой аудитории, основной идеи и описанием кор-геймплея.

Sky Unlimited Inc

Жанр: Point and Click, Wage simulator, Survival, Story driven.

Платформы: PC, Nintendo Switch, мобильные устройства.

Движок: Unreal Engine 4.

Для кого игра: для менеджеров и их друзей.


Sky Unlimited Inc – сюжетный survival horror про бытие менеджера.

...Каждый день они приходят. А у тебя даже дробовика нет!

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

Стол, милый стол! Теперь он твой. А я иду на повышение.

Вводная ГДД

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

Первый прототип: маркерная доска, кубики и красивые бумажки

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

Мне предложили попробовать поиграть не в цифры, а в персонажей.

Второй прототип: Trello

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

Доска гейм-мастера

Благодаря тому, что Trello есть как на компьютере, так и на телефоне, прототип получился кросплатформенным.

Основные игровые элементы

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

По структуре обе доски идентичны.

Доска игрока

В списке «игрок» содержатся карточки с параметрами игрока и игровыми правилами.

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

Чек-лист заменяет процентную шкалу и удобен для подсчета параметров.

Чек-лист, как замена процентной шкалы параметра

Карточки персонажей состоят из тех же четырёх параметров, но в соотношении: три единицы параметра персонажа равны одной единице параметра игрока.

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

Карточка персонажа

В списке «Все сотрудники» находятся карточки всех персонажей прототипа. Список «Очередь» — это некоторое число персонажей на один игровой цикл. В него попадают персонажи из списка «Все сотрудники».

Список «На приёме» — это основной игровой элемент, в котором происходит взаимодействие с событием и персонажем. В список «На приёме» персонаж попадет из списка «Очередь».

Список «События/диалоги» содержит карточки событий и тексты реплик персонажа.

Карточка события

Пример игрового цикла в Trello

  • Задаём начальное значение параметров игрока и персонажей, отмечая единицы в соответствующих чек-боксах. У меня 33% всех параметров у игрока и 50% всех параметров у персонажей.
  • С помощью генератора случайных чисел выбираем персонажей из списка «Все сотрудники» и перетаскиваем в список «Очередь».
  • Первого персонажа из «Очереди» перетаскиваем в список «На приёме».
  • По правилу выбора отдаваемого/запрашиваемого параметра отдаваемым становится наибольший из параметров персонажа, а наименьший — становится запрашиваемым. Но так как все параметры равны, то выбор отдаваемого/запрашиваемого параметра производится с помощью генератора случайных чисел.
  • Далее выбирается соответствующее параметрам событие. Например, при запрашиваемом параметре «мораль» и отдаваемом параметре «доход» для персонажа Есеня будет следующее событие, на которое игрокупредлагается ответить «да» или «нет».
Событие Мораль-Доход
  • В случае, если игрок отвечает «да», то персонажу прибавляется запрашиваемый параметр, а у игрока отнимается соответствующий параметр. Соответственно отдаваемый персонажем параметр падает, а у игрока растет в соответствующей пропорции. Если же игрок отвечает «нет», то запрашиваемый параметр у персонажа падает.
  • Все изменения параметров отмечаем в чек-листах карточек персонажа и игрока.
  • Отыгранного персонажа переносим в список «Все сотрудники», на его место добавляем персонажа из «Очереди».
  • Всё повторяется до тех пор, пока список «Очередь» не становится пустым.

На этом основной игровой цикл заканчивается.

Этот прототип понравился коллегам. Они предложили сделать новый прототип в движке UE4 и поиграть с балансом, а про опыт прототипирования в Trello написать заметку.

Третий прототип: Unreal Engine 4

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

Кусок кода из GameMode

Я делаю виджеты, что могу прикручиваю, и слежу, чтобы код работал в соответствие с ГДД.

А ведь играть уже можно. Игрок спокойно живёт 50 и более дней. Скучно!

Где баланс?

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

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

Найти меня можно

Telegram channel https://t.me/setvisibility

Discord chat https://discord.gg/8XxUUsc

Twitter https://twitter.com/setvisibility

Vk https://vk.com/setvisibility.gamedev

Если вы хотите поделиться своим опытом создания игры или рассказать какую-то историю, связанную с геймдевом, то смело нажимайте кнопку «Написать» и делитесь опытом. А мы, отредактировав текст (если это потребуется), перенесём его в раздел Gamedev.

#геймдизайн #опыт #unreal

Материал дополнен редакцией

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Kira Linch", "author_type": "self", "tags": ["unreal","\u043e\u043f\u044b\u0442","\u0433\u0435\u0439\u043c\u0434\u0438\u0437\u0430\u0439\u043d"], "comments": 17, "likes": 48, "favorites": 22, "is_advertisement": false, "subsite_label": "gamedev", "id": 16000, "is_wide": false }
{ "id": 16000, "author_id": 50024, "diff_limit": 1000, "urls": {"diff":"\/comments\/16000\/get","add":"\/comments\/16000\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/16000"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954 }

17 комментариев 17 комм.

Популярные

По порядку

Написать комментарий...
4

"Месье знает толк в извращениях" :-)

Ответить
0

Мадемуазель все-таки, я полагаю.

Ответить
3

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

Ответить
1

Возможно. Мне всегда нелегко удержать баланс между каноничностью и вариативностью. Поэтому выбрал канон.

Ответить
2

Очень круто!

Ответить
0

Спасибо большое)

Ответить
1

Выглядит занятно, добавил в избранное.

Ответить
0

Благодарю за поддержку)

Ответить
1

Привет! Спасибо за текст. Поправили его немного, чтобы в соцсети вывести. Захотите что-то изменить — пишите, потому что редактирование закрылось.

Ответить
0

Привет! Спасибо большое)

Ответить
0

Мне только так кажется, или Малена Стоун и Кетрин Лайту - сестры? :)
А игра выглядит интересно, похожа на Reigns.

Ответить
0

Сёстры ограниченного контента)

Да, источником вдохновения служит Reigns, он очень крутой. Но уже сейчас в Sky Inc есть одно важное ключевое различие в механике, которое я собираюсь развивать дальше :)

Ответить
0

Отличный текст)

Ответить
0

Спасибо :3

Ответить
0

Не слишком ли сложно по отдельной шкале на каждого персонажа?

Ответить
0

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

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

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Новая игра Ubisoft на релизе выглядит
точно так же, как и на E3
Подписаться на push-уведомления