LiteEntitySystem
API высокого уровня на чистом C# для многопользовательских игр с использованием .NET Standard 2.1.
Дискорд-чат :
Маленький пример игры на Unity
Документация
Строить
NuGet
Релизы
Уведомления об установке вручную
Используйте Roslyn Analyser (внутри AnalyserBinary), чтобы предотвратить ошибки при назначении SyncVars. Изменить можно только SyncVar.Value (никогда не делайте x = new SyncVar())
Функции
- .NET Standard 2.1 и чистый C# (но с некоторой магией IL)
- Может использоваться с Unity (2021.2 и новее), Godot, Monogame или просто с чистым .net.
- Может использоваться для создания любой многопользовательской игры (2d,3d,4d,...)
- Работает с Unity IL2CPP.
- Эпическая скорость
- Компенсация задержки
- Сериализация пользовательских типов (например, строк, списков, массивов, JSON и т. д.)
- Синхронизированные переменные (с дополнительными уведомлениями об изменении)
- Прогнозирование на стороне клиента
- Прогноз появления на стороне клиента (для снарядов)
- Удаленные вызовы процедур (RPC) с проверками во время компиляции
- Система ввода клиента
- Базовая иерархическая система (дочерние элементы, родительские элементы)
- Концепция «контролеров и пешек»
- Система интерполяции
- Синхронизация и ввод состояния с дельта-сжатием
- LZ4-сжатие исходного состояния мира
- Также работает как движок игровой логики.
- LiteNetLib в качестве транспорта по умолчанию, но вы можете реализовать любой другой транспорт.
Зависимости
- LiteNetLib 1.x: https://github.com/RevenantX/LiteNetLib
- LZ4: https://github.com/MiloszKrajewski/K4os.Compression.LZ4
Поддержка разработчика