Страница 1 из 1

Энергия, тестирование, СН и офф

Добавлено: 16 мар 2011, 09:47
Gorlum
Я много ругаю офф. Особенно часто - боевую систему и систему нуб-защиты. Я везде дистанцируюсь от оффа и пишу, что сервер - не офф-лайк. Я меняю многие аспекты игры на не оффлайк. У игроков могло сложиться ощущение, что мне не нравится офф как таковой и я хочу полностью поменять всю игру. Однако это ощущение - совершенно неправильное.

В целом офф сервер мне нравится. Иначе я бы вообще не взялся допиливать клон оффа, а занялся какой-нибудь другой игрой. Да, меня не устраивают отдельные аспекты механики оффа, но это совершенно не значит, что меня не устраивает в оффе абсолютно все. Не офф-лайк - не цель, а средство. Средство сделать игру интересной - в том смысле, в котором я понимаю этот термин. Поэтому если в оффе мне что-то нравится, то я буду воспроизводить этот аспект в своем движке. Чем хорош офф - это балансом. В конце-концов нельзя сбрасывать со счетов многолетний опыт разработчиков сервера с тысячами игроков. Например - шпионаж. На мой взгляд в оффе он отлично сбалансирован. Поэтому я воспроизвел его в своей игре. Только внес небольшие изменения, связанные с существованием в СН офицера "Шпион".

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

На сервере сложилась парадоксальная ситуация - энергии было СЛИШКОМ много. На это неоднократно обращали внимания игроки, на это неоднократно обращал внимание я. Ситуация была далекой от нормальной (в моем понимании), поэтому исправление выработки энергии - это был вопрос времени. Вчера у меня дошли руки до балансировки энергии.

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

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

Собственно, это произошло и с выработкой энергии. Выбранные формулы отлично работали для среднего игрока. Но! Уже для топа они давали сумасшедшее количество энергии, а начинающие игроки испытывали её сильный недостаток. Явный дисбаланс.

Я полез в код смотреть - в чем же дело? И попутно выяснил, что в оригинальном движке RR тупо и неправильно считается выработка ТЭ! И что энергетическая технология дает целых 10% бонуса к производству энергии! Не то, что бы я этого не знал, просто раньше это не имело особого значения, поскольку не давало такой драматический эффект.

Дальше - очевидно. Выбор методов устранения проблемы, опрос пользователей на случай, если кто-то подскажет другое решение, устранение проблемы, выкладывание апдейта. Апдейт получился не офф-лайк, однако в нем по максимуму я стараюсь следовать формулам оффа. Например, формула выработки ТЭ взята 1 в 1 с оффа. А при разработке формулы выработки солнечной станции я опирался на формулу оффа и базовые соображения оффа о производительности СЭ (именно с оффа взята мысль, что солнечная электростанция может поддерживать шахту и синтезатор кристаллов своего уровня).