552919831428192850242456178c441954c99001
G-WORLD
2D-симулятор убежища с видом сбоку: игрок роет шахты в породе, строит комнаты на сетке и следит за жителями. Визуальный референс — Fallout Shelter.
| Движок | Godot 4.7, рендер Forward+ |
| Язык | GDScript (типизированный) |
| Платформа | Windows (desktop), рендер-драйвер D3D12 |
Быстрый старт
- Установить Godot 4.7.
- Открыть папку проекта из Project Manager (
project.godotв корне). F5— запуск. Главная сцена задаётся в Project → Project Settings → Run.
Плагин addons/godot_ai (MCP-мост для агентов) включается в
Project → Project Settings → Plugins.
Структура репозитория
assets/ # Сырьё: то, что рисуется и звучит. Кода нет.
art/sprites/ # спрайты и атласы сущностей
art/tilesets/ # тайлсеты породы, стен, полов
art/ui/ # графика интерфейса: рамки, иконки, курсоры
audio/music/ # музыкальные треки
audio/sfx/ # короткие звуковые эффекты
fonts/ # шрифты
shaders/ # .gdshader, переиспользуемые между сценами
src/ # Весь код и сцены. Сцена лежит рядом со своим скриптом.
main/ # точка входа: bootstrap-сцена, сборка автозагрузок
autoload/ # синглтоны (EventBus, SaveManager, GameState)
core/ # инфраструктура без знания о геймплее: утилиты, типы
data/resources/ # схемы данных — наследники Resource (RoomDef, ItemDef)
data/tables/ # экземпляры схем — .tres-«база данных» контента
systems/ # симуляция: время, климат, погода, экономика
world/ # убежище: сетка, порода, комнаты, камера, фон
entities/ # жители, предметы и прочие «живые» объекты
ui/screens/ # экраны и HUD целиком
ui/components/ # переиспользуемые контролы
ui/theme/ # Theme-ресурсы и стили
debug/ # дев-консоль, оверлеи, читы
tests/unit/ # Тесты чистой логики (без дерева сцены)
tests/integration/ # Тесты на собранных сценах
docs/ # Проектная документация
ARCHITECTURE.md # слои, правила зависимостей, поток данных
adr/ # ADR: почему приняли то или иное решение
Правила зависимостей между слоями описаны в docs/ARCHITECTURE.md.
Соглашения
- Файлы и папки —
snake_case:game_clock.gd,vault_grid.tscn. - Ноды в сцене и
class_name—PascalCase:class_name GameClock. - Скрипт и сцена одного объекта лежат рядом и называются одинаково:
src/world/vault_grid.tscn+src/world/vault_grid.gd. - Типизация обязательна:
var speed: float = 1.0,func tick(delta: float) -> void:. - Приватное — с подчёркиванием:
_rebuild_cache(),var _cells: Array. - Константы —
SCREAMING_SNAKE_CASE, магические числа выносим в константы. - Переводы строк — LF (см.
.gitattributes), кодировка — UTF-8.
Работа с ассетами
Тяжёлое сырьё (скачанные наборы, черновики генерации) в репозиторий не попадает:
папки kits/ и ai-input/ игнорируются. В assets/ кладём только то, что
реально используется в сборке.
Languages
GDScript
100%