Skip to content

[TP-MAIL.RU] 🚀 Проект курса "Углубленное программирование на С/С++" основной программы Технопарка mail.ru group

Notifications You must be signed in to change notification settings

Flash1ee/voyager-game

Repository files navigation

Voyager-game

Описание

Немного лора

В отдалённом будущем, когда человечество уже во всю бороздило космическое пространство, несколько исследователей попали на небольшую систему на окраине вселенной. Попав в эту систему, герои устремились к её звезде, дабы восполнить топливо для двигателей, но к их удивлению и разочарованию звезда этой системы оказалась потухшей. Их корабль завис на орбите данной звезды. Они пролетели очень большое расстояние, чтобы найти необычный источник энергии: некий материал, который при определённых условиях даёт огромное количество энергии. По расчётам героев, его бы хватило, чтобы совершить гипер-прыжок на орбиту звезды соседней планеты и для зарядки всех батарей.

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

Странное условие и мифичность существования данного материала смущало героев, но в текущей ситуации этот материал, был единственной возможностью для возвращения домой. Спустившись на первую планету этой системы, в разноцветной каменной пещере герои нашли этот материал: маленький полупрозрачный камешек, с чем-то чёрным, заключённым в золотистое вращающееся неоднородное кольцо. Камень завораживал, и был необычайно тяжёлым для кусочка размером с монетку.Герои, забрав его, отправились на корабль, и, потратив остатки основного топлива, вернулись на орбиту звезды. Следующие несколько дней они провели в поисках способа выбраться из этой системы.

Через несколько дней, один из учёных вспомнил о явлении гравитационного манёвра, которым пользовались раньше, когда ещё не появились гипер-прыжки, и топливо занимало большую часть космического аппарата. Данное явление позволяет добавить энергию кораблю без включения его двигателей. Своим осенением герой поделился с остальным экипажем и они решили воспользоваться этим, дабы выбраться за пределы этой системы на остатках их топлива.

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

Их путешествие только начинается...

А теперь к игре

Это игра основанная на физической симуляции движения в космическом пространстве, а также на связанном с ней и ранее названном явлении - гравитационный манёвр. Игрок получает в управление корабль учёных. Ему поставлена задача - добраться до дома. Для этого нужно пролететь через все системы, "посетив" все планеты каждой системы. Уровень - это одна из систем, которую посетят герои по пути домой.

Суть геймплея

Игрок получает в управление корабль, оказавшийся на орбите звезды в далёкой звёздной системе. У игрока есть возможность поворачивать корабль вокруг своей оси с помощью кнопок A и D, а также ускорять его вперёд или назад кнопками W и S. Как и было сказано ранее его цель - управляя кораблём добраться до дома. Для этого нужно вылететь за пределы всех систем (пройти все уровни) и "посетить" все планеты.

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

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

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

Установка

Для установки данной игры необходимо скачать все файлы из данного репозитория.
А также установить boost, sfml.
lcov и gtest для тестирования игры.
Сборка проверялась на Ubuntu 19.04

sudo apt install lcov
sudo apt-get install libsfml-dev
sudo apt-get install libboost-all-dev

gtest for Ubuntu

https://gist.github.com/Cartexius/4c437c084d6e388288201aadf9c8cdd5

Склонировать репозиторий можно следующей командой:

git clone https://github.com/Flash1ee/voyager-game

Далее следует зайти в корневую директорию скачанного проекта и подключить дополнительные модули:

git submodule init
git submodule update 

После чего следует создать папку build и перейти в неё:

mkdir build
cd build

И собрать игру командами:

cmake ..
make

Для того чтобы поиграть, достаточно написать:

./voyager

Или вручную зайти в папку build и запустить файл voyager

Авторы

  • Дмитрий Варин — ответственный за логику игры
  • Владимир Ларин — ответственный за графику, меню и события
  • Артем Ветошкин — ответственный за физику, математику и состояния игры

Хорошей игры!
Да пребудет с вами сила

Послесловие

Данная игра является проектом,
выполненным в ходе прохождения курса:
Углублённое программирование на C/С++ в Технопарке Mail.ru Group & МГТУ им. Н.Э.Баумана

Контакты

About

[TP-MAIL.RU] 🚀 Проект курса "Углубленное программирование на С/С++" основной программы Технопарка mail.ru group

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages