Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Бит-пакер для игровых данных на C#

Бит-пакер для игровых данных на C#

X-rusПостоялецwww11 июля 201820:42#0
Хочу значительно уменьшить кол-во передаваемых по сети данных при помощи упаковки по битам. Есть ли какое-нибудь готовое решение? Или может кто сам писал?

Нужно что-то вроде такого:

BitStream.WriteBool(alive); // 1 bit
BitStream.WriteBool(moving); // 1 bit
BitStream.WriteBool(jumping); // 1 bit
BitStream.WriteInt(health, min: 0, max: 100); // 7 bit
BitStream.WriteFloat(positionX, min: 0.0f, max: 100.0f, precision: 0.1f); // 11 bit
Итого: 3 байта против 16 в реализации без упаковки

Sh.Tac.Постоялецwww11 июля 201822:31#1
Lidgren же
ZabПостоялецwww12 июля 201811:38#3
В таких вещах главное - вовремя остановиться. Начиная с какого-то момента надо на C++ переходить, когда танцы с бубном начинают приносить больше проблем, чем помогать автоматика от C#. Не сразу, само собой. Пока в одном месте извернулся, во втором, в третьем - ничего, оно еще окупается.

/ Форум / Программирование игр / Сеть

2001—2018 © GameDev.ru — Разработка игр