City Of Gangsters — экономическая стратегия о создании своего преступного картеля. Один из разработчиков игры Роберт Зубек поделился в Твиттере необычным багом, который сводил с ума игровых персонажей.
На одном из плейтестов City Of Gangsters в банде игрока появился необычный персонаж — допустим, персонажа звали Анна. Она имела несуществующую в игре черту «безмолвная», из-за которой любая попытка Анны поговорить с кем-то создавала ошибки.
Когда разработчики начали исправлять проблему, обнаружили что «безмолвным» также оказался знакомый Анны — назовём его Боб. Он был местным гангстером из другой группировки.
Ни Анна ни Боб не могли общаться — игра выдавала ошибки, когда они пытались заговорить.
Разработчики докопались до источника проблемы и нашли, что в воспоминаниях обоих персонажей есть встреча с «нулевым» персонажем — буквально несуществующим. Перезагрузка этого воспоминания приводила к проблемам с игрой, потому что движок не мог перезагрузить то, чего не существует.
Ранние сохранения помогли найти источник распространения бага — им оказалась босс Боба — Кэрол. Именно она впервые встретила «нулевого» персонажа и знакомила его со всеми своими контактами, распространяя баг дальше. Пришлось исправлять Кэрол.
Во время дэбага Кэрол выяснилось, что нулевым персонажем оказался мистический персонаж, «Системный игрок #0», — буквально «создатель» мира игры.
Архитектура City Of Gangsters предполагает, что каждый город игры населён тысячей персонажей, из которых только сотня как-то задействована: это ИИ или сам игрок.
«Персонаж #1» — игрок, следующие десять — боссы банд, затем несколько сотен хулиганов, копы, агенты ФБР и другие под управлением ИИ
«Персонаж #0» — бестелесный персонаж, отвечающий за работу системы. Когда ИИ и игрок завершают ход, он меняет сезоны и время суток, заставляет персонажей рождаться, стареть и умирать, управляет экономикой мира и обновляет его
Кэрол должна была встречать только других ИИ, но из-за бага процесса генерации других персонажей ещё не было в мире, поэтому Кэрол встретила «создателя». Когда она представила несуществующего персонажа другогому существующему, игра сгенерировала тег ошибки, который передавался дальше. Чем больше персонажей узнавало о «создателе», тем больше «безмолвных» становилось.
Не знаю, есть ли смысл в этой истории. Мы никогда не хотели, чтобы кто-то из наших персонажей встретился с «создателем» и потерял способность говорить. Потребовалось время, чтобы понять причину проблемы. Странные вещи случаются, когда вы создаёте миры.
Разработчик, основатель студии SomaSim
Источник цитаты: Тред в Твиттере