1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jiangyin-UnityGameFramework

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

Game Framework — это игровой фреймворк, основанный на игровом движке Unity. Он инкапсулирует часто используемые игровые модули во время разработки и в значительной степени стандартизирует процесс, ускоряет разработку и обеспечивает качество продукта.

В последней версии Game Framework есть 19 встроенных модулей, и мы продолжим разрабатывать дополнительные модули для разработчиков игр.

  1. Config — сохраняет некоторые глобальные конфигурации игры, доступные только для чтения, такие как начальная скорость игрока, начальный объём игры и т. д.

  2. Data Node — сохраняет данные произвольных типов в виде древовидных структур для управления различными данными во время выполнения игры.

  3. Data Table — позволяет настраивать таблицы игровых данных в форме предварительно настроенных таблиц (например, листов Microsoft Excel). Формат таблиц можно настроить.

  4. Debugger — отображает окно отладчика при запуске игры в редакторе Unity или в сборке для разработки, чтобы упростить просмотр журналов времени выполнения и сообщений отладки. Пользователь может удобно регистрировать свои собственные функции в окнах отладчиков и использовать их.

  5. Download — предоставляет возможность загрузки файлов. Пользователь может свободно устанавливать, сколько загрузчиков можно использовать одновременно.

  6. Entity — предоставляет возможность управлять сущностями и группами сущностей, где сущность определяется как любой динамически созданный объект в игровой сцене. Показывает или скрывает сущности, прикрепляет одну сущность к другой, например оружие, ездовое животное или захватывает другую сущность. Сущности можно не уничтожать сразу после использования, а сохранять для последующего повторного использования.

  7. Event — механизм прослушивания и выдачи событий в игровой логике. Многие модули в Game Framework выдают встроенные события после завершения операции, что значительно снижает связанность между логическими уровнями игры. Пользователи также могут определять свои собственные игровые логические события.

  8. File System — использует классы, подобные файловой системе, для централизованного управления разрозненными файлами, оптимизируя выделение памяти при загрузке ресурсов и даже позволяя загружать ресурсы локально, что значительно повышает производительность загрузки ресурсов.

  9. FSM — предоставляет функции для создания, использования и уничтожения конечных автоматов. Некоторые игровые логики, подходящие для конечных автоматов, являются хорошим выбором при использовании этого модуля.

  10. Localization — предоставляет функцию локализации, то есть многоязычности. Game Framework поддерживает не только локализацию текста, но и локализацию любых ресурсов, таких как эффекты фейерверков в игре, которые могут быть локализованы на несколько языков, так что в китайской версии будут отображаться эффекты с надписью «新年好», а в английской версии — с надписью «Happy New Year».

  11. Network — предоставляет возможности для использования соединений через сокеты. В настоящее время мы поддерживаем протокол TCP и совместимы с версиями IPv4 и IPv6. Пользователи могут одновременно устанавливать несколько подключений к нескольким серверам для связи, например, помимо подключения к обычным игровым серверам, они также могут подключаться к серверам голосового чата. Если вы хотите подключиться к таким протоколам, как ProtoBuf, просто наследуйте от класса Packet и реализуйте свой собственный класс пакета сообщений.

  12. Object Pool — предоставляет пул объектов для кэширования объектов, избегая частого создания и уничтожения различных игровых объектов и повышая производительность игры. Помимо использования пула объектов в самом Game Framework, пользователи также могут легко создавать и управлять своими собственными пулами объектов.

  13. Procedure — представляет собой конечный автомат, который проходит через весь жизненный цикл игры. Разделение различных состояний игры с помощью процедур является хорошей практикой. Для сетевых игр вам могут потребоваться такие процедуры, как проверка ресурсов, обновление ресурсов, проверка списка серверов, выбор сервера, вход на сервер, создание ролей и т.д., в то время как для однопользовательских игр вам может потребоваться переключение между меню выбора игры и фактической игрой. Если вам нужно добавить больше процедур, просто унаследуйте от ProcedureBase и реализуйте свои собственные процедуры.

  14. Resource — для обеспечения хорошего игрового опыта мы не рекомендуем использовать синхронный способ загрузки ресурсов, поскольку Game Framework уже использует полную асинхронную систему загрузки ресурсов, поэтому предоставляется только асинхронный интерфейс загрузки ресурсов. Независимо от того, простые ли это таблицы данных, словари для локализации или сложные сущности, сцены или интерфейсы, мы будем использовать асинхронную загрузку. Кроме того, Game Framework предоставляет стандартную стратегию управления памятью (конечно, вы также можете определить свою собственную стратегию управления памятью). В большинстве случаев при использовании GameObject вам даже не нужно самостоятельно выполнять операции Instantiate или Destroy.

  15. Scene — предоставляет функции управления сценами, позволяя одновременно загружать несколько сцен или выгружать любую сцену в любое время, что упрощает разделение сцен на части.

  16. Setting — хранит данные игрока в формате ключ-значение и инкапсулирует UnityEngine.PlayerPrefs, или эти данные можно напрямую сохранить на диск.

  17. Sound — управляет звуком и звуковыми группами, позволяя пользователям настраивать громкость звука, является ли звук двухмерным или трёхмерным, или даже привязывать его непосредственно к объекту для перемещения вместе с объектом.

  18. UI — управляет интерфейсом и группами интерфейсов, такими как отображение, скрытие, активация интерфейса и изменение уровня интерфейса. Независимо от встроенного uGUI в Unity или других типов плагинов пользовательского интерфейса (таких как NGUI), просто наследуя от UIFormLogic и реализуя свои собственные классы интерфейса, вы можете использовать его. Интерфейсы можно сохранить для последующего использования после завершения работы, не уничтожая их немедленно.

  19. Web Request — предоставляет возможность использовать короткие соединения, отправлять запросы на сервер с использованием методов Get или Post и получать ответные данные, а также позволяет указать, сколько веб-запросов можно выполнять одновременно. 7. Событие — предоставляет механизм для запуска или наблюдения за событиями в игровой логике. Многие модули Game Framework запускают события после операций, и наблюдение за этими событиями значительно развязывает модули игровой логики. Пользователь также может определять свои собственные события игровой логики.

  20. Файловая система — виртуальная файловая система, основанная на концепции дисков, централизованно управляет разрозненными файлами, оптимизирует распределение памяти при загрузке ресурсов и даже может загружать сегменты ресурсов. Это значительно повысит производительность загрузки ресурсов.

  21. FSM — предоставляет возможность создавать, использовать и уничтожать конечные автоматы. Было бы хорошим выбором использовать этот модуль для некоторой игровой логики, подобной конечному автомату.

  22. Локализация — обеспечивает возможность локализации игры. Game Framework не только поддерживает локализацию текстов, но и активов всех видов. Например, эффект фейерверка в игре можно локализовать как различные версии, так что игрок увидит эффект «新年好» в китайской версии и «Happy New Year» — в английской.

  23. Сеть — предоставляет сокетные соединения, где в настоящее время поддерживается TCP и действительны как IPv4, так и IPv6. Пользователь может установить несколько соединений с разными серверами одновременно. Например, пользователь может подключиться к обычному игровому серверу и другому серверу для голосового чата. Класс «Packet» готов к наследованию и реализован, если пользователь хочет использовать библиотеки протоколов, такие как ProtoBuf.

  24. Пул объектов — предоставляет возможность кэшировать объекты в пулах. Это позволяет избежать частых операций создания и уничтожения игровых объектов и, следовательно, повышает производительность игры. Сама Game Framework использует пулы объектов, и пользователь может удобно создавать и управлять своими собственными пулами.

  25. Процедура — фактически является FSM всего жизненного цикла игры. Было бы очень хорошей привычкой разделять различные состояния игры через процедуры. Для сетевой игры вам, вероятно, понадобятся процедуры проверки ресурсов, обновления ресурсов, проверки списка серверов, выбора сервера, входа на сервер и создания аватаров. Для автономной игры вам, возможно, потребуется переключаться между процедурами меню и реального игрового процесса. Пользователь мог бы добавить процедуры, просто создав подкласс и реализовав класс «ProcedureBase».

  26. Ресурс — предоставляет только асинхронные интерфейсы для загрузки ресурсов. Мы не рекомендуем синхронные подходы для лучшего игрового опыта, и сама Game Framework использует полную систему асинхронной загрузки ресурсов. Всё загружается асинхронно, включая простые вещи, такие как таблицы данных и тексты локализации, и сложные вещи, такие как сущности, сцены и UI. Между тем, Game Framework предоставляет стандартные стратегии управления памятью (и, конечно, вы можете определить свои собственные стратегии). В большинстве случаев вам даже не нужно вызывать «Instantiate» или «Destroy» при использовании экземпляров «GameObject».

  27. Сцена — предоставляет функции для управления сценами. Поддерживает одновременную загрузку нескольких сцен, и пользователю разрешено выгружать сцену в любое время. Поэтому частичная загрузка/выгрузка сцен может быть легко реализована.

  28. Настройка — хранит данные игрока в парах ключ-значение, инкапсулируя UnityEngine.PlayerPrefs или сохраняя данные непосредственно на диск.

  29. Звук — предоставляет возможности для управления звуками и группами звуков. Пользователь может устанавливать свойства аудиоклипа, такие как громкость, является ли клип 2D или 3D, и может даже привязывать клип к какой-либо сущности, чтобы следить за её положением.

  30. UI — предоставляет функции для управления пользовательскими интерфейсами и группами пользовательских интерфейсов, такими как показ или скрытие, активация или деактивация и изменение глубины. Независимо от того, использует ли пользователь встроенный uGUI в Unity или другие плагины UI (например, NGUI), ему нужно только создать подкласс «UIFormLogic» и реализовать свою собственную логику пользовательского интерфейса. Пользовательские интерфейсы могут избегать мгновенного уничтожения. После использования и, следовательно, может быть переработан для повторного использования.

  31. Web Request — предоставляет функции коротких соединений, поддерживает методы GET и POST для отправки запросов на сервер и получения данных ответа, а также позволяет пользователю отправлять одновременные запросы на разные серверы.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Game Framework — это игровой фреймворк на основе движка Unity, который в основном инкапсулирует часто используемые модули в процессе разработки игр. Он в значительной степени стандартизирует процесс разработки, ускоряет разработку и обеспечивает качество продукции. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jiangyin-UnityGameFramework.git
git@api.gitlife.ru:oschina-mirror/jiangyin-UnityGameFramework.git
oschina-mirror
jiangyin-UnityGameFramework
jiangyin-UnityGameFramework
master