Skip to content

Latest commit

 

History

History
93 lines (72 loc) · 14.1 KB

about.md

File metadata and controls

93 lines (72 loc) · 14.1 KB

Kingdom Rush clone

preview

Задание

https://github.com/rolling-scopes-school/tasks/blob/master/tasks/rsclone/rsclone.md

Команда

Iogsotot mrINEX Abdulloh76 DenisAfa
Iogsotot mrINEX Abdulloh76 DenisAfa

Описание

В качестве финального задания мы выбрали сделать подобие игры Kingdom Rush - это tower defence. Главной игровой механикой стала защита определённого места на карте - “ворот” от прохождения через них врагов, для защиты игрок может строить башни на заранее отведенных участках карты. Подробнее о самой игре и ходе разработке можно почитат в статье - (medium) или посмотреть ниже в списке "Реализованные особенности"

Реализованные особенности

UI:

  • Есть возможность управление приложением/игрой с клавиатуры или наличие более пяти hot keys (20 баллов) 3-modal-1 и видео

  • Есть возможность переключения 2 и более языков (10 баллов за каждый дополнительный язык, но не более 20 баллов) image

  • Есть хотя бы один модальный диалог (10 баллов) 3-modal-2 3-modal-3 3-modal-4 3-modal-5 и видео

  • Возможность кастомизации приложения, настроек пользователя (20 баллов)
    3-modal-2 3-modal-5 и видео

  • Реализовано 3+ анимации, для создания которых используются ключевые кадры или svg-анимация (20 баллов)

levendor scorpio orc
black-Wizzardи видео

  • Приложение выполнено в едином стиле, для стилизации используется Bootstrap/Material UI/Ant design/etc (20 баллов) interface6-ui-2 6-ui-3 6-ui interface и видео

Работа игры:

  • Действие игры происходит на разных уровнях, картах, локациях, используются анимированные переходы между уровнями, анимации победы, поражения (30 баллов) 7-map-1 7-map-2 7-map-3 и видео

  • Расширенные настройки звука/видео/графики. Уровни громкости, язык озвучивания, вкл/выкл отображение теней, частиц (20 баллов) 3-modal-5 и видео

  • Есть статистика, которая отображает прогресс игры, нанесенный урон, потраченное на игру время, процент выполнения задания или уровня etc (20 баллов) 9-stats-1 9-stats-2 9-stats-3 9-stats-4 и видео

  • Написание логики для компьютерного противника (40 баллов) 10-ii и видео

Технический стек:

  • Использован Canvas/WebGL/etc (20 баллов) 11-stack-canvas-1 11-stack-Web-GL

  • Использован webpack (10 баллов) 12-stack-webpack и видео

  • Сохранение и загрузка чего-либо с использованием Local storage (10 баллов) 13-stack-LS и видео

  • Приложение/игра написанны на TypeScript (40 баллов) 14-stack-TS и видео

Работа с кодом:

  • Использован eslint, eslint-config-airbnb-base (10 баллов)
    15-eslint
  • Понятный, читаемый код. Имена переменных и функций отражают то что в них содержится/то что они делают. Функция выполняет одно действие. Повторение логики сведено к минимуму. (20 баллов) issues-24-01 мы очень старались и много рефачили код

Back-end:

Одно видео на весь бэк -тык!

  • Использован RESTful API (30 баллов)

  • Подключение и работа с БД (30 баллов)

  • Аутентификация (20 баллов)

  • Приложение отображает какую-либо статистику/графики/таблицы, данные для которых получает от бекенда (20 баллов)

  • Реализован nodejs и express, отдаёт корректные ответы, отдаёт HTTP ошибки с нормальными body, по которым можно понять, что произошло, пишет читаемые логи (40 балов) скринов гора, они между собой перекликаются, поэтому путь за весь бэк все скрины разом: photo-2021-02-02-13-33-59 photo-2021-02-02-13-41-41 photo-2021-02-02-13-42-39 photo-2021-02-03-14-31-48 photo-2021-02-03-14-32-33 photo-2021-02-03-14-38-43 photo-2021-02-03-14-39-02 photo-2021-02-03-14-43-43 photo-2021-02-03-14-45-35 photo-2021-02-03-14-46-17 image image image

Пункты из таблички, которые нам тоже подходят:

  • Многопоточность (40 баллов) у нас одновременно может играть сколько угодно игроков и статистика об их достижениях будет постоянно попадать на бэк, а оттуда улетать ко всем остальным игрокам(настроена переодичность полной синхронизации всех данных)
  • Сохранение и загрузка игры (10 баллов) В нашей игре прогресс сохраняется, если человек зайдет даже с другого компьютера - он сможет продолжить защищать Линерию с того уровня на котором закончил
  • асинхронная работа с бэкендом (40 баллов) реализовано в полной мере
  • саморисованный дизайн (40 баллов) реализовано в полной мере interface6-ui-2 6-ui-3 6-ui interface и видео
  • Реализовано переключение экранов игры (10 баллов) FideIn, FideOut, анимированное появление (Cubic) и всё остальное, что есть у приличных игр в табличке ещё много подходящих нам пунктов, но по-моему нам и без неё хорошо. Мы надеемся, что наша игра вам понравится, мы очень старались сделать её хорошей со всех сторон.

Итого: 470 баллов (по изначальному ТЗ) и 150+ баллов (за пункты из таблички)

+120 за статью - там и картинки, и схемы, и видео, и даже на грамотность проверено всё =)