О пользе заимствования
Нет, речь пойдет не о заимствовании из других хаков — хотя, если говорить об этом, то я сам активно ворую все, что не прибито гвоздями — а о заимствовании идей дизайна из других дисциплин.
В программировании, точнее — в объектно-ориентированном дизайне — есть принцип, который формулируется как low coupling — high cohesion. Я не стану блуждать в дебрях перевода и оттенков смысла, а просто опишу — что имеется в виду. Причем — сразу применительно к играм.
Когда мы разрабатываем игру, ее стоит разделить на отдельные модули, достаточно небольшие, чтобы их можно было целиком «загрузить в голову» и помнить все, не заглядывая в книгу правил, или хотя бы сведя такие заглядывания к минимуму.
При этом каждый отдельный модуль должен решать одну или несколько смежных задач, тесно увязанных друг с другом и использующих один и тот же набор механик.
При этом каждый из таких модулей должен взаимодействовать с другими модулями минимальным количеством способов — максимально простых и общих.
В итоге мы получаем систему правил, которые представляют собой не огромный клубок всего и сразу, со связями по принципу «каждый с каждым» (а число таких связей растет чудовищно быстро), а набор небольших обозримых групп из 3-5 правил, плотно взаимодействующих между собой — и очень слабо — с остальными такими группами.
Зачем все это нужно? А затем, чтобы когда вам придется что-то срочно менять, потому что плейтест показал, что вот это вот правило не годится — вам не придется отслеживать, как это изменение отразится на всех остальных правилах. Вместо этого нужно будет оценить влияние на «ближайших соседей» (а их в группе немного), и то, как это отразится на «внешних связях» (их также относительно немного).
Конечно, здесь есть важный момент, связанный с тем, как именно разделить правила на отдельные группы, и я пока не готов давать на этот счет советы, выходящие за рамки банальностей. Но, как мне кажется, любой, кто осмысленно подходит к подобной работе, способен интуитивно разделить ролевую систему на подсистемы: тут здоровье, урон и выздоровление, тут бой, нанесение и получение урона, тут получение опыта и рост способностей персонажа и т.п.
Подходите к дизайну осмысленно, и тогда вам не придется снова и снова вносить «исправления, которые тянут за собой другие исправления».
