LiteEntitySystem
API Pure C# HighLevel para jogos multijogador usando .NET Standard 2.1
Bate-papo de discórdia :
Exemplo de joguinho no Unity
Documentação
Construir
NuGet
Lançamentos
Avisos de instalação manual
Use Roslyn Analyzer (dentro do AnalyzerBinary) para evitar erros ao atribuir SyncVars. Apenas SyncVar.Value pode ser alterado (nunca faça x = new SyncVar())
Características
- .NET Standard 2.1 e C# puro (mas com alguma mágica de IL)
- Pode ser usado com Unity (2021.2 e posterior), Godot, Monogame ou apenas .net puro
- Pode ser usado para criação de qualquer jogo multiplayer (2d,3d,4d,...)
- Funciona com Unidade IL2CPP
- Velocidade épica
- Compensação de atraso
- Serialização de tipos personalizados (como strings, listas, arrays, jsons, etc)
- Variáveis sincronizadas (com notificações opcionais sobre alterações)
- Previsão do lado do cliente
- Previsão de spawn do lado do cliente (para projéteis)
- Chamadas de procedimento remoto (RPC) com verificações em tempo de compilação
- Sistema de entrada do cliente
- Sistema hierárquico básico (filhos, pais)
- Conceito de controladores e peões
- Sistema de interpolação
- Sincronização e entrada de estado compactado delta
- Compressão LZ4 do estado mundial inicial
- Também funciona como mecanismo lógico de jogo
- LiteNetLib como transporte padrão, mas você pode implementar qualquer outro transporte
Dependências
- LiteNetLib 1.x: https://github.com/RevenantX/LiteNetLib
- LZ4: https://github.com/MiloszKrajewski/K4os.Compression.LZ4
Desenvolvedor de suporte