Передав управление каждой куклой отдельной нейросети, а точнее, целому каскаду разных сетей, я проводил между ними битвы в виртуальном симуляторе Немо, поощряя каждую победу. Когда уровень скорости обучения достиг своего предела, а куклы стали драться не хуже меня самого, сравнил рейтинг побед и поражений. Как и ожидалось, на вершине "пищевой цепочки" оказалась моя Алита, слишком уж много внимания я ей уделял. Достойную конкуренцию ей мог составить лишь Богомол – просто за счет своих непомерно длинных ручищ. Кентаврик волочил свои многочисленные копыта в самом хвосте списка. Чересчур неповоротливый.
Вот тут и начались настоящие "танцы с бубном". Кому-то добавить полезных движений, кому-то сократить тайминги, или наоборот – растянуть движения. Затем заново провести обучение и оценку. И так по кругу. С горем пополам, добился некоторого баланса. И все равно, эффекта "камень, ножницы, бумага" избежать мне так и не удалось. Богомол хорош против Алиты, Алита – против Четырехрукого, тот неплохо бьет Железного человека, и так далее. Ну, для игр это даже хорошо. Я и так, можно сказать, заморочился сверх всякой меры. Одно успокаивает – весь этот опыт поможет мне потом с управлением моей будущей супер-марионеткой!
Движений пришлось записывать много, гораздо больше чем у первых версий. Но я быстро понял, что необязательно пытаться протаскивать куклу через цепочку четко выверенных поз. Вместо этого можно просто приложить некоторую силу к ключевым точкам - рукам, ногам, туловищу. Конечно, векторы силы пришлось долго и муторно высчитывать, но зато количество ключевых точек сократилось в сотни раз, и драгоценной золотой фольги ушло гораздо меньше, чем в первый раз. Тем не менее, мы потратили почти все золото, что дал нам Бранд и все его накопители.
Свое собственное золото и “батарейки” из первых марионеток я пока отложил – для более серьезного проекта. Памятуя о том, как кукол пытались украсть, я сделал и систему самоуничтожения, на случай, если кто-то попытается их насильно вскрыть. Она разрушит рунные дорожки на золотой фольге, а марионетка станет простой деревянной игрушкой. В общем, работой я остался доволен. По ходу дела, мы с Немо вносили некоторые корректировки и в наш главный проект. Например, “Богомол” натолкнул меня на мысль сделать дополнительные выдвижные сегменты, например для цепной пилы. Можно будет регулировать и длину ног, чтобы увеличивать скорость ходьбы-бега.
Вскоре, мы устроили торжественное открытие игровой комнаты клуба. Дети были в полном восторге! Каждая кукла установлена на свой собственный пьедестал (спасибо, папа!), над которым висит подробная инструкция правил, и полный мув-сет куклы. В первых марионетках не было счетчика жизни, и мы просто считали пропущенные удары. Но теперь куклы могут посылать друг другу световые сигналы об уроне, а благодаря защитным рунам мы точно знаем, прошел удар, или нет. Когда счетчик здоровья проседает до нуля, кукла эпично падает на колени, и “погибает”, переставая реагировать на команды. А выигравший совершает свое фирменное фаталити. В общем, у меня получился неплохой файтинг, пусть и не слишком разнообразный по геймплею. Ну, будет время и деньги, сделаем еще несколько кукол.
Труднее всего мне далось равновесие. Двуногие куклы постоянно падали, и приходилось много времени тратить на анимацию подъема. Эти моменты можно было услышать издалека – по разочарованным возгласам болельщиков. Поначалу мы с Немо просто хитрили – поддерживая их магией, за шиворот, будто малых детей. Но это все полумеры. Пытаться встроить в крошечных кукол настоящие гироскопы – дурная затея, так что я обратился за помощью к Бранду. Старик перелопатил солидную часть своей библиотеки, и нашел-таки связку рун, которые реагировали на смену направления в пространстве. Так куклы получили свой “вестибулярный аппарат” и стали падать намного реже. Ну а я воспользовался возможностью заглянуть в недоступные мне прежде книги, пусть даже через плечо мастера. Двойная выгода!
Теперь после школьных занятий в клубе всегда полно детишек. Кто-то болеет, кто-то играет. В комнате стоят два огромных стола-ринга, на которых проходят битвы в два потока. Правда, играть могут только те дети, у которых есть платный абонемент. Конечно, местным ребятам никто не дает денег на “карманные расходы”, но родители вполне способны раз в месяц заплатить небольшой взнос за членство в клубе. Нормальная практика для любого кружка, в общем-то. При входе бросаешь свой номерок в общую "корзину". Последний победитель тянет жребий и определяет себе нового соперника. Но играть больше трех раундов подряд нельзя. Получилось довольно весело и азартно. У нас появились свои звезды-игроки и турниры. Приходили не только дети, но и взрослые, кто поглазеть, кто за детей своих поболеть, а кто вовсе – делать ставки. Иногда свободного места нет даже за окнами.
Читать дальше