You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Бесконечная генерация уровня
Реализована возможность настройки спавнящихся объектов через ScriptableObjcets
В проекте есть два вида Entity - SpaceAsteroid и SpaceCat, для каждого из них можно настраивать свои параметры спавна.
Реализацию каждого Entity можно делать свою наследуясь от абстрактного базового класса EntityBase, таким образом вращение для имеющихся типов Entity разное.
За весь игровой цикл используется только 1 Instantiate(), далее работа идет с уже имеющимся массивом объектов для лучшей оптимизации
и никаких Destroy().
Настройка скорости игры и других параметров через ScriptableObjects.
Сбор статистики и хранение её в базе данных в зашифрованом виде в byte[] и получение её через StatisticsManager.
Настройка количества получаемых баллов через ScriptableObjects.
Вывод их на экран посредством модульной системы.
Космический корабль SpaceShip реализован из абстрактного класса SpaceTransport с базовой реализацией и далее дополненный модульной системой необходимых возможностей.
SpaceTransport и все наследуемые от него компоненты имеют возможность своей уникальной настройки для каждого типа SpaceTransport.
Архитектура проекта представляет собой модульную систему с каждым компонентом независящим от другого, за исключением сбора статистики, которая по соображениям оптимизации внердряется в другие классы.
Все Managers и базовые классы событийно реализовывают методы интерфейсов IGameStart и IGameOver, дочерние подклассы имеют внутреннию реализацию данных методов от базовых.
Эффекты комической пыли и реактивных двигаталей корабля которые взаимодействуют с ускорением.
Полностью отсутствуют любые переборы компонентов и игровых объектов по типу GetComponent, GameObject.Find, FindOfType, вместо этого для максимальной производительности используется кэширование.
Музыкальное сопровождение и звуковые эффекты в качестве дополнительных модулей для SpaceShip.
Полный цикл игры Start => GameOver => Start => ...
Сохранение лучшего результата и вывод его, увеличение его в процессе игры.
В проекте используется только 2 Update().
Скорость игры складывается из скорости корабля и коэффициента скорости в настройке GameSettings.
Данный проект не является примером сверх идеальной архитектуры, его цель в демонстрации навыков =)