Files
Hommie_RPG_Game/README.md
Maxim Dolgolyov 593a0b6943 docs: add README with full project description
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 01:23:37 +03:00

7.7 KiB
Raw Blame History

3D Hommie RPG — Выживание в большом городе

Браузерная 3D RPG о выживании бездомного в большом городе. Управляй персонажем от первого лица, зарабатывай деньги, строй укрытие, прокачивай навыки и борись с опасностями улицы.


Скриншот

Запустите игру через браузер — Three.js рендерит сцену прямо в <canvas>.


Технологии

Технология Версия Назначение
Three.js 0.160.0 3D-графика и рендеринг
Vanilla JavaScript ES6+ модули Игровая логика
HTML5 / CSS3 UI и стили
Node.js / Serve Локальный dev-сервер

Зависимости от сторонних фреймворков (React, Vue и т.п.) отсутствуют. Three.js подключается через CDN (jsDelivr) с Import Maps.


Быстрый старт

# Клонировать репозиторий
git clone https://git.dolgolyov-family.by/maxim.dolgolyov/Hommie_RPG_Game.git
cd Hommie_RPG_Game

# Установить зависимости
npm install

# Запустить локальный сервер
npm start

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

Важно: игра требует HTTP-сервер (не открывать index.html напрямую через file:// из-за ES6-модулей).


Управление

Клавиша Действие
W A S D Движение
Мышь Обзор камеры
E Взаимодействие
I Инвентарь
Q Квесты
K Навыки
Tab Карта / компас
B Попрошайничать
G Играть на улице (музыка)
H Построить укрытие
Space Атака / отбиться
F Взять предмет
M Меню
Esc Пауза

Игровые системы

Выживание

  • 6 характеристик: Здоровье, Голод, Тепло, Настроение, Гигиена, Деньги (₽)
  • Характеристики убывают со временем в зависимости от погоды и сезона
  • Расходуемые предметы восстанавливают параметры

Экономика

  • Попрошайничество и уличная музыка — случайные пожертвования
  • Доска объявлений — 7 видов подработок (мыть машины, раздавать листовки, разгружать товары и др.)
  • Сбор и сдача бутылок
  • Крафт и продажа предметов
  • Репутация влияет на цены в магазинах и размер оплаты труда

Строительство укрытия

Постройте и улучшайте лагерь из 5 модулей:

Модуль Эффект
Крыша Защита от осадков
Кровать Восстановление при сне
Печка Обогрев
Дверь Защита от врагов
Склад Расширенное хранение

Прокачка персонажа

  • 4 ветки навыков: Собирательство, Попрошайничество, Выживание, Торговля
  • XP-система с экспоненциальным ростом требований к уровню
  • Навыки меняют игровые модификаторы (шанс сбора, размер пожертвований и т.д.)

Репутация

  • Шкала от 100 до +100
  • Влияет на диалоги с NPC, цены, опасность и возможности подработки

Опасности

  • 4 типа врагов: бандиты, воры, пьяные, члены банды
  • Ночью и при низкой репутации враги появляются чаще
  • Укрытие с дверью — безопасная зона

Погода и сезоны

  • Динамическая погода: ясно, дождь, снег, туман
  • 4 сезона по 7 игровых дней
  • Температура влияет на скорость потери тепла и голода

Квесты и достижения

  • Система квестов с отслеживанием прогресса и наградами
  • 25+ достижений в 5 категориях: выживание, социальное, экономика, бой, исследование

Компаньон

  • Можно найти и приручить собаку, которая следует за игроком

Сохранение

  • Локальное сохранение/загрузка прогресса
  • Пункт «Продолжить» в главном меню

Структура проекта

3D_Hommie_Rpg/
├── index.html              # Точка входа
├── editor.html             # Редактор карты
├── css/
│   └── style.css
├── js/
│   ├── main.js             # Инициализация
│   ├── game/
│   │   ├── Game.js         # Главный контроллер и игровой цикл
│   │   ├── Player.js       # Персонаж и характеристики
│   │   ├── Camera.js       # Камера от первого лица
│   │   ├── World.js        # Генерация мира и освещение
│   │   ├── UI.js           # HUD, меню, диалоги
│   │   ├── Inventory.js    # Инвентарь и предметы
│   │   ├── Equipment.js    # Экипировка (4 слота)
│   │   ├── Housing.js      # Строительство укрытия
│   │   ├── Skills.js       # Навыки и прокачка
│   │   ├── Reputation.js   # Репутация
│   │   ├── QuestSystem.js  # Квесты
│   │   ├── Achievements.js # Достижения
│   │   ├── Events.js       # Событийная система
│   │   ├── NPC.js          # Неигровые персонажи
│   │   ├── Dog.js          # Компаньон-собака
│   │   ├── Dangers.js      # Враги и ИИ угроз
│   │   ├── Police.js       # Полицейские патрули
│   │   ├── Weather.js      # Погода
│   │   ├── Seasons.js      # Сезоны
│   │   ├── Particles.js    # Частицы (огонь, дождь, снег)
│   │   ├── SoundManager.js # Аудио
│   │   ├── SaveSystem.js   # Сохранение
│   │   ├── JobSystem.js    # Подработки
│   │   └── Interiors.js    # Интерьеры локаций
│   └── editor/
│       └── MapEditor.js    # Редактор уровней
├── data/
│   └── map-config.json     # Конфигурация карты
├── textures/               # 3D-модели и текстуры
└── package.json

Лицензия

MIT License — свободное использование, изменение и распространение.


Автор

Maxim Dolgolyov — git.dolgolyov-family.by