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

Ссылка на первую статью 2-го сезона полного провала разработки.

Что сделано

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

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

Параметры игрока завышены для ускорения демонстрации

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

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

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

Что дальше

Проделанной работой в целом довольна. Смущают только слишком часто выпадающие дубли на кубиках и регулярно всплывающие сильнейшие карты в начале игрового кона.

подозрительно!
подозрительно!

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

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

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

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

План задач на следующий этап

Нужно начать внедрять других игроков и потестить алгоритмы рандома. Сосредоточусь пока на этом.

Да сколько еще кодить?
Да сколько еще кодить?

Распишем задачи:

  • Создать отдельный проект для фиксации результатов алгоритмов рандома со временем, попробовать его визуализировать графиком.
  • Добавить в основной проект дополнительных игроков до 4 туш.
  • Добавить в основной код указатель текущего игрока и подредактировать все имеющиеся алгоритмы для учета этого параметра.
  • Добавить объекты-поля помех для влияния других игроков на операции активного.
  • Внедрить алгоритмы учета карт, влияющих на игру.

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

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

99
22
5 комментариев

а что за игра то ?

2
Ответить

Японский Assasins Freed

4
Ответить

Пока все страдают хуйней на пдф, Оксана разрабатывает свой шедевр :3

1
Ответить

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

НА компе случайностей нет
Ведь если пк не будет четко работать - то он не будет работать вообще.
Да единственная случайная величина которая есть у разработчиков - это буквально : время запуска программы и случайное время прямо сейчас.

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

1
Ответить

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

Ответить