# 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 раз в секунду - Изменения блоков мгновенно передаются всем игрокам ## 🛠️ Развертывание ### Локальный запуск ```bash # Клонирование репозитория git clone cd grechka-game # Запуск через Docker Compose docker-compose up -d # Игра доступна на порту 80 ``` ### Docker ```bash # Сборка образа 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 ## 📞 Контакты По вопросам и предложениям обращайтесь к разработчику.