Математическое руководство по созданию компьютерных игр. Справочник - страница 12




Рисунок 5а. Элементарные ячейки для плоского случая.


Рисунок 5б. Элементарные ячейки для объёмного случая.


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

Хорошего решения можно достигнуть, если учитывать не просто всех игроков подряд, а только тех, кто ведёт бой с противником. Таким образом разделение и вычисление происходят автоматически по мере вступления в бой с каждым противником новых игроков. Чтобы окончательно выровнять баланс, надо вести учёт получаемого опыта для каждого отрезка боя между вступлением в него новых участников, иначе начинающие бой будут в проигрыше.

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

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

Перезагрузки и переигрывания или прохождение перезагрузками

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

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

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