Неделя 1 (сентябрь 2): Документация, установка персонажей в постройку.

Оглавление

В какой-то момент я понял что даже мелочь держать в голове не могу и начал искать себе какие-нибудь бесплатные аналоги тасктрекера и вики: Jira и Confleunce. В качестве первого у меня выбрался craft.io — не самый мощный, зато вполне достаточный тасктрекер (сейчас в моде Trello но чем-то он мне не понравился). А в качестве второго пришлось использовать гуглодоки.

При этом такстрекере документируется работа механизма, хотя документируется плохо потому, что не очень понятно как следить за выполнением задач одного единственного разработчика. Как делить фичи на отдельные элементы? Если все равно в целом фича заканчивается целиком, а не элементами.

Главное, что craft.io позволяет создавать спринты. Даже в условиях одного единственного разработчика, спринты позволяют не растекаться по древу и не забывать о сроках. Даже если их нет. Мы же не бессмерты. Конечно, ни о какой оценке сроков выполнения задач речи не идет, но я очень стараюсь делать по законченной фиче в неделю.

В доках же я веду философские беседы сам с собой. Так у меня все-таки появилось какое-то подобие концепции моих ожиданий от механизмов построек, персонажей, рецептов. Потом уже описание алгоритма работы рецептов в документе заметно поможет мне справиться с этой сложной задачей. Хотя по идее написать это можно было и в тасктрекере. Просто задачи иногда бывают настолько сложные что их надо пару раз проговорить, и с третьей попытки получится записать.

Собственно из-за появления тасктеркера оформления первого недельного спринта эта неделя стала первой.

***

В Hastle Castle, как и в Шелтере, есть механизм назначения персонажей на работу с помощью драг-н-дропа персонажа в комнату. Суть такова: у постройки есть слоты (количество их задается в конфиге). При отпускании персонажа поверх постройки он должен устанавливаться в свободный слот, а если свободного слота нет, то в случайный. А для этого нужно отработать механизм триггеров.

В общем как-то сам собой получился механизм который не дает устанавливать постройку поверх другой постройки или персонажа (персонаж маленький и мог просто пропасть из виду под постройкой — я подумал что мне самому будет очень неудобно искать пропавших персонажей).

Чтобы устанавливать персонажей в постройки, пришлось придумать еще один механизм: покупку персонажей. В отличии от магазинов построек и ресурсов, магазин персонажей не имеет конфига. Добавлять же новые интерфейсы или вкладки в интерфейсх оказалось очень просто. Намного проще чем сделать сам интерфейс.

Если слоты постройки целиком заполнены, то перетаскиваемый персонаж как бы выгоняет одного из установленных персонажей. Все это запрятано даже не в логику персонажей, а в самого персонажа, который после изменения своего статуса отправляет в систему отображения команду изменить свое отображение. Звучит наверняка банально, но сделать это было очень круто.

Вторую половину октября я провел в Португалии, например.

Оглавление