О выпиливании ненужного

Одной из мотиваций к попытке создания собственной текстовой многопользовательской игры (MiniMud) было знакомство со старинным MUD1 и его форматом описания мира. Естественно было, что команды, которыми "волшебник" изначально создаёт игровые комнаты и объекты, были воплощены по мотивам этой реализации.

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

Например

!addobj frog:лягушка Здесь сидит Царевна-Лягушка в золотой короне $noget !putobj frog pond

Однако вместе с прочими "свойствами" объекта для первой из команд появилось и свойство "стартовое положение" - которое позволяло альтернативно объявить куда этот объект разместить при инициализации.

Вчера, добавляя принцип "зонирования" локаций, я проверил и понял что "старый" способ задания положения (через PutObject) использую всего в 4 местах в тестовых мирах - очевидно, исторически - а в прототипе "школьной" игры к нему уже не прибегаю вовсе.

Ну и выпилил без сожаления. В процессе разработки нередко накапливается дублирующий или забытый функционал - однозначно лучше своевременно от него избавляться чем тратить усилия на поддержку и тестирование при эволюции кода. Если вдруг зачем-то понадобится - лучше аккуратно добавить снова :)

P.S. А по ходу тестирования моё внимание обратили на то что для игроков женского пола нужно показывать не Лягушку-Царевну, а Лягуха-Царевича - тем более что в иностранном фольклоре он точно мушшына. Забавно - но решил это тем что пользователь, в зависимости от пола, может попадать в разные клетки болота. #gamedev #petproject #mud

О выпиливании ненужного | Сетка — социальная сеть от hh.ru