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

LBOTS - Legendary Battles Of The Sovereigns - ККИ (6 стр)

Страницы: 15 6 7 811 Следующая »
#75
(Правка: 4 мая 2022, 0:26) 23:21, 3 мая 2022

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

В чём была боль:

1. Сначала я просто задавал направление движения карте и задавал вращение, из за чего карта в процессе полёта расслаивалась, т.е. юнити некорректно отображает положение чайлдов движимого объекта. Прикол в том, что карты это такой пирог из десятков чайлдов, где тексты, рамки всякие, значки, это нужно для того, чтобы создавать карты из одного шаблона, и легко их редактировать, да плюс подключать к карте тексты на разных языках. В итоге летит эта карта таким разделённым на слои пирогом, всё чёрт пойми где, тексты сзади, фоны спереди, картинка сбоку, и т.д. Короче жопа полная, юнити очень плохо работает с координатами и кватернионами чайлдов прицепленных к беспорядочно летящему объекту. Естественно когда всё долетало до нужной точки и останавливалось, магическим образом все чайлды оказывались где надо.

2. Ладно думаю, раз здесь такая жопа, буду юзать физику. Повесил на главный объект карты ригидбоди, задаю физикой движение и вращение, врубаю гравитацию. Всё расхерачивает похлеще первого варианта.

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

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

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#76
20:38, 4 мая 2022

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#77
22:24, 4 мая 2022

Прикольно!

#78
3:10, 15 мая 2022

Обновление.

1. Добавлена кнопка отмены, теперь всякие карты волшебства или приказов требующие прицеливания можно возвращать в свою руку вместо использования.
2. Добавлены кладбища. Карты больше не удаляются при использовании или уничтожении, они отправляются на одно из трёх кладбищ: 1. кладбище колоды, 2. кладбище гарнизона, 3. кладбище героев.
3. Добавлена механика возвращения карт в руку. Так-как карты трёхмерные, пришлось разработать трёхмерный элемент интерфейса в виде полупрозрачной плитки, на которую может прилепляться любое количество карт из любого кладбища по пять карт в ряду. На плитку влезает вся колода "70 карт". Именно на этой плитке игроком осуществляется выбор карты соответствующий условиям. Плитку можно двигать прямо и назад при помощи зажатой ПКМ, либо прокруткой колёсика мышки.
4. Добавлена карта "Возвращение Души". По условию карта позволяет игроку посмотреть 10 верхних карт со своего кладбища колоды, выбрать из него любую карту "существа", положить это существо в руку, а кладбище колоды перемешать. (На самом деле эта карта ещё должна давать возможность использовать эту карту существа без учёта лимита использования карт в ходу, но самого лимита тупо ещё нет). Если в кладбище колоды нет карт, то эта карта автоматически возвращается в руку игрока.

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

—-———-————

Что в планах на будущее:

1. Добавить интерфейс отображающий: здоровье баз и властителей игрока и оппонента, их лимиты по использованию карт в ходу, их уровень влияния, а так же номер раунда.
2. Наконец добавить героев.
3. Доработать фазы, введя понятия "фаза героев", фаза "действия", фаза "противодействия".
4. Только после выполнения первых трёх пунктов, можно начать писать ИИ, и ввиду уникальности карт писать в скрипте каждой карты её автоматическое использование для ИИ оппонента.

#79
22:21, 21 мая 2022

На этой неделе у меня мало свободного времени, однако я его нашёл, и проект обновлён.
В игру добавлен HUD, благодаря которому теперь понятно что происходит.
Добавление худа помогло обнаружить кучу багов в фазе сражения, и исправить их.

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

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#80
(Правка: 30 мая 2022, 23:55) 2:37, 28 мая 2022

В этом обновлении:

1. Созданы лимиты карт (Количество используемых карт действий и противодействий в раунде).
Теперь лимиты отличаются от первоначального плана, но всё так же зависят от уровня влияния властителя (кулак):

"Уровни Влияния" влияющие на количество используемых карт в раунде:
1: 1 карта действия, 0 карт противодействия.
2: 1 карта действия, 1 карта противодействия.
3: 2 карты действия, 1 карта противодействия.
6: 2 карты действия, 2 карты противодействия.
9: 3 карты действия, 2 карты противодействия.
12: 3 карты действия, 3 карты противодействия.
15: Безлимит.

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

-—————————-————————-——————-

2. Добавлен блок UI снизу, где отображаются лимиты сторон соответствующие тому, чей ход. Левая половина игрок, правая оппонент. Один меч означает лимиты карт действия, парирующие мечи означают лимиты карт противодействия.

-—————————-————————-——————-

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

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

-—————————-————————-——————-

4. Добавлен первый герой "Придворный Маг Самир", а вместе с ним и две новые механики.
Самир может атаковать базу и властителя минуя вражеское "сооружение" на поле боя расположенное напротив себя, а так же магия этого героя не позволяет гарнизону оппонента атаковать его.

-—————————-————————-——————-

Следующие цели на ближайшее обновление:

1. Убрать тестовые кнопки справа, и заменить их на фазовые кнопки, а так же разместить индикатор фазы.
2. Создать фазу "Событие" в начале хода.

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#81
12:14, 28 мая 2022

TERMOGAD
> можно начать писать ИИ

Увидимся через 5 лет.

#82
13:59, 28 мая 2022

Саныч

А вот и нифига. В другом проекте с пошаговыми боями ИИ я написал довольно быстро, на первый прототип неделька ушла, потом доделки периодические по мере необходимости. Там ИИ может перемещаться по мною разработанной уникальной упрощённой системе поиска пути, выбирая цели к которым перемещаться, по непредсказуемой траектории, а после ИИ сражается используя различные умения юнита. В данном случае путь искать не надо, следовательно уже проще, а умения карт в ЛБОТС работают отдалённо похожим способом. В общем этим летом уже можно будет повоевать с ИИ.

#83
(Правка: 10:43) 10:41, 20 июня 2022

По мере появления свободного времени процесс идёт:

1. Создана система фаз, работу которой визуально сейчас не видно, но она переключает всё что надо, когда надо.
2. У оппонента появилась рука, оппонент набирает в неё карты.
3. Куча доделок недоделанного, куча правок кривого, и тотальный багхантинг (но парочка ещё есть).

В ближайшее время создание системы этакой синхронизации и контроля над ходом (назвал её "Раунд Директор"), а то в данный момент могут произойти некоторые вещи, которым происходить ещё рано. После наделю оппонента героями и научу выкладывать существ. Следом нужно будет в директоре создать систему переключения режима с действий ходящего игрока на противодействия его оппонента. и обучить оппонента использовать карточки противодействий. Вот такой план на ближайшее время, но конечно же много чего ещё сделать надо, и артефакты располагаемые на базе и магические печати и их отработку в фазах, и по интерфейсу работы, и много чего ещё.
Однако у меня скоро отпуск 44 дня, и возможно месяцок я буду довольно далеко от своего компа (в тысячах км), по этому процесс встанет на отпуск.

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#84
18:36, 26 июля 2022

Итак товарищи, я вернулся из месячного дальнего отпуска. Много где был, прокатился на машине почти 5000км. Мне очень понравилась Казань, аж остаться там хотелось, но недвижимость там стоит неподъёмных денег )

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

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#85
11:47, 27 июля 2022

Написал я всё-таки этот давно запланированный "Раунд Директор", он теперь пристально следит за тем, кому что и когда делать, и контролирует процесс. При этом старая система фаз осталась, РД это надстройка на неё.

Теперь РД выводит инфотекст, помогающий понять, что происходит, и что делать.

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

Теперь ИИ может экипировать существ оружием, бронёй, и специальными предметами.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#86
10:30, 29 июля 2022
Изображение удалено

К несчастью обосСаныча написание ИИ у меня заняло 5 дней.

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

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

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

Отдельное спасибо Increaser'у за урок по Reflection в C#, помог сократить объём кода.

Демонстрация сражения игрока с ИИ последней версии:

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#87
(Правка: 10:35) 10:35, 29 июля 2022

TERMOGAD
> К несчастью обосСаныча написание ИИ у меня заняло 5 дней.
АХАХАХАХА

#88
10:42, 29 июля 2022

Очень надеюсь на это чудо на андроид 🥺🙏

#89
10:53, 29 июля 2022

Ergo Proxy

Очень надеюсь на это чудо на андроид 🥺🙏

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

Страницы: 15 6 7 811 Следующая »
ПроектыФорумОцените