понедельник, 1 февраля 2016 г.

Итоги января

Всем привет, Охотник на связи.
Январь прошёл, пора подвести итоги.

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

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

Так же в каменты призываются мастера построения алгоритмов. Мы тут ломаем зубы об одну задачку. Дано: схема восстановления внутренних ресурсов. Внутренние ресурсы, это такие пойнты, привязанные к базовым характеристикам - выносливость, собранность, сила воли и т.п. Каждый из них может быть в диапазоне от 0 до уровня привязанной характеристики (условно до 5 максимум, у среднего персонажа до 3). Эти ресурсы можно тратить на выполнение различных задач, а восстанавливаются они раз в ход, но не простым а заковыристым способом. А именно. Каждое событие, активированное вручную, случайно или просто установленное в расписании, может нести маркер рененерации с думя характеристиками: 1) какие ресурсы этим маркером можно восстановить (например ["выносливость","сила_воли"]) и 2) какова сила восстановления (целое положительное число).
На каждую единицу внутреннего ресурса который мы хотим восстановить, необходимо потратить один маркер рененерации. При этом его сила, должна быть не меньше чем количество уже восстановленных на этом ходу внутренних ресурсов любого типа.
Например: мы поспали в удобной кроватке ("выносливость", 3), отказались делать неприятную работу ("сила воли", 2), отдохнули на солнышке ("выносливость", 2)  и съели чуть-чуть еды ("выносливость", 1).
При этом, например у нас не хватает одной единицы силы воли, и двух единиц выносливости.
Если распределять восстановление вручную то понятно что мы тратим восстановления выносливости 1го и 3го уровня и восстановление силы воли 2го уровня. В любом другом случае мы не сможем восстановить всё. Но хочется не грузить игрока этим менеджентом и отдать всё считать компьютеру. Но как сделать так чтобы он тратил восстановления в такой схеме оптимальным образом не очень понятно. У нас пока есть две модели: одна сложная и лишенная всякой элегантности, а вторая требовательная к вычислительным ресурсам (особенно когда мы вспомним что в игре могут быть десятки и сотни персонажей для которых это всё надо на каждом ходу считать).
Если у кого-то есть простой и красивый алгоритм решающий задачу, это бы нам помогло.