Prototype game point'n'click top down
Реализовать прототип TopDown Point’n’Click игры для WebGL в Unity.
Игра имеет 3 состояния:
- Загрузка;
- Главное меню;
- Геймплей.
Геймплей включает в себя:
-
Статичная локация:
- На локации расставлены препятствия.
-
Персонаж:
- Персонаж умеет перемещаться по локации.
- Персонаж поворачивается в направлении движения.
- Персонаж обходит препятствия.
-
Камера:
- Реализует один из видов: сверху или под наклоном.
- Камера следит за персонажем.
- Камера не центрируется жёстко на персонаже, но и не выпускает за пределы своего Viewport’а.
-
Управление в геймплее:
- Поддерживается мышь и тачскрин.
- Клик по локации: отправляет персонажа в указанную точку.
- Клик по препятствию: не приводит ни к каким действиям.
- Новый клик: не прерывает текущий маршрут персонажа, но добавляет точку в очередь.
- Персонаж обходит точки в порядке добавления в очередь.
-
Имеется система сохранений:
- При первом попадании в геймплей игра имеет прогресс по умолчанию.
- Покидая геймплей, происходит сохранение прогресса.
- При повторном попадании в геймплей прогресс восстанавливается, и игра продолжается с того же места:
- Если персонаж двигался в точку, то он продолжает движение туда.
- Если у персонажа была очередь точек, то она остаётся актуальной.
- Если персонаж покоился, то он остаётся в том же положении и с тем же поворот.
- Игрок не теряет сохраненный прогресс при полном выходе из игры.
-
Игровой цикл:
- Экран загрузки:
- Прогресс-бар и анимации не нужны;
- Важно, чтобы он повисел n секунд и был заметен.
- Далее переход в Главное меню.
- Главное меню с кнопкой “Start”:
- Нажатие на “Start” переводит в игровую сцену.
- Геймплей с кнопкой “Exit”:
- Нажатие на “Exit” возвращает в меню.
- Экран загрузки:
-
Конфигурирование:
- Приложение:
- Реализация системы сохранений.
- Геймплей:
- Локация.
- Персонаж:
- Скорость движения.
- Скорость поворота.
- Управление:
- Максимальное кол-во точек в очереди.
- Приложение:
-
Требования:
- Проектирование игры с учётом появления бóльшего числа состояний.
- Разработка системы сохранения и загрузки с возможностью менять реализации (например, локальная или удаленная).
- Разрабатывать несколько реализаций системы сохранений не требуется. Достаточно одной для Remote варианта.
- Взаимодействие с системой сохранений через асинхронный код.
- Возможность задавать локацию, которая будет использована в геймплее.
- Реализация понятного конфигурирования без необходимости редактирования кодовой базы.
- Разработка в формате “командного проекта”:
- адекватная история в VCS (комментарии должны быть уместными и говорящими),
- понятный и читаемый код.