/Eclipse

A desktop game inspired by the 90th space arcades with additional option of playng with sensor game controller based on Arduino

Primary LanguageC++

Eclipse

Аркада с возможностью управления с сенсорного геймпада на основе Arduino Mega 2560 R3 и модуля TFT LCD Touch screen 2.4.

О команде

Приложение пишется в рамках проектной работы НИУ ВШЭ СПб.

Авторы:

Об игре

При помощи космического корабля спасти Землю от атаки астероидов и пришельцев.

Легенда

Землю атакуют астероиды и требуется самый отважный житель планеты. Главному герою необходимо сдерживать атаку, пока земляне запрыгивают на спасательный шаттл. Игроку предоставляется возможность сесть за штурвал космического корабля и задержать астероиды при помощи лазеров. Требуется аккуратно управлять пушкой, ведь если астероид врежется в Землю или в корпус корабля, теряется одна из трех жизней. Как только жизни кончаются, планета разрушена и люди не успели спастись. Так как мы защищаем землю в одиночку, нам нужна помощь: во время сражения будут появляться дополнительные жизни, которые помогут выстоять долгое сражение.

Установка используемых библиотек

MACOS

$ brew update
$ brew install boost
$ brew upgrade boost
$ brew install nlohmann-json
$ brew install qt5
$ pip install requests

LINUX

$ sudo apt-get -y install build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev
$ wget http://downloads.sourceforge.net/project/boost/boost/1.75.0/boost_1_75_0.tar.gz
$ tar -zxvf boost_1_75_0.tar.gz
$ cd boost_1_75_0
$ cpuCores=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}'`
$ echo "Available CPU cores: "$cpuCores
$ ./bootstrap.sh  
$ sudo ./b2 --with=all -j $cpuCores install

$ sudo apt-get install nlohmann-json3-dev
$ sudo apt-get install qt5-default

$ pip install requests

Запуск игры

$ git clone git@github.com:AnastasiiaGorelova/Eclipse.git
$ cd main_game
$ mkdir build
$ cd build
$ cmake ..
$ make

находясь в директории build запустить проект

$ ./main_game

Описание функциональностей проекта:

  • Главное меню
    • Запуск игры
    • Выбор режима управления
      • Клавиатура
      • Сенсорный геймпад
    • Легенда
    • Локальный leaderboard
    • Глобальный leaderboard
  • Смена имени пользователя
  • Функциональность корабля
    • Навигация влево и вправо
    • Непрерывная стрельба лазерами вверх
  • Таймер
  • Функциональность игры
    • Система жизней
      • Три жизни
      • При попадании астероида в корабль или планету утрата одной жизни
    • Астероиды разного размера
    • Астероиды и бонусы летят сверху вниз по прямой
    • Сражение с пришельцем
      • Вылетает каждые 15 секунд
      • Патронов для его убийства нужно 5
      • Двигается в разные стороны по горизонтальной прямой
    • При проигрыше возможность купить за монеты дополнительную жизнь и продолжить игру
    • После каждой победы над пришельцем скорость игры возрастает
  • Система бонусов
    • Дополнительные жизни
    • Монеты
    • Кристаллы, замедляющие скорость игры