Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cyber-Slot RPG Casino

Мультиплеерный слот-автомат с элементами RPG. Крути барабаны, зарабатывай кредиты, покупай улучшения и соревнуйся с другими игроками в режиме реального времени.

Пет-проект, в котором я отрабатывал real-time клиент-сервер на WebSocket (Socket.io).

Стек технологий

  • Backend: Node.js, Express, Socket.io
  • Frontend: Vanilla JavaScript, HTML5, CSS3
  • Real-time: WebSocket (Socket.io)
  • Database: JSON-файл (персистентность пользователей)
  • Avatar API: DiceBear (генерация аватаров)

Описание функционала

Игровая механика

  • Слот-машина 3×3 — классические барабаны с символами
  • Wild-символы — заменяют любые символы для выигрышных комбинаций
  • Ставки — гибкая настройка размера ставки
  • Выплаты — разные коэффициенты для комбинаций

RPG-апгрейды (Skill Shop)

Улучшение Описание Цена
Aura of Luck +0.2% шанс на Wild (макс. 10 уровней) 500
Chip Magnet 1% прибыли с выигрышей других игроков 800
Hacker Module Возможность сдвинуть барабан (30 мин. кулдаун) 1200
VIP Status Неоновый статус + множитель ×100 2000

Мультиплеер

  • Комнаты — до 6 игроков в одной комнате
  • Рейтинг — видно баланс всех игроков в комнате
  • Глобальные события — случайные бонусы/штрафы каждые 10-15 минут
  • Персистентность — прогресс сохраняется по никнейму

Функции

  • Регистрация по никнейму с генерацией аватаров
  • Система комнат с автоматическим распределением
  • Лог выигрышей в реальном времени
  • Партиклы и визуальные эффекты при выигрыше
  • Отображение линий выплат

Инструкция по запуску

Требования

  • Node.js 16+

Установка

# Клонирование
git clone <репозиторий>
cd "Казино/Казино"

# Установка зависимостей
npm install

Запуск сервера

cd server
npm start

Доступ к игре

Откройте в браузере: http://localhost:3000

Архитектура

Server (Node.js)

  • Express — раздача статических файлов
  • Socket.io — real-time коммуникация
  • Rooms — управление комнатами игроков
  • JSON DB — сохранение прогресса по никнейму

Client (Browser)

  • Socket.io-client — подключение к серверу
  • Canvas API — партиклы и эффекты
  • CSS Grid/Flexbox — адаптивная верстка

Game Loop

  1. Игрок входит по никнейму → загрузка/создание профиля
  2. Автоматическое распределение в комнату (макс. 6 чел.)
  3. Ставка → Крутка барабанов → Расчет выигрыша
  4. Покупка апгрейдов → Сохранение прогресса

API Socket Events

Event Direction Описание
join Client → Server Вход в игру с никнеймом
spin Client → Server Запуск слота со ставкой
buy_upgrade Client → Server Покупка улучшения
room_state Server → Client Обновление состояния комнаты
spin_result Server → Client Результат крутки
error_msg Server → Client Ошибка (недостаточно средств и т.д.)

Автор

Илья — github.com/golyb11

Лицензия

Проект создан в учебных/развлекательных целях.

About

Мультиплеерный слот-автомат с RPG-апгрейдами: Socket.io + Express казино

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages