Rayel v0.7

Форум для проектов, находящихся на стадии Альфа и Бета. В них ещё не реализована вся задуманная автором функциональность, а значит идёт активная разработка.

Модераторы: Sanja, Максим Кич

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Foxmire

Сообщение Anfeir » 04 сен 2021, 07:04

Apromix писал(а):
03 сен 2021, 18:47
Мне кажется как раз для такого случая (с материалом) модель с обычным мин.-макс. уроном подходит лучше, чем модель с кубиком D&D.
Да, похоже на то.

Но я наверно все же попробую кубики, чисто посмотреть что получится.
Одна из причин - чуть больше возможностей для разнообразия оружия. 1d12, 2d6, 3d4, 4d3 дают разные распределения. Плюс можно навесить lucky бонусы на бросок кубика. Плюс ламповость. А еще если рисовать юзеру формулу, то что красивее выглядит:
Файрболл. Повреждение: 5+ 2d4 * int
Файрболл. Повреждение: 5+ [2-8] * int

Аватара пользователя
Apromix
Мастер
Сообщения: 1234
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Foxmire

Сообщение Apromix » 04 сен 2021, 17:52

Anfeir писал(а):
04 сен 2021, 07:04
Но я наверно все же попробую кубики, чисто посмотреть что получится.
А ну ок. Потом больше придется переделывать)) Ну а возможно обнаружится прикольная тема))

Аватара пользователя
Linker
Сообщения: 462
Зарегистрирован: 12 мар 2019, 14:45
Откуда: из прошлого

Re: Foxmire

Сообщение Linker » 05 сен 2021, 13:23

Anfeir писал(а):
03 сен 2021, 09:27
Как вы относитесь к дайсам?
Ну то есть Урон: 2d7+3 вместо 5-17
Есть в них что-то теплое и ламповое, хотя по сути они для настолок.

Добавить к ним модификаторы от, например, материала оружия, т.е. NdM+K, то есть если оружие было 2d7, то будет (2 + N)d(7 + M) + K

Один и тот же модификатор сильно по-разному может влиять на разные шмотки, например:
Материал Фуфлоний, к повреждению: 0d2
Сабля 1d10 - c бонусом будет 1d12
Кувалда 5d2 - с бонусом будет 5d4

Материал Мегафуфлоний, к повреждению:2d0+3 уже лучше сработает на сабле, чем кувалде.
Правда, выглядит хаотичненько
я думаю чт врядли ктот будет возражать против дайсов.
1. более широкая варитивность просто визуально даж. обычные игроки врядли будут заниматся точными расчетами, им оно не над,ну а тем кто профи - так интересней. а если что как вариант расчет можно сделать в инфо оружии( такое встречал в некоторых играх, последнее где видел-тангария) ну или в статах может отображатся стандартнм видом.
2. модификаторы материала судя по твоей описи интересней влияют на дайсы.
так что одни плюсы)
а минусы? да нету их.скажете непривычно? ну это не минус а снова плюс) играть в копию копий..уж наверн чтот особенное больше зайдет)

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Miafin

Сообщение Anfeir » 07 сен 2021, 10:10

Долго думал над названием игры - Foxmire звучит нормально, атмосферу создает нормальную, но просто не по душе.
Долго думал и в итоге почти спонтанно переименовал в название монстра, которого придумал ещё будучи лет 20 назад. (Свой школьно выглядящий ник тоже тогда же придумал да так и оставил).
Дайсам - быть.
Покончив с этими самыми сложными вопросами, перехожу обратно к тривиальному: продолжаю возиться с инвентарём.
Последний раз редактировалось Anfeir 07 сен 2021, 19:49, всего редактировалось 1 раз.

Аватара пользователя
karagy
Сообщения: 1185
Зарегистрирован: 10 янв 2007, 14:13

Re: Miafin

Сообщение karagy » 07 сен 2021, 16:33

После такого списка имен - нас забанят в поисковиках за недобросовестное SEO! -)

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 07 сен 2021, 19:49

karagy писал(а):
07 сен 2021, 16:33
После такого списка имен - нас забанят в поисковиках за недобросовестное SEO! -)
Ок, убрал ;)

P.S. И переименовал опять. Будет целый континент, как и в Rayel 0.1.

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 17 сен 2021, 10:16

Переписал логику всплывающих подсказок. Раньше они не следовали за монстром, из которого вылетали, сейчас всё норм.
Добавил инвентарь. Допиливать ещё много, но основное работает. Скриншоты для mobile layout, для десктопа вариант предусмотрен, но позже.
Скрытый текст: ПОКАЗАТЬ
inv-3.PNG
inv-3.PNG (76.23 КБ) 681 просмотр
inv-2.PNG
inv-2.PNG (85.26 КБ) 681 просмотр
inv-1.PNG
inv-1.PNG (87.3 КБ) 681 просмотр
С дайсами отказался от идеи общего модификатора (0d1+3), теперь формулы выглядят например так:

Код: Выделить всё

damage = (min {MatClass, 3}) D (6 + MatMastery + Power) + 1 + Something
Теперь - UI действий (обычные, навыки, заклинания, таланты).

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 17 сен 2021, 10:37

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

Есть процесс выполнения "хода" - когда мы перебираем временную ось с текущего момента по момент, когда снова нужно действовать игроку. В этом процессе монстры (и прочие объекты) ходят, выполняют разные действия, и где надо визуализировать, отчитываются в UI в виде recordMove, recordAсtion, recordTooltip и прочее. Эти данные накапливаем в структуре "Film" (фильм)

После выполнения порции временной оси плавно отрисовываем то, что произошло.

Фильм состоит из одной или нескольких фаз (Phase). Фаза уже содержит анимации. Это сделано для того, чтобы отображать анимации последовательно. Фильм и соотв. фазы формируются во время процессинга временной оси, решение о том, чтобы начать новую фазу, формируется по особой логике. Примеры - если два монстра просто идут друг за другом, то отображаем это в одной фазе (одновременно).
Если монстр1 сначала атаковал монстра2, а потом монстр2 пошёл куда-то, то в одной фазе это отображать нельзя, т.к. анимация атаки слилась бы с анимацией перемещения цели. Но если два монстра атакуют друг друга одновременно - это вполне можно отобразить одновременно. Для этого на каждый объект вешается флаг Unaffected/Moved/Acted/PositionFixed.

каждый тип анимации имеет метод Paint(int percent), где percent - от 0 до 100, соответственно началу и концу фазы фильма.

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

Аватара пользователя
karagy
Сообщения: 1185
Зарегистрирован: 10 янв 2007, 14:13

Re: Miafin

Сообщение karagy » 22 сен 2021, 06:47

Anfeir писал(а):
07 сен 2021, 10:10
Долго думал над названием игры ...
UnderRayel !!!
Шутка!

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 23 сен 2021, 08:45

karagy писал(а):
22 сен 2021, 06:47
Anfeir писал(а):
07 сен 2021, 10:10
Долго думал над названием игры ...
UnderRayel !!!
Шутка!
;)

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 24 сен 2021, 11:27

В процессе добавление абилок. Добавил основу UI (кроме quickactions), механизм хранения и изменения абилок у монстра.
Абилки разбиты по Кругам (circles), у каждого circle есть количество слотов, как в ad&d.
Абилки бывают следующих типов -
Заклинания - одно заклинание занимает один слот соответствующего круга. Меморайзятся заклинания все вместе
Можно выбирать, сколько конкретных заклинаний запомнить и держать готовыми.
Таланты - на каждый круг можно замеморайзить не более одного таланта. Количество автоматом будет максимум у данного circle. Восстанавливаться будут постепенно и индивидуально каждый талант.
Навыки - обычные навыки. Тоже разбиты по кругам, но на слоты им без разницы.
У любых абилок могут быть cooldowns.
Таланты по своей игровой логике - часто сродни заклинаниям, но это больше именно способность монстра, обычно не требующая произнесения собственно заклинания. Занимают некое промежуточное положение между навыками и спеллами.

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 01 окт 2021, 09:37

Добавил UI-йную часть абилок, включая quickslots. В шрифте забыл нарисовать слеш /, пока приходится выкручиваться без него .)
Скрытый текст: ПОКАЗАТЬ
abis-1.PNG
abis-1.PNG (39.04 КБ) 526 просмотров
abis-2.PNG
abis-2.PNG (45.92 КБ) 526 просмотров
abis-3.PNG
abis-3.PNG (77.56 КБ) 526 просмотров

Продумал логику атакующих абилок, добавил парочку пробных. Добавил логику и отображение нанесения повреждения.
Скрытый текст: ПОКАЗАТЬ
fight-1.png
fight-1.png (39.54 КБ) 526 просмотров
fight-2.png
fight-2.png (30.96 КБ) 526 просмотров

Сюда же добавил несколько резистов и броней. Кроме обычной брони есть ещё например elemental armor и arcane armor. То есть от повреждения огнём, например, будет работать свойства elemental armor и resist fire. Также заложил основу механизмов для разных модификаций величины удара и реакции жертвы, таких как items of undeath slaying, stoneskin, spheres of absorbtion, реакцию на fireshield, и т.д. Не говоря о правильном порядке сообщений и отрисовки. Всё это было и раньше, во всех проектах, и внутренний перфекционист всегда был недоволен стройностью кода. Кто писал подобные вещи, наверно, понимает ;) Сейчас пока доволен на 97.5%, посмотрим дальше.

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

Вместе со сменой названия игры поменялась и карта мира. Продумал и нарисовал на бумажке карту континента (и окрестностей). Схожее с Rayel 0.1 есть много, но в целом карта другая. Главное же её отличие - она не посимвольная, а просто нарисованная на бумаге.) Ну потом будет на экране. Нарисовав общую карту, нарисовал карту центральной части, потом карту местности возле города Ламтона, и набросал план одной области оттуда. Логику мира я описывал в начале топика, она хорошо ложится на карту. Главная особенность - разное логическое расстояние знакомест, т.е. дорога через весь континент физически не такая уж и длинная. А на один её участок можно навтыкать любое количество областей - грубо говоря, "увеличив масштаб карты". Карта по сути просто как картинка, для ориентации, на физическом уровне существуют только плавно связанные между собой локации.

Сейчас запилю открытие/закрытие дверей, ну и буду накидывать первую область. Это дорога к югу от Ламтона, называется Лёгкий Путь (Easyway). Первое название было Грабёж-путь (Robway), но подумав, переименовал. Но суть останется. В новом Райеле области хочу добавлять постепенно и сразу со смыслом, с какой-то историей, квестом, задумкой. Также и здесь. Так что работы навалом, т.к. это будут первые квесты, первые магазины и таверны, и много чего первого, будет относительно долго.

P.S.
Да, от идеи полностью рандомного мира в данном проекте отказался, и с тех пор чувствую себя намного лучше.) Ну то есть содержимое локаций будет рандомно (целиком или нет), дороги могут быть сгенерены по-разному, но название областей, их взаимное расположение - фиксировано для основы нарисованной карты. Планируются и рандомно расположенные области. Например, Летающая Цитадель - может приземлиться где угодно. Или пещерка (пусть даже сюжетно значимая) - раз и в любом месте мира сгенерилась. Ну вообще механика позволят навтыкать в карту что угодно.
Полный же рандомно генерённый мир, включая рандомно сгенерированные названия областей (и тут можно докатиться до рандомно сгенерированных типов монстров) - для других проектов, пока на него забил.

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 09 окт 2021, 05:58

Добавил массивные объекты на примере дверей, плюс открывание и закрывание, добавил мессаги к действиям. Как и в R 0.1, от первого и третьего лица. Добавил лёгкую проверку тэгов к объектам. (например IsOpenable, Undead, CaveDweller)

Изменил кое-что в генерации локации. Раньше генерировалась сначала "маска" карты, однобайтовый массив со значениями "стена", "проход", "вода", "дерево" и т.п., а следующим шагом уже пробегались по маске и заменяли на реальные объекты. В случае деревьев, например, появлялись рандомные ёлки, берёзы, сосны и т.п. Ну и одну и ту же комнату можно легко обуть в разные стены. Сейчас вместо маски используются ID реальных объектов. Так оказалось логичнее при редактировании статических локаций, где надо добавлять и типичное заполнение (пол, стена), и узко специфичное для области.

Запилил какую-никакую основу для редактирования статических локаций.
Скрытый текст: ПОКАЗАТЬ
e-1.PNG
e-1.PNG (120.62 КБ) 447 просмотров
Осталось добавить поддержку статики собственно в игру. Там есть момент с грамотным соединением локаций между собой, в рандомном там логика простая, а тут надо будет подстраиваться под статику. Потом, добавить редактирование "комнат" - когда группе знакомест приписываем отдельную комнату. Это может быть что угодно (магазин, гильдия, ловушка). Ну и улучшения для удобства редактирования.

Да, про ловушки. Хочу позаимствовать этот элемент из мадов - DT, Death Trap. Нечто такое, где сразу финиш и лиричное сообщение. В копилку YASD. Посмотрим, как будет на практике. Они должны быть идентифицируемыми, само собой, и никогда не бывают просто на случайном месте скрытыми, как обычные ловушки. Ну и над permadeath активно тоже думаю. Возможны разные подходы, но всё-таки в обычном случае хочется дать человеку шанс продолжить играть, но при этом ощутить болезненность.

Аватара пользователя
Apromix
Мастер
Сообщения: 1234
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: Rayel v0.7

Сообщение Apromix » 14 окт 2021, 06:15

Anfeir писал(а):
01 окт 2021, 09:37
и тут можно докатиться до рандомно сгенерированных типов монстров
Это как?

Аватара пользователя
Anfeir
Сообщения: 763
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Rayel v0.7

Сообщение Anfeir » 17 окт 2021, 08:04

Apromix писал(а):
14 окт 2021, 06:15
Anfeir писал(а):
01 окт 2021, 09:37
и тут можно докатиться до рандомно сгенерированных типов монстров
Это как?
Ну, по аналогии с вещами, наверно. Разные комбинации телосложения, размера, материала тела, стихии, скиллов, склонностей, демоничеости и пр. Подошло бы к игре по мотивам Амбера. Визуально - разные варианты, проще всего в аскии.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость