Skip to content

fliegerfaust/square-dino-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Square Dino

🐲 Тестовое задание для компании

Срок выполнения задачи был установлен в 3 рабочих дня.

Описание задания

Реализовать игровую сцену с механикой передвижения и стрельбы. Референс - Hit Master 3D Дополнительные задания проработать по мере своих возможностей. Чем больше заданий будет выполнено, тем лучше.

📓 Основная задача

  1. Необходимо собрать аккуратную, простую игровую локацию.
  2. Расставить вейпоинты и реализовать движение персонажа по ним, желательно с использованием NavMesh. При старте уровня необходимо расположить персонажа на первом вейпоинте и без врагов. Начало игры реализовать через тап по экрану. На каждом следующем вейпоинте необходимо останавливать персонажа для расстрела врагов. После их убийства персонаж автоматически двигается к следующему вейпоинту. При достижении последнего вейпоинта, рестартим сцену и начинаем с начала.
  3. Стрельба должна быть реализована тапом по экрану. В момент тапа создается пуля и летит в точку тапа. Если пуля попала в любой из коллайдеров, то она удаляется (необходимо использовать пул объектов).

📔 Дополнительные задачи

  1. После смерти у врагов активируется рэгдолл и они падают на землю.
  2. Добавить врагам жизни и отображение уровня здоровья над ними (в виде UI).

🏁 Что реализовано

Тестовое задание реализовано в полном объеме.

  • Машина игровых состояний (Загрузка уровня, ожидание начала игры, состояние передвижения между вейпонтами, боевое состояние, состояние конца игры).
  • Система вейпонтов, навигация по ним с помощью NavMeshComponents.
  • Система спауна врагов (прим.: для создания любых игровых сущностей была реализована фабрика).
  • Расширения для Unity Editor для удобного сбора статичных данных со сцены.
  • Возможность добавить и менять параметры новых врагов и типов снарядов.
  • Стрельба по тапу (поддерживается два типа ввода: мышь и тач).
  • Анимации у персонажа (Idle, Run) и врагов (Idle). При уничтожении врага, у него активируется Ragdoll.
  • Элементы UI - количество жизней врагов, старт игры по тапу с соотвутствующим текстом.

🔗 Набор плагинов

Zenject, Cinemachine, NavMeshComponents