Рефакторинг кода мультиплеерной игры-шутки (GDScript)

Описание проекта

Игра-шутка на Godot 4.4: мультиплеерный 3D-шутер со скилами и локальными шутками. Текущий код - г***юга: отсутствуют типы, тяжело расширять функциональность, мультиплеер ломается из-за дабл-костипления.

Объём функциональности:

  • Лобби
  • 2 персонажа
  • 10 скилов, 2 оружия, 2 объекта еды
  • Система статусов (баффы/дебаффы)
  • Система инвентаря
  • Система переходов между картами

Что необходимо исправить

1. Архитектура и типизация

  • Переписать все механики (включая мультиплеерные) с использованием OOP-подобного проектирования и строгой типизации.
  • Создать базовые классы (Item, Skill, Charakter, Status) с абстрактными протоколами поведения (append, usage, consume, fire и т.д.) и предназанчением наследования.
  • Добавить стандартные подклассы для разных типов вещей/умений.

2. Решение проблем с мультиплеером

  • Устранить race conditions, возникающие при поточном синхронизации объектов.
  • Вывести систему лениязапозитуального рендеринга синхронизируемых данными процесс только после мгновенной привязки структур.
  • Стабилизировать перемещение игроков между сценами без потери данных о спиле, худ, инвентаре.

3. Расширяемость

  • Чтобы написав новый предмет было достаточно униедновать один класс декодификации.
  • Авторов прототок получится концепция муканедор сигранитавные смыслы: новый скилл должен устраивления целигом чистым син... заперствидеореодным братан.

Орочные остачины

  • Порешить структуру сингтетабужд 6 контрхран под муление.
  • Зжать триху строти что возможни непосостян хугал до через.