I’m thinking about remaking Bomberminge from scratch, as using prop_dynamics for all the crates scattered on the map was definitely not a good idea, plus it would generate reliable snapshot overflows on large maps with many players.
So I thought about using only one entity which would handle collisions for all players, and draw all the crates clientside. The idea would be to encode the position of every crates into a string, then send it to the client when they join, and update it using usermessages every time a crate is broken.
So far, I can turn a 30x30 grid into a less than 100 characters long string. Better than 900 times god know how many bytes for storing position, angle, color, model, for every crate, right?
Now, is it safe to send this to a client through a usermessage, or should I cut it into smaller parts and send them successively? And most importantly, can I send a usermessage every time a crate is broken, so the client generates gibs and no longer draws that crate? Is there any acknowledgement system that makes sure the client receives that message, or should I attempt to do one myself using concommands?
Yeah, I know I could have tried it by myself, but there is less than one month left to the contest, I didn’t do shit for a month, and I’d like to know if I’m going the right way or not. I have always been absolutely terrible at network optimization, prediction and that kind of stuff.