PFE_Unity
2D top-down action/RPG шутер, пересобранный в Unity 6 из оригинальной ActionScript 3 (Flash) игры — с парсером бинарных SWF с нуля и пайплайном контента по принципу «базовая игра как мод».
PFE_Unity — 2D top-down action/RPG шутер, пересобранный в Unity 6 из оригинальной ActionScript 3 (Flash) игры. Сохраняет оригинальный геймплей — логику оружия с 30fps frame-accumulator, контурную/border-mask отрисовку тайлов, стриминг комнат с буфером замороженных комнат — заменяя Flash-рантайм на современную DI-архитектуру.
Ключевая инженерная особенность — пайплайн контента: базовая игра сама является первым модом (pfe.base), а контракт ModAPI без зависимостей позволяет сторонним модам добавлять оружие, юниты, комнаты и предметы через AssetBundle с автоматическим неймспейсингом ID.
Собственный бинарный парсер SWF (683 строки) читает оригинальный Flash-код на уровне битов и передаёт редактору импортеры, конвертирующие данные в Unity ScriptableObject и спрайты. Архитектура использует VContainer DI, MessagePipe события (zero-alloc), R3 реактивный UI и UniTask async с ITimeProvider для детерминированных тестов боя.
Key features
- Точный порт AS3 Flash action/RPG в Unity 6 — сохранена 30fps frame-accumulator логика оружия и контурный рендеринг.
- Пайплайн «базовая игра как мод» через контракт ModAPI без зависимостей.
- Автоматический неймспейсинг ID (rifle → pfe.base.rifle) и разрешение конфликтов Additive/Override.
- Парсер бинарных SWF с нуля (683 строки) — конвертация Flash-ресурсов в Unity ScriptableObject/спрайты.
- VContainer DI + MessagePipe (zero-alloc) + R3 + UniTask.
- Абстракция ITimeProvider для детерминированных тестов боя на уровне кадров.
- Процедурная генерация комнат, физика 2D, мульти-оружейный бой (дальний/ближний/магия/метательное/рукопашный).
- 42 NUnit-теста: Combat (12), Map (15), RPG (9), Inventory, Play-mode интеграция.