Загрузить файлы в «RPG_FromFreeModel»

This commit is contained in:
2026-02-23 21:20:30 +03:00
parent deff698041
commit c397a4cdee
5 changed files with 4325 additions and 0 deletions

138
RPG_FromFreeModel/README.md Normal file
View File

@@ -0,0 +1,138 @@
# Isometric RPG 2.5D на HTML5 Canvas
## 📋 Описание проекта
Полноценная изометрическая RPG-игра в 2.5D стиле, созданная на чистом JavaScript с использованием HTML5 Canvas. Игра включает систему классов, инвентарь, экипировку, боевую систему, квесты и несколько локаций.
---
## 🎮 Особенности игры
### Изометрическая графика
- Псевдо-3D (2.5D) изометрическая проекция
- Текстуры для тайлов и объектов
- Система освещения (день/ночь)
- Погодные эффекты (дождь, снег)
### Система классов
6 уникальных классов с разным стартовым снаряжением:
| Класс | Оружие | Стартовые статы |
|-------|--------|-----------------|
| Воин (Warrior) | Меч | STR:15, DEF:10 |
| Маг (Mage) | Посох | INT:15, DEF:5 |
| Лучник (Archer) | Лук | DEX:15, DEF:5 |
| Плут (Thief) | Кинжал | DEX:12, SPD:12 |
| Паладин (Paladin) | Булава | STR:12, DEF:12 |
| Некромант (Necromancer) | Посох | INT:12, DEF:8 |
### Инвентарь и экипировка
- 20 слотов в инвентаре
- 2 слота экипировки (оружие, щит)
- Цветовая кодировка редкости предметов (обычный → легендарный)
- Статы от экипировки добавляются к персонажу
- Клик для экипировки/снятия
### Боевая система
- Пошаговые бои
- Физический и магический урон
- Защита и сопротивление
- Заклинания для каждого класса
- Отображение HP с анимацией
### Квесты и локации
- 4 локации: Деревня, Лес, Подземелье, Пещера
- Порталы для быстрого перемещения (клавиша M)
- Система квестов с наградами
---
## 🎛 Управление
| Клавиша | Действие |
|---------|----------|
| **WASD / Стрелки** | Движение персонажа |
| **I** | Открыть инвентарь |
| **M** | Меню перемещения |
| **E** | Взаимодействие |
| **Пробел** | Атака / Пропустить |
| **ESC** | Закрыть меню |
---
## 🏗 Архитектура проекта
```
Рпг/
├── index.html # HTML с Canvas и UI
├── renderer.js # Изометрический рендерер
├── rpg.js # RPG-механики (классы, предметы, статы)
└── game.js # Основная логика игры
```
### Основные модули:
**renderer.js**
- Изометрическая проекция (2:1 соотношение)
- Текстуры тайлов
- Рендеринг персонажей и объектов
- День/ночь, погода
**rpg.js**
- `Character` - класс персонажа
- `Item` - система предметов
- `RPG` - основной класс с getTotalStats()
**game.js**
- Игровой цикл
- Обработка ввода
- UI (меню, диалоги, инвентарь)
- Локации и переходы
---
## 🎨 UI/UX
### Стартовое меню
- Сетка 3x2 с выбором класса
- Иконки классов
- Информация о стартовом оружии
- Кнопка продолжения игры
### Инвентарь
- Сетка предметов
- Слоты экипировки (крупные, справа)
- Подсказки при наведении
- Клик для экипировки
### Боевая система
- Кнопки действий
- Полосы HP
- Отображение урона
---
## 🔧 Технические детали
- **Canvas API** для рендеринга
- **requestAnimationFrame** для игрового цикла
- **localStorage** для сохранений
- **JSON** для данных предметов и квестов
---
## 🚀 Запуск
Просто откройте `index.html` в браузере. Никаких зависимостей не требуется.
---
## 📝 To-Do / Возможности для расширения
- [ ] Сохранение в localStorage
- [ ] Больше врагов и боссов
- [ ] Звуковые эффекты
- [ ] Анимации
- [ ] Система навыков
- [ ] Торговцы
- [ ] Крафтинг