Skip to content

spiNkerZ/SkyRoardsTestProject

Repository files navigation

#Screen16

  • Бесконечная генерация уровня Реализована возможность настройки спавнящихся объектов через ScriptableObjcets

Screen17

  • В проекте есть два вида Entity - SpaceAsteroid и SpaceCat, для каждого из них можно настраивать свои параметры спавна.
  • Реализацию каждого Entity можно делать свою наследуясь от абстрактного базового класса EntityBase, таким образом вращение для имеющихся типов Entity разное.
  • За весь игровой цикл используется только 1 Instantiate(), далее работа идет с уже имеющимся массивом объектов для лучшей оптимизации и никаких Destroy().
  • Настройка скорости игры и других параметров через ScriptableObjects.

Screen19

  • Сбор статистики и хранение её в базе данных в зашифрованом виде в byte[] и получение её через StatisticsManager.
  • Настройка количества получаемых баллов через ScriptableObjects.

Screen18

  • Вывод их на экран посредством модульной системы.
  • Космический корабль SpaceShip реализован из абстрактного класса SpaceTransport с базовой реализацией и далее дополненный модульной системой необходимых возможностей.
  • SpaceTransport и все наследуемые от него компоненты имеют возможность своей уникальной настройки для каждого типа SpaceTransport.
  • Архитектура проекта представляет собой модульную систему с каждым компонентом независящим от другого, за исключением сбора статистики, которая по соображениям оптимизации внердряется в другие классы.
  • Все Managers и базовые классы событийно реализовывают методы интерфейсов IGameStart и IGameOver, дочерние подклассы имеют внутреннию реализацию данных методов от базовых.
  • Эффекты комической пыли и реактивных двигаталей корабля которые взаимодействуют с ускорением.
  • Полностью отсутствуют любые переборы компонентов и игровых объектов по типу GetComponent, GameObject.Find, FindOfType, вместо этого для максимальной производительности используется кэширование.
  • Музыкальное сопровождение и звуковые эффекты в качестве дополнительных модулей для SpaceShip.
  • Полный цикл игры Start => GameOver => Start => ...
  • Сохранение лучшего результата и вывод его, увеличение его в процессе игры.
  • В проекте используется только 2 Update().
  • Скорость игры складывается из скорости корабля и коэффициента скорости в настройке GameSettings.
  • Данный проект не является примером сверх идеальной архитектуры, его цель в демонстрации навыков =)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published