Почему стартовая планета больше не всегда серая
Долгое время каждая новая игра начиналась одинаково: на скалистой серой планете. Это было сознательное решение в пользу новичков — камень легко читается, ничто не отвлекает. Но за это пришлось платить: первое впечатление от игры составляла, как назло, самая однообразная планета. Скриншоты от новичков? Серые. Первый час игры? Серый.
Поэтому мы перестроили начало. Теперь стартовая планета выбирается из набора разнообразных типов миров — с одним важным ограничителем: она должна оставаться честной. Стартовому миру нужны ресурсы, которых требует начало игры (поэтому в стартовую смесь руд добавили углерод), а у генерации мира есть запасной вариант, гарантирующий, что в системе найдётся мир с пригодным для дыхания воздухом. Разнообразие — да, но никто не должен начинать в мире, где первые шаги невозможны.
Лучшей частью этой перестройки, однако, оказалась побочная находка. Тестируя миры с пригодным для дыхания воздухом, мы наткнулись на скрытый баг, который дремал в игре целую вечность: в мирах с пригодной для дыхания атмосферой здоровье восстанавливается — и в крайнем случае при 0 очков здоровья именно это восстановление могло блокировать возрождение. На старых скалистых планетах (без атмосферы, без восстановления) этот баг не мог проявиться никогда. Только новое разнообразие вывело его на свет.
С тех пор этот урок подтверждался снова и снова: если увеличить разнообразие входных данных, вы проверяете пути кода, о которых не знали, что они не проверены. Серая планета была не просто скучной — она ещё и прятала баги.
Комментарии