GithubHelp home page GithubHelp logo

vladimirkhil / sionline Goto Github PK

View Code? Open in Web Editor NEW
64.0 3.0 9.0 8.77 MB

SIGame web client

License: MIT License

JavaScript 0.51% TypeScript 88.08% CSS 11.12% HTML 0.05% Dockerfile 0.01% PowerShell 0.04% Smarty 0.19%
game-development react redux typescript webpack

sionline's Introduction

SIOnline is the web version of game SIGame.

For compilation and running you need Node.js version 12.16.3 or higher.

Used technologies: Typescript, Webpack (with loaders and plugins), React, Redux, Redux Thunk, SignalR, TSLint, Jest.

Run:

npm install
npm run start

Build:

npm install
npm run build-prod

sionline's People

Contributors

350str avatar bitvalser avatar dependabot[bot] avatar m1x0n avatar skrrgh avatar vladimirkhil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sionline's Issues

Добавить Рекламу Яндекса в окно игровой комнаты

Сейчас Реклама показывается только при входе. Это генерирует недостаточное число показов для окупаемости сервера.

Предполагается отвести для рекламы небольшую зону справа внизу, над кнопками.

Зафиксировать высоту списка игроков для телефона

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

В нынешнем виде при игре на телефоне с большим количеством живых участников список этих участников отъедает очень много места и мешает игровому процессу.

Редизайн игры

Сделать более качественную анимацию. Подобрать цвета и шрифты.

Поддержать сообщение QUESTIONCAPTION

Отображать заголовок вопроса в интерфейсе. Самостоятельно формировать заголовок при выборе вопроса в классической версии игры и при переходе к вопросу в упрощённой версии.

Найти место для отображения. На телефонах отображать необязательно.

Упрощение работы с Redux

Сейчас добавление нового действия в Redux требует много рутинного добавления в Actions, actionCreators, reducers. Хочется использовать какой-то вспомогательный фреймворк, который бы упростил задачу.

Иногда зависает игра [требуется проверка]

"Виснет в тот момент, когда заходишь, проходит первый вопрос и когда он заканчивается и должно перекинуть на экран с темами. И в этот момент виснет, на телефоне остается конец 1 вопроса. И почему-то у кого-то идеально всё работает. Ни разу не вылетало, а у кого-то как начнется, так все".

Игровые аккаунты

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

Требуется предварительно:

  • переход на HTTPS;
  • доработка Игрового сервера.

Экран приветствия

После входа пользователь должен не сразу попадать в лобби, а видеть меню:

"Что вы хотите?"

  • поиграть самостоятельно с ботами (сразу создаём новую игру)
  • поиграть с друзьями (можно сразу создать комнату или найти комнату по имени; список всех комнат не нужен)
  • поиграть со случайными людьми (автоподбор участников)
  • войти в общий зал (нынешнее поведение)

Чтение вопроса

Поддержать подсветку вопроса с учётом заданной скорости чтения ("караоке").

Настройки приложения

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

Новый протокол для печатных сообщений

Сейчас сообщения приходят от сервера в формате XML. Их приходится парсить. Это ужасно неудобно.

По факту нужно сообщение в формате "автор реплики/реплика".

Требуется доработка сервера.

Интерфейс, приближенный к десктопной версии

Для широких экранов:

  • отображать аватар ведущего;
  • сделать карточки и аватары игроков более крупными;
  • по умолчанию размещать игроков внизу экрана (дать настройку оставить всё, как сейчас).

Новый протокол для валидации ответов

Сейчас валидация ответов состоит из двух сообщений. Требуется новое сообщение VALIDATE, содержащее всю необходимую информацию (кто дал ответ, ответ, правильные и неправильные версии).

Требуется доработка сервера.

Поддержка игровых таймеров

  • уменьшающаяся рамка вопроса
  • время раунда
  • время для принятия решений участниками и ведущим
  • время апелляции, ставок в финале и финального размышления

Автоматизация сборки проекта

Сейчас изображения и шрифты нужно подкладывать к собранной версии вручную. Хотелось бы, чтобы webpack обеспечивал автоматическую сборку.
Также в production-сборке не работает минимизация css.

Игровые звуки

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.