Repolode
m969

m969/EGamePlay

Лёгкий фреймворк для боевой системы и навыков в Unity на основе Entity-Component с настройкой через ScriptableObject или таблицы Excel.

Звёзды
2,401
Форки
544
Открытые issues
1
Последний коммит
26 дней назад

Что это?

EGamePlay — фреймворк для боевой системы и навыков в играх на Unity. Он представляет боевые сущности, способности, навыки, баффы и эффекты состояния в виде компонентов. Благодаря этому игровую логику можно собирать и расширять, не прописывая каждый навык вручную.

Навыки можно настраивать двумя способами: через ресурсы ScriptableObject с помощью инструментов Odin Inspector или через таблицы Excel, экспортируемые в JSON и классы конфигурации. Навык состоит из конфигурации способности и объекта выполнения, который управляет отображением на экране. Он прикрепляется к CombatEntity и активируется через SpellComponent.

В версии 3.0 код runtime переработан с использованием фреймворка EcsNode: логика отделена от данных, а бизнес-логика — от логики отображения. В репозитории есть демо RPG и сцена редактора связей выполнения навыков.

Ключевые возможности

  • 01Архитектура Entity-Component отделяет логику навыков от данных и отображения.
  • 02Навыки и баффы можно настраивать через ресурсы ScriptableObject или таблицы Excel.
  • 03Включает окно редактора навыков и сцену для отладки связей выполнения.
  • 04В комплекте есть демо-сцена RPG.
  • 05Можно перенести в существующие проекты Unity или фреймворк ET.

Сценарии использования

  • Создание систем навыков и способностей для боевой системы action RPG или MMORPG.
  • Реализация баффов, дебаффов и эффектов состояния в игре на Unity.
  • Настройка навыков дизайнерами через таблицы Excel или ресурсы ScriptableObject.

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

  1. 1

    Откройте проект в Unity 2022.3.53f1 (версия указана на значке README)

  2. 2

    Запустите сцену RpgExample, чтобы посмотреть демонстрацию RPG

  3. 3

    Запустите сцену ExecutionLinkScene, чтобы отлаживать и редактировать навыки

Что важно знать

  • Для работы требуются платные плагины, используемые в проекте (Odin Inspector, DOTween Pro, Animancer Pro).
  • Проект рассчитан на Unity 2022.3.53f1 и помечен в README как находящийся в разработке.
  • Перенос в другие проекты Unity не проходит без проблем и может потребовать ручного устранения конфликтов.
  • Большая часть документации и обсуждений ведётся на китайском языке.

В подборках

Темы

#unity#gameplay#skill-system#buff#rpg#entity-component#scriptableobject#game-development#editor#framework

Частые вопросы

Что такое EGamePlay?
Лёгкий фреймворк для боевой системы и навыков в Unity на основе Entity-Component с настройкой через ScriptableObject или таблицы Excel. EGamePlay — фреймворк для боевой системы и навыков в играх на Unity. Он представляет боевые сущности, способности, навыки, баффы и эффекты состояния в виде компонентов. Благодаря этому игровую логику можно собирать и расширять, не прописывая каждый навык вручную.
EGamePlay можно использовать бесплатно? Какая у него лицензия?
EGamePlay распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
EGamePlay всё ещё поддерживается?
Активно поддерживается. Последний коммит в EGamePlay — 12 окт. 2026 г..
Для чего можно использовать EGamePlay?
Создание систем навыков и способностей для боевой системы action RPG или MMORPG. Реализация баффов, дебаффов и эффектов состояния в игре на Unity. Настройка навыков дизайнерами через таблицы Excel или ресурсы ScriptableObject.
Как установить EGamePlay?
Откройте проект в Unity 2022.3.53f1 (версия указана на значке README) Запустите сцену RpgExample, чтобы посмотреть демонстрацию RPG Запустите сцену ExecutionLinkScene, чтобы отлаживать и редактировать навыки
Где скачать EGamePlay?
Исходный код и инструкции по установке — на GitHub: https://github.com/m969/EGamePlay

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Интеграция async/await без аллокаций для Unity: позволяет ожидать Unity AsyncOperations, корутины и события, выполняясь в PlayerLoop без потоков.

11,3 тыс.+14 за неделю1 тыс.C#MITОбновлён в прошлом месяце