grechka-game/README.md

9.1 KiB
Raw Permalink Blame History

GrechkaCraft: Multiplayer

2D песочница в стиле Minecraft с мультиплеером. Исследуйте, стройте, добывайте ресурсы и сражайтесь с мобами!

🎮 Управление

Клавиатура (ПК)

  • A / ← - движение влево
  • D / → - движение вправо
  • W / ↑ / Пробел - прыжок
  • S / ↓ - спуск вниз (на лестницах)
  • ЛКМ - взаимодействие (добыча/строительство/атака)

Сенсорное управление (мобильные устройства)

На мобильных устройствах (экраны шириной до 768px) отображается панель управления внизу экрана:

  • ⬅️ - движение влево
  • ⬆️ - прыжок
  • ⬇️ - спуск вниз
  • ➡️ - движение вправо

🎯 Режимы игры

Переключайте режимы кнопкой 🏃 в правом верхнем углу:

  1. 🏃 Движение - стандартный режим для передвижения
  2. ⛏️ Добыча - ломайте блоки и атакуйте мобов
  3. 🧱 Строительство - ставьте блоки

📦 Инвентарь и крафт

Инвентарь

  • Откройте инвентарь кнопкой 📦 в правом верхнем углу
  • Выберите предмет для использования
  • Инвентарь отображается поверх кнопок управления на мобильных устройствах

Крафт

  • Откройте панель крафта кнопкой 🔨 в правом верхнем углу
  • Выбирайте рецепты из списка
  • Кнопка "Создать" активна только если достаточно ресурсов

🧱 Блоки

Базовые блоки

  • Трава - основной блок поверхности
  • Грязь - подповерхностный слой
  • Камень - прочный блок для строительства
  • Песок - падает при отсутствии опоры
  • Гравий - падает при отсутствии опоры
  • Глина - добывается в песчаных берегах

Деревянные блоки

  • Дерево - добывается из деревьев
  • Доски - создаются из дерева
  • Лестница - позволяет подниматься и спускаться

Руды

  • Уголь - топливо для костров
  • Медь - редкая руда
  • Железо - средняя редкость
  • Золото - редкая руда
  • Алмаз - очень редкая руда

Декоративные и специальные блоки

  • Листва - декоративный блок
  • Стекло - прозрачный блок
  • Вода - жидкость, можно плавать
  • Кирпич - прочный строительный блок
  • Цветок - декоративный элемент
  • Факел - освещение ночью
  • Костёр - освещение + жарка мяса
  • TNT - взрывчатка
  • Кровать - позволяет спать и пропускать ночь
  • Лодка - для передвижения по воде

🍖 Предметы и инструменты

Еда

  • Сырое мясо - добывается из животных, восстанавливает 15 голода и 15 HP
  • Жареное мясо - жарится на костре, восстанавливает 45 голода и 15 HP

Инструменты

  • Деревянная кирка - 60 прочности, mining power 1
  • Каменная кирка - 130 прочности, mining power 2
  • Железная кирка - 250 прочности, mining power 3
  • Деревянный меч - 40 прочности, 5 урона
  • Каменный меч - 100 прочности, 8 урона
  • Железный меч - 200 прочности, 12 урона

👾 Мобы

Дружественные (днём)

  • Свинья - даёт 2 сырого мяса
  • Курица - даёт 1 сырое мясо

Враждебные (ночью)

  • Зомби - атакует игрока, наносит 15 урона
  • Крипер - взрывается рядом с игроком
  • Скелет - стреляет стрелами издалека

🌍 Мир

Генерация

  • Детерминированная генерация на основе seed
  • Автоматическая генерация при движении
  • Разнообразные биомы: горы, равнины, пляжи

День и ночь

  • Автоматический цикл дня и ночи
  • Ночью появляются враждебные мобы
  • Нажмите на часы в UI для переключения на ночь
  • Спите на кровати для пропуска ночи

Физика

  • Гравитация и коллизии
  • Плавание в воде
  • Лестницы для вертикального движения
  • Урон от падения

💾 Сохранение

Автосохранение

  • Игра сохраняется автоматически при скрытии страницы
  • Игра сохраняется перед закрытием страницы
  • Игра сохраняется при отходе ко сну

Ручное сохранение

  • Кнопка 💾 в правом верхнем углу (только в одиночном режиме)
  • Сохраняется в localStorage браузера

Сброс игры

  • Кнопка 🔄 удаляет сохранение и начинает новую игру
  • Генерируется новый worldId

🌐 Мультиплеер

Подключение

  • Автоматическое подключение к серверу при запуске
  • World ID отображается в левом верхнем углу
  • Кликните на World ID для копирования ссылки

Совместная игра

  • Видите других игроков в реальном времени
  • Общие изменения блоков
  • Общий день/ночь
  • Чат (временно скрыт)

Синхронизация

  • Позиции игроков синхронизируются 20 раз в секунду
  • Изменения блоков мгновенно передаются всем игрокам

🛠️ Развертывание

Локальный запуск

# Клонирование репозитория
git clone <repository-url>
cd grechka-game

# Запуск через Docker Compose
docker-compose up -d

# Игра доступна на порту 80

Docker

# Сборка образа
docker build -t grechka-game .

# Запуск контейнера
docker run -p 80:80 grechka-game

Структура файлов

  • index.html - основной HTML файл
  • game.js - игровой движок
  • style.css - стили интерфейса
  • Dockerfile - конфигурация Docker образа
  • docker-compose.yml - конфигурация Docker Compose

📝 Недавние изменения

Версия 1.3 (2026-01-03)

  • Добавлена кнопка "вниз" для мобильных устройств
  • Исправлен z-index для инвентаря и крафта (теперь поверх кнопок управления)
  • Скрыт чат из интерфейса
  • Добавлены проверки на null для предотвращения крашей JavaScript

Предыдущие версии

  • Мультиплеер через Socket.IO
  • Система сохранения в localStorage
  • Автоматический цикл дня и ночи
  • Система крафта и инструментов
  • Разнообразные мобы и блоки

🐛 Известные проблемы

  • Чат временно скрыт
  • На мобильных устройствах кнопки управления могут перекрывать hotbar

📄 Лицензия

Проект распространяется как есть.

🤝 Участие

Для внесения изменений:

  1. Форкните репозиторий
  2. Создайте ветку для новой функции
  3. Внесите изменения
  4. Отправьте pull request

📞 Контакты

По вопросам и предложениям обращайтесь к разработчику.