Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

3
О чём игра?
Arkanoid - игра 1986 года за авторством Atari.
Очень полюбилась игрокам, и, в последствии, дала название целому жанру видеоигр.
Мы задумались: чем можно разнообразить классический геймплей?
4
Про это мы говорить не собираемся
Webpack
Resource system
Javascript
nginx
Java
Spring
Agile
PostgreSQL
Thread sharing
PIXI.js
Websockets
Routing
Кэширование статики
Typescript
HTTP/2
Сжимание статики
HTTPS
Service workers
Event bus
scss
pug / jade
БЭМ
ES6
CSS-in-JS
Fetch API
CORS
ESLint
JSDoc
Балансировка игроков
Лобби
Комната ожидания
Всё это у нас есть!
В нашем проекте использовано множество технических приёмов и решений.
Часть из них могла встретиться в предыдущих презентациях.
5
Особенности проекта
Clean Architecture
Вертикальное и горизонтальное разбиение фич для большей изоляции компонентов и повышения тестируемости продукта.
Progressive Management
Распределение задач по возможностям каждого члена команды приводит к повышению эффективности её работы над проектом.
Собственная система коллизий
Уникальная система коллизий позволяет игроку из своего положения попадать в платформу под любым углом.
6
DRY: Code sharing
Важной особенностью нашего проекта является
code sharing между платформами.
С учётом того что у нас своя система коллизий и интерполяция данных, код должен обладать надёжностью, тестируемостью и совместимостью с обоими платформами.
Один код, одни тесты, две платформы.
7
Multiplayer
Пакетная логика
Динамическая игра требует оптимизации взаимодействия с сервером.
Интерполяция данных
Клиенты предсказывают то, что ещё не произошло.
Приглашения в игру
Реферальные ссылки позволяют соединяться с определенным игроком. Вместе веселее!
Состояние ожидания
Чтобы игроки смогли искать напарника до того как игра полностью загружена, мы ввели состояние ожидания загрузки ресурсов.
8
Hype Driven Deploy
Docker
Мы используем Docker. Это модно. Даже моднее, чем вейпить и спиннеры.
Docker Registry
Свои образы мы храним у себя - так целее будет. Серьезно.
Ansible
Here comes the production code
Спасибо за внимание!
StealthTech
design
frontend
reo7sp
frontend
dev ops
LionZXY
backend
frontend
Ansile
frontend
gamedev
warprobot
mentor
gamedev
Отдельное спасибо создателю официального плагина для интеграции kotlin и webpack, а также сотрудникам JetBrains Андрею Складчикову и Руслану Ибрагимову.

Use a spacebar or arrow keys to navigate.
Press 'P' to launch speaker console.