Я работаю над созданием игры (обычно строим дом X для производства ресурса A, который затем позволяет вам строить дом Y ...), и сейчас я нахожусь в стадии балансировки различных потребностей в ресурсах и производства.
Поскольку я далеко не первый человек, делающий это, но не могу найти много практических советов о том, как на самом деле это сделать, я спрашиваю вокруг: как сделать балансировку по математике?
Я думал об использовании электронной таблицы, но главная проблема не в чистых числах, а в зависимостях - если A, то B. Сколько X требуется для того, чтобы Y стал доступным, и соответствует ли это стадии игры, которую я хочу произойдет?
Какие существуют лучшие способы, чем просто играть часами и настраивать числа? Какие подходы вы используете, чтобы сбалансировать ваши экономические игры?
Дополнительные детали:
Игра представляет собой статическую игру build-your-village. «статический» означает, что время не является фактором - здания предоставляют фиксированное количество ресурсов, а не «х в минуту». Таким образом, дом предоставляет жилье некоторым крестьянам, а ферме нужны некоторые крестьяне, чтобы обеспечить его работой, обеспечивая продовольствием.
Таким образом, вещи, которые нужно балансировать друг с другом, являются ресурсами. Один тривиальный пример: фермы должны обеспечить больше продовольствия, чем крестьяне, работающие на ферме, плюс лесорубы, необходимые для обеспечения дровами для строительства фермы.
Цель игры - оптимизация ресурсов. Максимально используя ресурсы, доступные на карте. Это ближе к головоломке, чем к кликерной игре.
Тривиальные элементы ранней игры (см. Пример фермы) легко сбалансировать. Но как только вы попадаете в деревья зависимостей (например, для дома 3-го уровня нужны A и B, которые предоставляются X и Y, которым нужны ресурсы, созданные в X2 и Y2 и т. Д.), Моя интуиция не срабатывает. Правильно ли сбалансированы X2 и Y2 или они должны давать меньше? Больше?
Я не ищу конкретные ответы, но для методов, чтобы подойти к этой проблеме в целом.
Ответы:
РЕДАКТИРОВАТЬ: так как вы добавили к своему вопросу, что ресурсы являются статическими, я расскажу немного об этом конкретно. Я оставлю предыдущий ответ ниже строки, так как это может быть полезно для других людей.
Если ваши ресурсы статичны, на них будет какой-то ограничивающий фактор. Это могут быть ваши стартовые ресурсы или количество рабочих, которые определяют, сколько генераторов вы можете поддерживать. Они должны быть распределены таким образом, чтобы их умножать и инвестировать в другие ресурсы достаточно эффективно, чтобы достичь своей цели. В такой игре нет «роста» как такового, просто разные конфигурации и комбинации. Как вы сказали, это больше напоминает головоломку, чем игру управления.
Метод балансировки похож, хотя. Сначала вы определяете условие победы (то, что я раньше называл производственной целью). Это может быть определенное количество ресурсов и / или зданий (например, иметь Х свободных рабочих и Х мечей, чтобы вооружить их, чтобы свергнуть короля). Затем вычислите идеальную конфигурацию для достижения этой цели с вашими текущими числами (например, X мечам нужны Y кузницы, которые требуют Z рабочих, Q древесного угля и V железа, что означает, что вам нужны W шахты и R угольные горелки, которые снова требуют ресурсов и рабочих и так далее до самых основных ресурсов). Вы можете частично автоматизировать это, используя скрипт или электронную таблицу, которая автоматически добавляет минимальное количество вспомогательных генераторов для всего, что вы добавляете вручную. Остерегайтесь петель (рабочие приходят из домов, дома нужны продукты, еда - от рабочих), поскольку они немного усложняют математику.
Затем, и этот шаг немного сложнее, посмотрите, можно ли на самом деле достичь этой конфигурации в прямом режиме, т.е. вы можете получить ее из своих начальных ресурсов. Возможно иметь теоретическую конечную конфигурацию, которая не может быть достигнута на практике, потому что в какой-то момент несколько вещей требуют друг друга, и вы не можете сначала построить одну из них, не имея другой. Вы можете узнать об этом только через тестовые прохождения. Другими словами, поскольку порядок, в котором вы покупаете вещи, является релевантным, вы не можете точно определить решение по результату. Тем не менее, поскольку вы, вероятно, поймете свои собственные методы управления ресурсами, вы сможете использовать оптимальные стратегии (например, строить дома 1-го уровня, использовать этих рабочих, чтобы разблокировать дома 2-го уровня, которые являются более эффективными, затем замените все дома уровня 1 (или оставьте столько ресурсов, сколько у вас осталось ресурсов, которые вы больше нигде не сможете использовать)). Где необходимо, добавьте или удалите здания. Теперь у вас есть новое описание решения, которое, как вы знаете, работает.
Как только вы нашли оптимальное или почти оптимальное решение, вы можете начать думать о настройке чисел. Изучите свои электронные таблицы и найдите следующие вещи:
Затем подумайте, насколько строго вы хотите, чтобы ваши игроки следовали вашему решению. Вероятно, целесообразно включить немного гибкости, что означает, что ваши стартовые ресурсы (ограничивающие факторы) должны быть немного более щедрыми, чем они должны быть для идеального решения. Также подумайте, какой должна быть задача вашей игры. Если речь идет о поиске правильных комбинаций, это может быть слишком просто, поскольку им, возможно, придется только проложить свой путь вверх по дереву технологий и немного сбалансировать числа. Если речь идет о небольших хитростях (например, замена зданий более низкого уровня более эффективными зданиями более высокого уровня), то это может быть совершенно неочевидным, а с другой стороны, тривиально, как только вы узнали, что можете это сделать - вам понадобится несколько таких приемов. открывать.
Мой общий подход состоит в том, чтобы попытаться найти единую единицу для баланса, так как это значительно упрощает математику. В вашем случае это может быть потрачено время.
Ваши переменные будут что-то вроде количества каждого ресурса, количества генераторов ресурсов, выигрыша ресурса за время на генератор, использования ресурса за время на генератор (эти две величины могут быть объединены с использованием отрицательных чисел), стоимости ресурса на генератор и затраченного времени. Если ваша игра включает в себя что-то вроде эффективности генератора (например, фермы производят больше / меньше в зависимости от орошения / пространства), примите среднее значение, а там, где это имеет смысл, также примите среднее значение генераторов. Последнее может быть достигнуто путем расчета минимального количества генераторов, чтобы генерировать стабильный выход ресурса наивысшего порядка (например, если вы рассчитываете мечи, для которых требуется железо, для которого требуется руда, и уголь, для которого требуются пиломатериалы, вы можете рассчитать минимальное количество мин,
Остановитесь ли вы на минимуме, зависит от степени амортизации генераторов, но я бы не стал спускаться по этой кроличьей норе. Возможно, сделайте второй расчет впоследствии с вдвое большим количеством и посмотрите, как масштабируется время. Если в вашей игре есть что-то вроде исследовательских разблокировок, вы можете рассчитать их единовременную стоимость, но только в том случае, если стоимость достаточно высока, чтобы ощутимо изменить время игры. Не пытайтесь учитывать улучшения, которые повышают темпы производства на данный момент - если они есть в вашей игре, просто учитывайте их как более высокий средний уровень производства. Только обновления, которые имеют огромное значение, должны иметь место в ваших уравнениях. Вы хотите сбалансировать игру, а не писать диссертацию по математике. Замените все переменные константами, где вы можете.
Теперь установите производственную цель, которая представляет успех игрока, и решите уравнения, сколько времени потребуется, чтобы добраться туда. Если на самом деле у вас еще нет номеров для всех этих вещей, перепроектируйте время, пробираясь вверх. Как долго игрок должен работать, чтобы получить стабильные производственные линии уровня 1, как долго для уровня 2 - вплоть до полного технологического дерева. Продвигаясь вверх, у вас уже есть числа для предпосылок более высоких уровней.
После этого вы можете попробовать экспериментировать с внешними факторами, такими как пространство и местность. Обычно это зависит от миссии, поэтому они являются такой же частью дизайна уровней, как и проектирование систем.
Теперь, сколько времени игрок должен достичь чего-то для того, чтобы игра была привлекательной, это то, что вам нужно для тестирования игры, и это сильно зависит от того, сколько игрок должен сделать во время игры и насколько интересны принимаемые им решения. буду чувствовать. Вот где вы могли бы подумать об изменении своих чисел, например, за счет сокращения производства некоторых генераторов, чтобы увеличить количество действий игроков за раз (потому что им нужно строить больше сейчас), или за счет того, что числа выстраиваются в линию несовершенно, поэтому не так ясно, сколько здания идеальны.
Вы никогда не будете часто проходить игровые тесты с разными людьми, но первые электронные таблицы помогут вам понять, что может иметь смысл.
источник