Добро пожаловать в наш еженедельный блог. На этой неделе мы сосредоточились на структурировании игры, создав диаграмму классов. При этом мы создали план самого проекта Godot. Дополнительно мы приступили к реализации базовых структур классов в проекте.

UML-диаграмма класса

При моделировании классов мы работали с некоторыми ограничениями, «навязанными» нам Годо. Поскольку Godot — это игровой движок со своим собственным языком программирования (Godot Script), мы старались уже следовать тому, как классы будут реализованы в Godot, когда обдумывали и создавали их. Именно поэтому мы (кроме одного исключения) толком не использовали интерфейсы. Однако существует множество классов с суперклассами, от которых они наследуются. В качестве примера можно назвать класс Node. Этот класс необходим для нашего проекта Godot и, следовательно, является основой для многих других классов, которые наследуются либо непосредственно от класса, либо от одного из его дочерних элементов. Другой пример — класс Attack Character. Атакующий персонаж — это персонаж, персонаж — это кинематическое тело, кинематическое тело — это пространственный узел и, что не менее важно, пространственный узел — это узел.

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

Помимо создания диаграммы классов, члены команды без предварительного знания Godot продолжили процесс ознакомления с движком и скриптом Godot.