/Archero

Archero

Primary LanguageC#GNU Lesser General Public License v3.0LGPL-3.0

Задача:

Реализовать базовый геймплей игры в стиле Archero.

Технологии:

Unity3D (версия 2019.2), C#.

Обязательные условия:

  • Игровое поле заранее заданных размеров, вид сверху
  • Наличие 2х типов поведения противников
  • Наличие непроходимых по земле и непростреливаемых препятствий
  • Возможность управлять героем с помощью wasd (движение)
  • Герой должен получать монетки за убийство враго
  • Камера на любых соотношениях сторон всегда охватывает всё игровое поле

Дополнительный функционал (необязательно):

  • Эффекты попадания снарядов / смерти (формально)
  • Дополнительное наэкранное управление
  • Несколько типов оружия игрока
  • Умные противники: каждое перемещение ставит или приближает моба к прямой видимости игроком
  • Меню / окно паузы (базовый функционал UI / окон)
  • Дополнительные типы поведения противников

Время выполнения:

Мы предлагаем для выполнения тестового задания 2-3 рабочих дня.

Если по определенным причинам вам необходимо чуть больше времени для реализации задания, пожалуйста, заблаговременно сообщите нам об этом.

Главный критерий оценки:

Качество кода (читабельность, оптимальность, переносимость, отсутствие ошибок и так далее), а не графическая составляющая.

Выполненное задание необходимо выслать менеджеру по персоналу, с которым вы общались.

Команда ценит ваши время и усилия, затраченные на выполнение тестового задания, и мы хотим детально изучить вашу работу, поэтому ответ вышлем в течении 3 рабочих дней с момента получения выполненного тестового задания.

Техническое задание

Описание геймплея

При старте игры происходит спаун противников в случайной области верхних 2/3 игрового поля и спаун игрока в центре нижней границы игрового поля.

Сразу после расстановки идёт 3х-секундный отсчёт, после него начинается геймплей

Главный персонаж свободно перемещается по полю (с учётом препятствий) и стреляет снарядами во врагов, стрельба ведётся в автоматическом режиме, пока персонаж стоит на месте

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

При столкновении противника и персонажа, персонажу наносится урон, взаимопроникновение невозможно

Главный персонаж:

Персонаж полностью подконтролен игроку, перемещается с помощью кнопок wasd, во время передвижения он обращен лицевой стороной по вектору движения, после остановки он начинает слежение за ближайшим противником с помощью поворота вокруг своей оси и автоматическую стрельбу в его направлении.

Характеристики персонажа:

  • Скорость передвижения
  • Количество HP
  • Скорость стрельбы
  • Урон за выстрел

Противники

После старта игры противники включают логику поведения, она состоит из:

  1. Перемещения на более выгодную позицию
  2. Стрельбы при условии неподвижности

Исходное состояние - неподвижность

Типы противников:

  • Наземный (перемещение блокируется препятствиями)
  • Летающий (перемещается над препятствиями)

Характеристики противников:

  • Скорость передвижения
  • Дальность передвижения
  • Время неподвижности
  • Количество HP
  • Скорость стрельбы
  • Урон за выстрел

Цель игры

Выжить, убить всех противников и выйти через “открытые двери” в верхней части уровня