Graphuary, день 6
Наблюдение
Начал я писать эту хлабудину ещё в 2024-ом. Первый пост о ней был прошлой зимой на Капи, но дописан инструмент так и не был, потому как внезапно срочно надо было писать Лиспублику.
Сейчас время снова появилось и я решил закрыть этот вопрос.
Сразу скажу, что на тот момент нормального приложения на телефон вообще не было, сайт был только лонгсторишорт из русскоязычных, так что создать свой инструмент казалось логичным. Сейчас с сайтами всё так же плохо, но появилось приложение DND Russia (не реклама, если что, просто правда неплохой вариант).
Тем не менее, так как я пишу не только эту штуку, но и программу для ведения игры через интерактивные игровые столы, то между ними, конечно же, будет интеграция (автоматическое начисление опыта, выдача предметов, получение урона, бафы, дебафы и т.д.).
Но, обо всём по порядку.
Есть простой мастер создания перса, девочка нуб (она себя так назвала, это не моя оценка) создала перса за несколько минут и у неё не возникло сложностей.
И потом идёт менеджмент и полуавтоматической прокачкой.
Внутри перса вся основная информация
Ну и, конечно же, есть функционал для мастеров:
Так же можно установить дату следующей игры, специальный бот об этом оповестит в общем чате вашей пати в ТГ.
Портал уже доступен через енти ваши интернеты, но находится в такой глубокой альфе, что пока не зову никого туда) Но особо страждущие, конечно, уже могут пощупать.
А этот пост просто то ли анонс, то ли тупо поделился, не знаю)
Всем хороших игр!
В продолжение поста https://lispublica.ru/posts/etot-kollab-budet-legendarnym
Кампания по сбору средств превысила целевую сумму в 4 раза. Так что народ доказал, что хочет это увидеть, и подготовка к игре начинается. Пока запланированы три сезона, первый отснимут в январе 2026 и выпустят в марте
Рабочее название проекта: Min-Maxed
Имена для персонажей пока не выбирали - наверное, все участники будут играть под своими реальными или сценическими именами.
Основные 6 характеристик получены бросками 4d6, не учитывая самое маленькое выпавшее число. Будет ли далее задействован метод стандартного набора (когда игрок сам выбирает, какое число какой характеристике присвоить), или они сразу бросали по порядку, неизвестно. И соблюдался ли порядок во втором случае, или они расположили характеристики в другой последовательности - тоже неизвестно. Пока привожу их характеристики в обычной последовательности, ибо, судя по всему, это более вероятный вариант.
У Кларка и Дэвида проблемы с арифметикой, в паре моментов они насчитали неправильные числа. В таких случаях я записал то, что было озвучено, и в скобках добавил то, что видно на кубиках. Скорее всего, на монтаже или в комментариях к видео они это уже заметили и внесут правки в карточки персонажей.
Также имейте в виду, что они ещё не применяли модификаторы расы и прочие бафы/дебафы, поэтому финальный набор может отличаться.
Раса: человек
Класс: воин
Подкласс: чемпион
Любимое оружие: длинный меч и баклер
Характеристики (числа в скобках - реально выпавшие числа там, где допущена ошибка):
Сила: 11
Ловкость: 14
Телосложение: 9
Интеллект: 8 (10)
Мудрость: 18
Харизма: 16 (15)
Раса: полугоблин
Класс: плут
Подкласс: дуэлянт
Любимое оружие: рапира
Сила: 14
Ловкость: 12
Телосложение: 12
Интеллект: 11
Мудрость: 14
Харизма: 16 (14)
Раса: не упомянута
Класс: колдун:
Договор: договор гримуара
Сила: 14
Ловкость: 12
Телосложение: 14
Интеллект: 14
Мудрость: 14
Харизма: 14
По другим членам пати инфы пока нет.
Всем доброго здравия, дорогие друзья!
Этим постом я начинаю серию публикаций о том, как я разрабатываю систему для ведения интерактивный НРИ. В тегах указана пятая редакция Подземелий, но на самом деле речь о любой НРИ. Привязки к конкретным правилам нет, подразумевается, что все необходимые действия (типа бросков кубиков) игроки будут совершать ручками за столом. А программа нужна только для визуализации перемещений, отображения карт и создания показательных боевых ситуаций. Ну и автоматическая выдача опыта, но это опционально и об этом потом.
И так, начнём с самых азов. На чём всё это безобразие будет работать?
На Unity. Почему? Да потому что на ней достаточно дёшево реализуется общение с ГПУ, а оно нам тут понадобится.
Полностью рассказывать о том, как и что я сделал смысла не вижу, но буду делиться какими интересными выкладками и, возможно, кусками кода, если они кому-то нужны.
Что мы сейчас имеем:
1. Система приключений
2. Внутри каждого приключения есть система игровых сессий
3. Внутри сессий и приключений есть возможность редактирования базы НИП, заданий, предметов и локаций
Кстати, UI в окне приключения реализован, как мне кажется, достаточно элегантно: он строится динамически, и в него легко буквально одной строчкой можно добавить новые разделы, которые сразу же отрисуются и кнопочкой и панелькой.
Для этого у меня создан класс SectionsManager, который висит в памяти приложения как Singleton. Он хранит в себе информацию о том, какие разделы мы будем использовать. Добавлять их туда можно через конфиги или через код, это уже вопрос того, кому как удобно.
А потом есть код, отвечающий чисто за UI и он ждёт от этого менеджера команду, когда тот всю необходимую информацию соберёт и скажет, что вот сейчас уже можно рисовать
private void Awake()
{
SectionsManager.GetInstance().IsReadyToRender += Render;
}
private void Render()
{
Sequence seq = DOTween.Sequence();
foreach (IMenuSection section in SectionsManager.GetInstance().Sections) {
SectionButton button = Instantiate(sectionButtonPrefab, transform);
RectTransform rt = button.GetComponent<RectTransform>();
CanvasGroup cg = button.GetComponent<CanvasGroup>();
cg.alpha = 0f;
button.transform.localScale = Vector3.zero;
button.Init(section.GetName(), () => { section.Show(transform.parent); });
seq.AppendCallback(() =>
{
cg.DOFade(1f, 0.3f).SetEase(Ease.OutQuad);
button.transform.DOScale(1f, 0.4f).SetEase(Ease.OutBack);
});
seq.AppendInterval(0.1f);
}
}
Конечно, каждую секцию нужно предварительно настроить и сохранить как префаб, совсем магии тут нет, но зато управление такими секциями становится максимально простым. Не захочет мастер пользоваться функционалом заданий, зачем ему занимать память приложения и заграмождать интерфейс ненужным функционалом. Он его отключит, приложение его выгрузит и забудет до тех пор, пока Мастер снова не захочет им воспользоваться.
Понятия не имею, интересно ли это вообще хоть кому-то, но я искренне надеюсь, что среди пользователей сайта есть люди неравнодушные к программированию, геймдеву и НРИ.
Посему жду комментариев, вопросов, критики, чего угодно.
Всем хороших игр!
Привет всем.
Играет тут в ролевые игры кто?
Классно!
Офигенно!
Они каждый со своим характером и эмоциями, классно вышло)