- Story
- Quick start
- What's included
- Bugs and feature requests
- Documentation
- Contributing
- Mentor
- Creators
- Copyright and license
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...
git clone git@github.com:Nikita-Boyarskikh/SpaceInvasionFrontend.git
cd SpaceInvasionFrontend
npm install
npm test && npm start
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
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.
Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.
Egor Utrobin
Boyarskikh Nikita
Egor Kurakov
Olga Surikova
Vasiliy Dmitriev
Code released under the MIT License.