StoryPage

StoryPage

Пикабушник
Дата рождения: 9 августа
792 рейтинг 42 подписчика 3 подписки 2 поста 2 в горячем
215

История о том, как я в соло дотянул свою MMO до запуска (часть 2)

Часть 1: История о том, как я решил в соло сделать свою MMO (спойлер: уже на стадии ЗБТ)

Год назад я писал здесь про то, как в одиночку пилю свою MMORPG. Тогда проект уже был на стадии закрытого тестирования, и я осторожно говорил: "Ну, вроде что-то получается". Сейчас могу сказать иначе - игра запущена. Не "убила WoW", не собрала миллионы долларов и не стала новым трендом. Но люди заходят, играют, пишут (иногда цензурные), а серверы реально работают. Для меня это уже победа, в которую не верилось до конца.

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

Итак, первые запуски: Первый сервер запущен и работает в штатном режиме. Спустя четверть часа открываются продажи в Steam и ВК, обратный отсчет завершен.

Спустя еще 20 минут начался хаос: пинг скачет от 6 до 280, идут рассинхронизации, комьюнити негодует, а у меня начинается тихая истерика. Да - тестил, да - заходили из разных стран, но существуют еще разные провайдеры, города и прочие тонкости связанные с географией. Для многих это может показаться банально и на поверхности, я тоже так считал пока не убедился лично, что это не совсем всё просто.

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

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


Марш-бросок первых суток

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

Цикл был примерно такой: Смотришь логи - Видишь что-то странное - Чинишь - Выкатываешь - Смотришь, не отвалилось ли что-то - Повторяешь.

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

Параллельно читаешь сообщения игроков. Кто-то хвалит, кто-то возмущается (мягко говоря), кто-то спокойно пишет баг-репорт. Эмоционально это странное состояние: одновременно кайф ("люди реально играют в то, что я сделал") и лёгкая паника ("сейчас всё упадёт и я буду виноват").

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

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

А что изменилось за год?

Ну, немного поныл здесь, излил свою душу, теперь к сути =)

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

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

Сюжет, который не похож на типичную MMORPG

В TSP сюжет более личный и атмосферный. Мир живёт своей жизнью: NPC имеют распорядок дня, реагируют на происходящее, ведут себя по-разному в зависимости от ситуации. Это всё ещё MMORPG, но я старался сделать так, чтобы история не ощущалась не только как бесконечный гринд волчков (хотя куда же без этого), но и как целостное произведение. Пусть оно лишено голливудской анимации лиц, зато предлагает осмысленный досуг: крафт, прохождение истории, развитие навыков без привязки к жестким архетипам. Собрать мага в тяжелой броне? Без проблем.


Кстати, о графике.

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

Изначально цель была простая - чтобы игра выглядела достойно и при этом нормально работала на среднем и слабом железе. Я до сих пор тестирую на относительно скромной конфигурации (первая: 1650 GTX, а вторая 2060 RTX) и стараюсь держать приемлемый FPS. Красивые скриншоты - хорошо. Но если ради них половина игроков будет видеть слайд-шоу, то смысл теряется.

Стихии магии

Магия в игре построена на нескольких стихиях. Каждая имеет свой характер и ощущения в бою. Я не хотел делать просто "красный урон / синий урон". Хотелось, чтобы выбор стихии влиял на то, как ты играешь, а не только на цвет партиклов.

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


Боевая система: два оружия в руках

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

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

Баги, фидбек и реакция

После запуска посыпались баги - это нормально. Их были сотни - это не нормально (наверное). Главное - скорость реакции. Большинство критичных проблем я старался закрывать максимально быстро. Игроки находят баги быстрее любого тестировщика, это факт. Некоторые исправления багов проектировали появление новых. В сжатые сроки чинить без тестов критично важные вещи - не самое хорошее удовольствие.

Ну а вообще конструктив слушаю, токсичность стараюсь игнорировать. Многие правки появились именно благодаря игрокам. Без них я бы ещё долго сидел в своём пузыре и думал, что "всё и так нормально".

Хейт просто потому что

Отдельная категория - хейт. Его было много. И будет ещё.

"Один человек не может сделать MMO", "Это клон", "Графика 2012", "Зачем вообще".

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

Часть претензий полезна. Часть пишется просто потому, что есть клавиатура. Я уже научился отделять одно от другого. Хейт, как ни странно, иногда даже мотивирует: значит, проект хоть кому-то небезразличен.


А что еще есть на данный момент?

  • Два полноценных данжа.

  • Один сюжетный соло-данж (именно сюжетный, рассчитанный на одиночное прохождение).

  • Открытый мир с динамической сменой дня и ночи.

  • NPC с социальным поведением и распорядком дня.

  • Улучшенная боевая система.

  • Система стихийной магии.

  • Постоянные правки по фидбеку.

  • Боссы.

  • PvP арена для тестирования различных сборок.

  • Новые локации.

И много чего еще, включая ранее описанные механики из первой части статьи.

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

Что я понял после запуска:

Запуск - это не финиш. Это старт совсем другого этапа. Игроки находят то, что ты никогда не найдёшь сам.

Соло-разработка после релиза становится ещё более сложной: все ждут контент, а ты один, но теперь еще нужно отвечать на вопросы и пожелания (если это не пожелание закрыться).

На этом пока всё

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

Хотел выразить огромную благодарность всем тем, кто поддержал проект, всем кто даже просто писал ранее комментарии. Всё это позволяло мне дальше мотивироваться, работать, доделать до конца. Спасибо!


И я всё ещё не сошёл с ума.

Вроде.

Пользуясь случаем был бы благодарен вам за подписку в группы ВК и ТГ 🙂

Группа ВК: https://vk.com/the_story_page

Телеграмм канал: https://t.me/the_story_page

Страница Steam: https://store.steampowered.com/app/2984450/The_Story_Page/

Страница VKPlay: https://vkplay.ru/play/game/tsp/

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

История о том, как я решил в соло сделать свою MMO (спойлер: уже на стадии ЗБТ)

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

Через пару дней я решил попробовать заняться чем-то интересным просто ради развлечения и начал с выбора жанра будущей игры. Изначально выбор пал на RTS  (коим фанатом жанра я являюсь) с микроменеджментом и развитыми, продуманными производственными цепочками.

Однако во время новогодних праздников я предавался ностальгии, играя в старые игры, включая серию Gothic. Тогда у меня возникла мысль: "А что, если создать игру подобного жанра, но добавить в неё элементы онлайн-игры – иммерсивный мир, расписанный день у NPC, разнообразные диалоги?"

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

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

  • Вид от третьего лица;

  • Система диалогов;

  • Отсутствие бессмысленных заданий вроде «убей 100 волков, а затем еще »;

  • Смена дня и ночи, влияющая не только на освещение, но и на поведение NPC, которые будут вести себя естественно: спать, работать, менять свои диалоги в зависимости от развития сюжета;

  • Интерактивность игрового мира: взаимодействие с мобами, NPC и объектами. Можно разжигать кузницы, сидеть на лавках, зажигать и тушить факелы, готовить еду у костра;

  • Квесты, связанные с сюжетом;

  • Поддержка многопользовательского режима.

Первые запуски движка и изучение инструментария

Первые запуски движка и изучение инструментария

Начало разработки

Я никогда не боялся трудностей и прекрасно представлял какой длинный путь предстоит. Но равно с этим необходимо ставить себе реалистичные цели,, чтобы это не превратилось в очередного “убийцу WoW”, у которого будет бесконечная стадия разработки и затем проект так и не увидит свет.

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

И вот появился первый прототип, который очень далёк от того, что мне необходимо, но начало уже положено:

Наступила рабочая пора, праздники закончились, но азарта стало только больше. Рабочий день (основной работы + времени на разработку игры) было принято решение увеличить до 12-14 часов в сутки на протяжении первых 3х лет.

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

Мультиплеер.

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

Спустя 6 месяцев изучения C++, php, sql, самого движка UE с его неотъемлемой особенностью в виде Blueprints  и получения боли от потраченных нервов наконец-то были готовы:

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

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

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

Полностью рабочая авторизация из VK Play, Steam и объединение игроков из разных площадок в одну с помощью сервис EOS (Epic Games). Да, необходима небольшая регистрация на сайте эпиков, но взамен вы получаете стабильный автологин без необходимости каждый раз вводить данные и игру с друзьями стима и вк одновременно.

Продолжение разработки

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

Игру решил назвать “The Story Page”. Я не знаю почему именно так, путем перебора многих названий мне показалось данное наиболее созвучным и легко сокращаемым до “TSP”.

Что могу сказать. Это был сложный момент. Поскольку я был единственным членом команды разработчиков - пришлось делать самому буквально всё. Игру, страницу, группу, тест, изучать маркетинг и прочее. Собственно, я применил всё, что смог с трудом узнать, вместе N-ым количеством денег.

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

Итак, спустя ещё 3 года реализовано следующее:

Оптимизация.

Да, это самый первый пункт и самый важный как по мне. У меня изначально было видение выжать максимум, но из слабого железа. В основном я провожу активные тесты на Rysen 5500, GeForce GTX 1650, 16 gb ОЗУ и пытаюсь держаться отметки 40-60 фпс на средне-высокой графике. Впоследствии соберу статистику игроков, пожелания и от сюда буду исходить стоит ли наваливать крутого графона или всё же оставить как есть с небольшими косметическими изменениями, но чтобы могли играть даже на примитивных на сегодняшний день как у меня системах.

Атмосфера.

Здесь не долго думая решил пойти по классическому пути - мрачному фентезийному средневековью, но без радуги, бронелифчиков, 5ти метровых мечей и неуместных “скинчиков”. Сурово, жестоко, реалистично.

Редактор персонажей.

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

НПС и мобы с социальным поведением.

Каждый НПС имеет своё имя, он для чего-то служит: будь то торговец, квестодатель, учитель и т.д. У них имеется социум: к примеру проходящий мимо наёмник не проявится “сочувствия” к обороняющемуся жителю деревни, который отбивается от случайного игрока. В то же время поможет другим наемникам в данной борьбе. Ровно как и жители деревни встанут на защиту своего соседа. Ну или разбегутся, т.к. каждый социальный кластер может делиться еще и на их поведение от трусливого и беззащитного до агрессивного по отношению к другому класстеру. Более простой пример - это лесной олень, не видящий опасности в зайце, но убежит от волка едва его увидев.

Распорядок дня.

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

Открытый мир

Так часто слышу это словосочетание в преимуществах проектов. Так часто он остается пустым и скучным… Здесь я стараюсь соблюсти баланс и не упираться в гигантизм масштабов, а использовать “вертикальность” мира. Сделать его более интересным для исследования, избежав при этом более 1 минуты беготни в одну точку по пустому полю. Весь мир и каждое дерево создается вручную без использования генераторов, нейросетей и вспомогательных программ. Да - это долго, но зато каждый метр становится обдуманным, хоть и не без ошибок, которые устраняются по мере их обнаружения.

Атрибуты, статы защиты\атаки

Раз уж заикнулся про жанр RPG, то конечно же каждый элемент одежды, брони, оружия должен содержать в себе защиту от урона (а это 12 типов прямого урона и 2 естественных). Нет универсальной брони и одежды, чтобы защитить от всего. Везде действует принцип: “камень-ножницы-бумага”. Тяжелая броня хорошо защищает от стрел и многих физических типов урона, но много весит и хуже воспринимает защиту от 2 естественных - это от холода и жары. В латах действительно тяжело передвигаться как по жаркой пустыне, так и во время морозной вьюги, когда броня начинает замерзать и покрываться льдом, приводя персонажу к постепенному замерзанию.

На данный момент помимо холода и жары реализованы так же такие типы урона, как: Режущий, Колющий, Дробящий, Рубящий, а так же магия данных типов: Огонь, Вода, Ветер, Земля, Свет, Тьма, Чистая магия, Магия крови.

Каждый тип может спровоцировать определенный эффект от воспламенения, до кратковременной потери видимости.

Текущая версия инвентаря на момент написания статьи

Текущая версия инвентаря на момент написания статьи

Одежды персонажей учитывающая пол персонажа.

Более 200 предметов уже добавлены, столько же будет добавлено позже, на данный момент в этом нет необходимости.

Селфи вместе с отдыхающими нпс

Селфи вместе с отдыхающими нпс

Инвентарь и торговля

Возможность торговли с НПС и другими игроками по всем канонам мультиплеерных игр.

Диалоговая система

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

Боевая система

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

Магия

Разнообразие магии. От классического Fireball, свойственного многим фэнтези играм, до метеоритных дождей, защитных куполов и сферы, замедляющей время внутри нее (да-да, аналог Faceless Void но в жанре mmorpg с открытым миром для тех кто в теме 😂).

Кулинария и крафт

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

Создание гильдий

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

Что планируется?

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

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

Работаю над локациями

Итоги

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

На этом все! Спасибо, что прочитали мою историю. Буду рад, если вы поддержите The Story Page добавив её в  список желаемого, лайком в новостях, да или просто добрым словом. С удовольствием отвечу на вопросы, если они у вас возникли. Всем добра!

Видео о том, как всё происходило:

Youtube и VK Video если кому-то так удобнее.

P.S.: Пользуясь случаем, если вы дошли до этого места, я был бы благодарен вам за добавление моей игры в списки желаемого и подписку в группы ВК и ТГ 🙂

Группа ВК: https://vk.com/the_story_page

Телеграмм канал: https://t.me/the_story_page

Страница Steam: https://store.steampowered.com/app/2984450/The_Story_Page/

Страница VKPlay: https://vkplay.ru/play/game/tsp/


P.P.S.: Это мой первый пост на Пикабу. Если вдруг в нем что-то не так - пожалуйста, скажите, чтобы я исправился).

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

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества

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

Теги

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

Сообщества