Skip to content

Nikita-Boyarskikh/SpaceInvasionFrontend

 
 

Repository files navigation

Space Invasion the browser multiplayer MMORTS-shooter game

Build Status Test Coverage Coverage Status Maintainability Github Issues Pending Pull-Requests License

Table of contents

SpaceInvasion

Story

It is the browser game in the genre MMORTS shooter game "Space Invasion". The moon is inhabited by two warring races: Humans and Aliens. In this game you have to choose a side and fight for the right to live in this world. Only one will survive. Capture the enemy base or your race will be defeated...

Quick start

git clone git@github.com:Nikita-Boyarskikh/SpaceInvasionFrontend.git
cd SpaceInvasionFrontend
npm install
npm test && npm start

What's included

SpaceInvasionFrontend
├── LICENSE
├── README.md
├── declarations.d.ts
├── deploy
│   ├── Dockerfile
│   ├── bin
│   │   ├── deploy.sh
│   │   └── gen_nginx_config
│   ├── conf
│   │   ├── config.ini
│   │   ├── nginx.conf
│   │   └── proxy_params
│   ├── crontab
│   └── deploy_rsa.enc
├── hooks
│   └── pre-commit
├── mocks
│   ├── emptyProcessor.js
│   ├── init.js
│   └── pugProcessor.js
├── package.json
├── public
│   ├── ServiceWorker.ts
│   ├── blocks
│   │   ├── about
│   │   │   ├── about.pug
│   │   │   └── index.ts
│   │   ├── block
│   │   │   └── index.ts
│   │   ├── form
│   │   │   └── index.ts
│   │   ├── game
│   │   │   ├── game.pug
│   │   │   ├── index.ts
│   │   │   ├── multiPlayerGameBlock.ts
│   │   │   └── singlePlayerGameBlock.ts
│   │   ├── home
│   │   │   ├── homepage.pug
│   │   │   └── index.ts
│   │   ├── leaderboard
│   │   │   ├── index.ts
│   │   │   ├── leaderboard.pug
│   │   │   └── pagination.pug
│   │   ├── login
│   │   │   ├── index.ts
│   │   │   └── login.pug
│   │   ├── notFound
│   │   │   ├── 404.pug
│   │   │   └── index.ts
│   │   ├── playerPage
│   │   │   ├── index.ts
│   │   │   └── playerPage.pug
│   │   ├── registration
│   │   │   ├── index.ts
│   │   │   └── registration.pug
│   │   └── winlose
│   │       ├── index.ts
│   │       └── winlose.pug
│   ├── css
│   │   ├── alien.css
│   │   ├── main.css
│   │   ├── man.css
│   │   └── mobile.css
│   ├── images
│   │   ├── background.jpg
│   │   ├── background2.jpg
│   │   ├── cartoon-moon.png
│   │   ├── cartoon-moon_blue.png
│   │   ├── cartoon-moon_green.png
│   │   ├── cartoon-moon_red.png
│   │   ├── egor_kurakov.jpg
│   │   ├── game
│   │   │   ├── alienUnitLeft.png
│   │   │   ├── alienUnitRight.png
│   │   │   ├── base.png
│   │   │   ├── bomb.png
│   │   │   ├── bombMushroom.png
│   │   │   ├── bullet.png
│   │   │   ├── coin.png
│   │   │   ├── defeat.png
│   │   │   ├── manUnitLeft.png
│   │   │   ├── manUnitRight.png
│   │   │   ├── moonBackground.png
│   │   │   ├── tower.png
│   │   │   └── victory.png
│   │   ├── mainPage.jpg
│   │   ├── moonBackground.png
│   │   ├── moonBackground_1440x824.png
│   │   ├── nikita_boyarskikh.jpg
│   │   ├── none.png
│   │   ├── olga_surikova.jpg
│   │   ├── shoot.png
│   │   ├── stop_404.png
│   │   ├── tower_round.svg
│   │   └── vasiliy_dmitriev.jpg
│   ├── index.htm
│   ├── index.ts
│   ├── locales
│   │   ├── en-US.ftl
│   │   └── ru-RU.ftl
│   ├── main.ts
│   ├── models
│   │   ├── game
│   │   │   ├── coords.ts
│   │   │   ├── gameScene.ts
│   │   │   ├── interfaces
│   │   │   │   ├── collidable.ts
│   │   │   │   ├── destructible.ts
│   │   │   │   ├── movable.ts
│   │   │   │   ├── oriented.ts
│   │   │   │   ├── rect.ts
│   │   │   │   ├── shootable.ts
│   │   │   │   └── temporary.ts
│   │   │   ├── mixins
│   │   │   │   ├── movableMixin.ts
│   │   │   │   └── subscriptableMixin.ts
│   │   │   ├── player.ts
│   │   │   ├── sprites
│   │   │   │   ├── base.ts
│   │   │   │   ├── bomb.ts
│   │   │   │   ├── bot.ts
│   │   │   │   ├── bullet.ts
│   │   │   │   ├── coin.ts
│   │   │   │   ├── mushroom.ts
│   │   │   │   ├── sprite.ts
│   │   │   │   ├── tower.ts
│   │   │   │   └── unit.ts
│   │   │   └── state.ts
│   │   ├── game.ts
│   │   └── user.ts
│   ├── modules
│   │   ├── emitter.ts
│   │   ├── game
│   │   │   ├── controllers
│   │   │   │   ├── controllerInterface.ts
│   │   │   │   ├── joystick.ts
│   │   │   │   ├── keyboardController.ts
│   │   │   │   └── mouseController.ts
│   │   │   └── strateges
│   │   │       ├── multiPlayerStrategy.ts
│   │   │       ├── singlePlayerStrategy.ts
│   │   │       ├── strategy.ts
│   │   │       └── strategyInterface.ts
│   │   ├── http.ts
│   │   ├── navigator.ts
│   │   ├── router.ts
│   │   └── themes.ts
│   ├── services
│   │   ├── collisionService.ts
│   │   ├── gameService.ts
│   │   ├── userService.ts
│   │   └── webSockets.ts
│   ├── templates
│   │   ├── chooserace.pug
│   │   └── navbar.pug
│   └── utils
│       ├── aboutAlertDialog.ts
│       ├── constants.ts
│       ├── font.ts
│       ├── imageResizer.ts
│       ├── localisation.ts
│       ├── notifications.ts
│       ├── utils.ts
│       └── validationRules.ts
├── tests
│   └── unit
│       ├── simple.test.ts
│       ├── user.test.ts
│       ├── userService.test.ts
│       └── utils.test.ts
├── tsconfig.json
├── tslint.json
└── webpack.config.js

Bugs and feature requests

Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Documentation

Wiki

Contributing

Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.

Mentor

Egor Utrobin

Creators

Fullstack

Boyarskikh Nikita

Backend

Egor Kurakov

Frontend

Olga Surikova

Vasiliy Dmitriev

Copyright and license

Code released under the MIT License.

About

Browser MMORTS-shooter game

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 85.5%
  • CSS 5.6%
  • Pug 5.2%
  • Python 1.4%
  • JavaScript 0.9%
  • Dockerfile 0.5%
  • Other 0.9%