Dusk World – Дневники разработки, часть 19:
Что нового

Просто красивая картинка с просторов еще не запрещенного интернета


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

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

 

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

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

декабрь 2023 — дописана новая версия боевки. Визуально и по механикам там (пока) все как в старой, но внутри всё переписано и намного больше просторов для реализации интересных механик. Подробнее о ней писал в предыдущем выпуске дневников.

январь-март 2024 — дорабатывал свой фреймворк, на котором написана вторая демо-версия.

апрель 2024 — возвращаюсь к попыткам развивать проект дальше на основе второй демо-версии, но там все сложно (подробности ниже).

июнь 2024 — деньги на год жизни накоплены и я увольняюсь. Наконец-то. Но прежде чем плотно приступать к разработке решаю, что нужно хорошо отдохнуть и разгрузить мозги, и на месяц зависаю в 7 сезоне Diablo 2.

1 июля 2024 — отдохнув приступаю к написанию новой версии проекта.

 

Итак, новая версия проекта

Да-да, знаю, что при этих словах у всех кто всё еще ждет проект будет примерно такая реакция:

Но, как бы ни было много сделано во второй демо-версии, её пришлось отложить, и делать новую. Причин несколько:

  • отсутствие авто-тестов, соответственно при изменении старого кода постоянно что-то отваливается. А правки старого кода там приходится делать постоянно.
  • фундаментальные архитектурные косяки, например числовые айдишники, которые нельзя оставлять как есть: когда посты имеют url вида domain.ru/post/10 то легко написать скрипт, который будет каждую секунду запрашивать новые посты, и в туже секунду, как они добавлены на сайт — копировать их себе. И поисковики могут подумать, что именно сайт-вор это источник контента.
  • много недоработок, с которыми невозможно было мириться, например, не было миграций для базы данных

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

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

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

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

 

Новая версия проекта

Давайте пройдемся по новой версии проекта, покажу что сделано за 3.5 месяца. Пока занимаюсь пока только «сайтовой» частью проекта.

Регистрация. Здесь пока все также, но в будущем все аватары будут заменены.

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

Теперь нужно подтверждать регистрационный email — это усложнит создание твинков.

В посте добавились теги, а комментарии отображаются не простым списком, а в виде дерева.

Добавлена база игр.

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

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

Игру можно добавить в любимые, и тогда она появится на странице профиля.

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

В будущем можно будет добавить «лайки» компаниям игр и можно будет сделать рейтинг самых любимых компаний по версии игроков.

Добавлены сообщества.

Текущие базы знаний по играм это будут именно сообщества.

И на этом же скрине видно небольшое улучшение по уведомлениям — если их 3 или более появляется кнопка «закрыть все». Не нужно кликать на каждый отдельно.

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

Подробнее о спутниках и питомцах расскажу в будущих выпусках дневников.

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

По сообществам еще много работы.

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

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

 

Эволюция понимания как надо делать

Много вечеров размышлял над тем, как можно ускорить разработку такого большого проекта. И наконец до меня дошло (на 8 год разработки), что такой крупный проект надо релизить по частям.

При этом поделить проект нужно так, чтобы каждая его опубликованная часть была самодостаточной. Первое очевидное решение: вначале опубликовать сайтовую часть, потом игровую. Еще немного подумав пришел к 4 стадиям:

План по релизам
   

Стадия I
Конец октября

Стадия II
Конец декабря

Стадия III
Март

Стадия IV
Лето

Функционал

переезд diablo1.ru на duskworld.ru
переезд diablo1.ru на https
запуск новой демо-версии

«тихий» релиз сайтового функционала

релиз «кликера» и PvP

релиз игровой составляющей проекта
запуск нового сезона

Пользователи в это время

тестируют сайтовый функционал в демо-версии

осваивают новый сайтовый функционал

тестируют PvP

играют в полноценную игру

Я в это время

доделываю админку, ошибки и прочие мелочи

переношу старые страницы на новый движок
реализую функционал персонажей,
обновляю предметы
добавляю рейтинговые PvP
добавляю турниры

продолжаю переносить старые страницы
правлю баланс
делаю новые локации
функционал диалогов
функционал квестов
и прочее

продолжаю переносить старые страницы
доработка мелочей
доработка баланса
разработка функционала для следующих обновлений

Если по первой и последней стадии всё понятно, промежуточные нужно пояснить:


Стадия II: «тихий» релиз сайтового функционала — когда функционал будет готов, нельзя будет просто взять и переключить сайт на новую версию. Потому что постов 0, игр 0, сообществ 0, и пользователи подумают, что привычный им сайт куда-то исчез.

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

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

Ну и конечно же будет огромный объем работы по переносу ~5000 старых страниц на новый движок, с комментариями. Т.е. какое-то время на сайте одновременно будут старые страницы, с комментариями как сейчас от гостей, и новые страницы, с комментариями только от зарегистрированных пользователей.

В общем это специфика обновления крупных и старых проектов.


Стадия III: релиз «кликера» и PvP — разработка новых локаций займет много времени, и чтобы пользователям было чем заняться, весной будет условный релиз «кликера»: когда на странице персонажа будут просто кнопки «добавить x опыта (10 энергии)», «добавить предмет (5 энергии)» и за счет этого можно будет прокачивать и одевать своего персонажа, а потом учавствовать в PvP с другими персонажами.

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

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

 

P.S.

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

Опубликовано: 19.09.24 – 14:34

Автор: Diablo




Комментарии

Ари 2024-09-19 19:59:29
Ждём получается.

Ответить
? 0 ?
JustNeedCoffee 2024-09-19 14:27:10
"Ближайший год будет веселым!"

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

Ответить
? +1 ?
Страницы:

Ваше имя
Комментарий



Реклама:

Наша командаРазработка глобального обновления

При поддержке Сил Преисподней
2008-2024