Серия «Нулевая станция | дневник разработки»

2

Дневник разработки №5. Написал одну историю. А потом разрешил игроку выбирать⁠⁠

Серия Нулевая станция | дневник разработки

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

Дневник разработки №5. Написал одну историю. А потом разрешил игроку выбирать

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

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

И тут меня понесло.

В результате у «Нулевой станции» получилось семь концовок.

Семь, Карл!

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

А потом начал всё это соединять.

И вот тут стало весело.

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

Всё просто.

А теперь разрешите читателю пойти направо.

Или вообще никуда не ходить.

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

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

Я начал рисовать в голове схему переходов между сценами. Потом понял, что в голове она уже не помещается.

Открыл записи.

Там тоже всё выглядело подозрительно.

В одном месте игрок уже знает важную информацию, в другом ещё нет. Где-то нужно учитывать решение из первого акта, а где-то помнить, что человек сделал совсем недавно.

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

Отдельное удовольствие — проверять концовки.

Проходишь один маршрут. Работает.

Второй. Тоже работает.

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

Ладно, исправляем.

Снова проверяем первый.

И так по кругу.

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

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

В итоге сижу и сам расследую, почему у меня одна сцена ведёт не туда, куда должна.

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

Короче, решил сделать небольшую текстовую игру.

Построил филиал РЖД с семью конечными станциями и сомнительной системой навигации.

И ведь мне это нравится.

Показать полностью 1
0

Дневник разработки №4. Попросил ИИ сделать красивый мессенджер. Получил фиолетовый калькулятор⁠⁠

Серия Нулевая станция | дневник разработки

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

Дневник разработки №4. Попросил ИИ сделать красивый мессенджер. Получил фиолетовый калькулятор

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

Интерфейс был простой: тёмный фон, прямоугольные сообщения и большие кнопки с вариантами ответа. Для проверки сюжета годилось, но на настоящий мессенджер походило примерно так же, как Excel на социальную сеть.

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

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

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

Зато всё стало фиолетовым.

Спрашиваю у ИИ, считает ли он это современным мессенджером.

— Нет, ты прав. Мы получили старый интерфейс с новыми цветами.

Спасибо. А до запуска сказать было нельзя?

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

Ладно, думаю, с первого раза не получилось. Бывает. Начали разбираться.

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

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

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

Но настоящий сюрприз оказался даже не в этом.

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

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

Атмосфера присутствует. Но немного не та, которую я планировал.

Самое интересное, что я не программист. Я понятия не имел, сколько нюансов скрывается за обычной перепиской. Раньше казалось: ну сообщения, ну кнопки, что там делать? Теперь выяснилось, что даже появление пузырька текста можно испортить несколькими способами.

В итоге выработали простую систему. ИИ пишет код и объясняет, что улучшил. Я запускаю игру и смотрю, стало ли лучше. Если нет — возвращаемся к работе.

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

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

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

А главное — теперь знаю, что фраза «сделай современный интерфейс» требует уточнения.

Особенно если не хочешь получить калькулятор.

Продолжение следует.

Показать полностью 1
2

Я ДАЛ ИГРОКУ ВЫБОР. И ИГРА СРАЗУ НАЧАЛА ВРАТЬ⁠⁠

Серия Нулевая станция | дневник разработки

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

Ну да. Конечно 😄

Я ДАЛ ИГРОКУ ВЫБОР. И ИГРА СРАЗУ НАЧАЛА ВРАТЬ

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

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

Иначе получается очень жизненный мессенджер: ты пишешь одно, а собеседник отвечает вообще на что-то своё 😄

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

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

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

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

Второй вариант почему-то пугает сильнее 😄

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

Теперь осталось научить её не забывать, что именно он решил.

Дневник разработки «Нулевой станции». Запись №3.

Показать полностью 1
1

ОНА НАПИСАЛА «ЗДРАВСТВУЙТЕ.»⁠⁠

Серия Нулевая станция | дневник разработки

Пока я возился с Godot, первый пост на Pikabu успел получить первые комментарии. Отдельный привет человеку, который назвал происходящее «очередным бездушным нейрослопом» 😄

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

ОНА НАПИСАЛА «ЗДРАВСТВУЙТЕ.»

В прошлой записи я закончил на великой цели: открыть Godot, сделать экран мессенджера и добиться, чтобы на нём появилось первое сообщение. Звучало довольно скромно. Ну правда — прямоугольник, текст, кнопка. Что тут вообще может пойти не так? Спойлер: если ты впервые открыл игровой движок — примерно всё 😄

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

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

Одно слово. Но вот тут случился довольно странный момент. До этого «Нулевая станция» существовала в виде сценария, схем, заметок и огромного количества текста. А теперь персонаж впервые появился на экране и что-то мне написал. Объективно — программа вывела строку текста. Субъективно — игра впервые подала признаки жизни 🚉

Разумеется, радовался я недолго. Почти сразу выяснилось, что мессенджер — это не просто «вывести несколько сообщений». Сообщение должно появиться в нужный момент, перед ним нужна пауза, иногда персонаж должен «печатать», у сообщений есть время, чат должен сам прокручиваться вниз, а потом игроку надо показать варианты ответа и дождаться выбора. И всё это желательно сделать так, чтобы интерфейс не развалился от одной длинной фразы.

В общем, задача «показать слово “Здравствуйте”» довольно быстро превратилась в «давайте для начала напишем маленький мессенджер» 😄 Но первое сообщение уже было на экране, и для меня это первый настоящий рубеж: до этого я писал игру, а теперь начал её собирать.

А потом я решил добавить второе сообщение.

Вот тут всё и началось.

Показать полностью 1

КАК Я РЕШИЛ СДЕЛАТЬ ИГРУ, НЕ УМЕЯ ДЕЛАТЬ ИГРЫ⁠⁠

Серия Нулевая станция | дневник разработки
КАК Я РЕШИЛ СДЕЛАТЬ ИГРУ, НЕ УМЕЯ ДЕЛАТЬ ИГРЫ

— Ты программист? — Нет.

— Художник? — Тоже нет.

— Геймдизайнер? — Нет.

— Тогда с какого хрена ты решил делать игру?

Вот примерно с этого и начинается мой дневник разработки.

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

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

Первой здравой мыслью было не открывать игровой движок. Потому что я прекрасно знаю себя: если бы я сразу увидел перед собой сто кнопок, какие-нибудь Nodes, Scenes, Scripts и ошибку на английском, проект с большой вероятностью назывался бы не «Нулевая станция», а «Новая папка (3)».

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

В итоге пришёл к текстовой сюжетной игре. И тут внезапно появилась идея 🚉

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

Так появилась «Нулевая станция».

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

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

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

Мы начали проходить игру без самой игры — на бумаге: выбор → флаг → следующая сцена → улика → следующий выбор → финал. И она сломалась. Не сюжетно. Технически.

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

После повторной проверки получилось: 🎬 34 сцены • 🔀 57 выборов • 🚪 7 концовок. И, насколько мы сейчас можем судить, ни одного маршрута, который намертво ломает прохождение.

И только теперь я подошёл к самому смешному: после всего этого у меня до сих пор нет игры. Есть полностью написанная история, техническая схема и огромное количество текста.

А завтра я впервые нормально открываю Godot и начинаю превращать всё это в работающий проект. Моя ближайшая великая цель очень скромная: сделать экран мессенджера и добиться, чтобы на нём появилось первое сообщение — «Здравствуйте.»

Если после этого ничего не взорвётся — будем считать разработку успешной 😄

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

Короче. Я решил сделать свою первую игру.

Посмотрим, чем это закончится.

Дневник разработки «Нулевой станции». Запись №1.

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества