Войти
ПроектыФорумОцените

Adventurers (TTB)

Страницы: 1 2 Следующая »
#0
(Правка: 8 июля 2019, 15:17) 0:07, 1 дек. 2018

Ориентировочное название: Adventurers
Жанр: Turn-Based-Tactics
Движок: Godot Engine 3

Обновлено 2019.07.08

+ Показать

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

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

Что уже есть:
  Поиск пути
  Рисование всевозможных областей, путей
(в том числе : Область перемещения, возможная область атаки с досягаемостью и учётом рельефа, выбранный путь)
  Хранение параметров персонажей классов в отдельных файлах-заготовках
  Хранение навыков в отдельных файлах-заготовках
  Передача хода
  Перемещение
  Панельки с кнопками доступных навыков
  Нанесение/Получение урона
  Активация и применение навыков
  Кулдауны навыков

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

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

В третью очередь заняться увеличением контента:
  Навыки и классы, уровни


"играбельные" демки (всё еще нет ИИ, так что пока хот-сит):

+ Показать


#1
(Правка: 23:15) 23:13, 3 дек. 2018

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

В лучших традициях всё события эмулируются "бросками кубиков"

Сама система будет простенькой - всего 3 параметра, в которые можно вкладывать очки - выносливость, боевое мастерство и магическое искусство:
Выносливость отвечает за количество хитпоинтов и дает бонус к проверкам на избавление от негативных эффектов
Боевое мастерство дает бонусы к точности (проверкам на шанс попадания физической атакой), бонусному физическому урону и защите от физических повреждений
Магическое искусство - полностью аналогично боевому мастерству, но относительно магического урона

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

Характеристики, в которые нельзя вложить очки (но могут апаться предметами или положительными эффектами):
Очки действия (перемещение тратит 1 очко, атака или использование навыка - 2 очка)
Скорость перемещения
Шанс на критический удар (бонусный шанс выкинуть максимальный урон. Например: шанс +1, кость урона 1к4. тогда фактически кидается кость 1к5, но выпавшие грани 4 и 5 всё равно нанесут 4 урона)
Регенерация - тут всё понятно, регенерация в начале своего хода
Сопротивление - в конце своего хода кидаются проверки на избавление от негативных эффектов


Сама система простая, и забить структуру всех этих параметров и функции автоматического обновления просто, однако внезапно вырисовываются следующие проблемы:
- Так как разные предметы могут давать всевозможные бонусы, то нужно реализовывать хотя бы имитацию предметов и эффектов, которые вообще планировалось добавлять практически в финале. Вариантов разрешения пока видно два:
  1) Фиктивный класс брони
  2) Полноценно продумывать предметы и инвентарь прямо сейчас
    (пока что склоняюсь на 1-м варианте)
- В любом случае нужно резко задуматься над тем, как конкретно считать бонусы от разных элементов или эффектов. Можно сделать по-тупому - складывать все эффекты от всех ячеек, но это выглядит как костыль и вообще полная лажа. Более логичное пока ничего не приходит в голову
- Внезапно, возникает необходимость переделывать уже имеющиеся действия в полноценные навыки с зависимостями от параметров. И, вероятно, лучше заняться этим сейчас, пока их не много.
- Также, можно иметь в виду, что в игре будет экран менеджмента предметов, а значит там нужен мгновенный динамический расчёт характеристик. А в бою характеристики меняться не должны, да и броню менять прямо в бою я думаю не стоит. Во-первых, нелогично. Во-вторых, позволяет обойтись меньшими ресурсами

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


Итак, планы на ближайшее время:
1) Обдумать реализацию предметов
2) Переделать 2 типа атак в простейшие навыки
3) Полностью подключить боевую систему
Из визуального:
4) Не забыть смену курсора если он находится на враге
5) Сделать показ шансов попадания выбранным навыком

#2
0:51, 5 дек. 2018

Запилил фейковый класс "бонусов" куда потом будут уже каким-то образом складываться бонусы и штрафы от предметов и эффектов

+ Показать

Добавил механики для боевой системы:
-показ шансов попадания
-проверка "атака против брони"
-и, если проверка пройдена - нанесение урона

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

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

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

свежие билды (Всё еще хот-сит):

+ Показать

#3
(Правка: 18:39) 18:37, 5 дек. 2018
Adventurers_05.12.18_damagedealt | Adventurers (TTB)

Хорошее:
- Всплывающие сообщения сделал
- Баг воспроизвел

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

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

Так что я решил пока отложить навыки и сохранения, и переделать менеджеры активностей и действий. Ушел рисовать блок-схемы.

#4
22:39, 4 фев. 2019

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

adventurers_newastar_19.02.04 | Adventurers (TTB)

Сегодня появилась новая реализация A* - теперь с нормальным учётом стоимости спусков/подъемов и даже с замедлением на клетках пересечённой местности
(в цифрах указана стоимость прихода в текущую клетку из клетки со стоимостью "1")
#5
17:07, 5 фев. 2019

а также отлажен поиск пути, и, что самое приятное - поиск зоны атак, с учетом рельефа
adventurers_attackarea_19.02.05 | Adventurers (TTB)
(как и прежде мы якобы пытаемся стрелять из "1")

видно, что в ближайшую клетку нельзя попасть (бортик загораживает видимость) а вот в дальнюю - можно

#6
15:37, 22 фев. 2019

Итак, я почти полностью восстановил уже проделанную работу, но на этот раз разбил функции по объектам, с которыми они работают, а не громоздил всё в один перегруженный цикл
adventurers_newastar_19.02.22 | Adventurers (TTB)
Что работает сейчас:
  Поиск пути
  Рисование всевозможных областей, путей
(в том числе : Область перемещения, возможная область атаки с досягаемостью и учётом рельефа, выбранный путь)
  Хранение параметров персонажей классов в отдельных файлах-заготовках
  Хранение навыков в отдельных файлах-заготовках
  Передача хода

Что нужно доделать:
В первую очередь - хотя бы для полноценного теста:
  Перемещение
  Панельки с кнопками доступных навыков
  Нанесение/Получение урона
  Активация и применение навыков

Во вторую очередь - ИИ и режим "мини-кампании":
  Собственно, сам ИИ
  Переходы между картами
  Перенос персонажей с карты на карту

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

#7
(Правка: 17:09) 17:09, 22 фев. 2019
adventurers_newinfobarbonus_19.02.22 | Adventurers (TTB)

Маленький бонус в виде автоматической настройки высоты информационных панелек
(слева - было бы, справа - то, что есть сейчас)
#8
(Правка: 21 апр. 2019, 18:43) 16:10, 3 мар. 2019


adventurers_new_19.03.03 | Adventurers (TTB)
adventurers_new_fireball_19.03.03 | Adventurers (TTB)
Итак, я почти вышел в играбельную версию
С последнего сообщения я успел снова переделать класс существ, теперь он умеет дополнительно показывать шансы попадания по нему
Закончил работу с навыками (хотя, наверное, можно еще улучшить и строго типизировать, пока что каждый навык включает в себя редактирование функций), включает в себя и работу с уроном
Перемещения закончил
Кнопки уже почти полностью готовы, хорошо бы сделать выделения какой навык прямо сейчас выбран, всплывающих подсказок не хватает пока что

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

Новый билд от 03.03.2019 (Windows)

#9
(Правка: 21 апр. 2019, 18:43) 16:54, 3 мар. 2019


adventurers_new_map_19.03.03 | Adventurers (TTB)
Приобрел себе замечательную программку, Dungeon Painter Studio, которая не просто позволяет собирать себе карты, но и результаты свободны даже для коммерческого использования (правда, если тайлы либо официальные, либо если ты договоришься с владельцем чужих тайлов). Эксперементирую, вроде бы выглядит вполне себе неплохо. (А еще у них есть бесплатная версия на сайте, в ней, правда, функциональность поменьше, но в данный момент в сборке как раз карта собранная в онлайн версии)

#10
(Правка: 21 апр. 2019, 18:43) 18:22, 15 мар. 2019


adventurers_new_areas_19.02.22 | Adventurers (TTB)
(слева направо: стена, кольцо, конус)
В общем-то моя ближайшая цель - доделать ИИ. На бумаге всё было прекрасно, а вот на практике обнаружилось, что с навыками, переделывающимися вручную слишком много проблем.
Так что пришлось очень серьезно переделать систему навыков, унифицировать всё и переделать те навыки, которые были.

Теперь можно работать над функциями оценок ситуации для ИИ

#11
(Правка: 21 апр. 2019, 18:43) 17:17, 9 апр. 2019


adventurers_new_damage_19.04.09 | Adventurers (TTB)
Засел за ИИ
пока что научил монстров подсчитывать какой максимальный урон они могут получить в следующий ход на клетках. осталось эту функцию слегка перевернуть, чтобы считать урон который сам можешь нанести, и вуаля
(но конечно потенциально получаемые 22 урона с монстрами в 8 единичек хитпоинтов - это выглядит грустно, для монстриков )

#12
(Правка: 18:43) 18:42, 21 апр. 2019


adventurers_new_documentation_sample | Adventurers (TTB)
Осознал, что проект разросся до такого момента, что если я не могу сесть за него хотя бы недельку - уже не помню что делают какие функции, какие функции есть у каких компонент, что они требуют на вход и что возвращают. Так что представляю вам - то, как выглядит моя документация по проекту (да здравствует Гугл Докс). Наконец-то это не просто какие-то записки, раскиданные по всевозможным тетрадкам, а что-то в одном месте и даже более-менее структурированное.

#13
20:45, 21 апр. 2019

Увольте художника. Поступите с ним жестко - как Металлика с Мастейном. Вышвырните его вон.

#14
21:36, 21 апр. 2019

раб вакуумной лампы
Я, конечно, знаю, что мой старательный и тяжкий труд по рисованию человечков не дал таких потрясающих результатов, как я хотел, но для того чтобы делать игровые механики, думаю, пойдёт ))
Рано или поздно настоящий художник и правда понадобится )

Страницы: 1 2 Следующая »
ПроектыФорумОцените