
Building a Game Network Protocol: Reading and Writing Packets - danso
http://gafferongames.com/building-a-game-network-protocol/reading-and-writing-packets/
======
bullen
I disagree: [https://github.com/tinspin/fuse](https://github.com/tinspin/fuse)

~~~
DowsingSpoon
Care to expand on that?

Why do you disagree? What specific points do you disagree with? Is that link
meant to be a counter to the argument that "text formats suck?" If so then how
does it demonstrate this?

If you're saying that your text protocol is good enough for your purposes then
I have to wonder if maybe you aren't doing anything particularly latency
sensitive.

~~~
bullen
Instead of sending 20-30 position/rotation delta packets per second, you could
only send something when there is something to send = some key is pressed
(move forward, strafe left, fire gun).

Imagine Counter-Strike without sending the rotation of the player until he
actually fires his weapon or changes his strafe/run/walk direction.

It works surprisingly well, and with prediction you can't even tell there's a
difference most of the time.

Check out rocket league for a working example.

But with fiber spreading like wildfire because copper is oxidizing globally,
our challenges are not text based protocols:

Latency is not bandwidth. Binary does not travel faster than text.

The only problem we have is peak Moore's law and peak oil hitting
simultaneously, so optimizing and distributing server systems, preferably
decentralizing them into client P2P, is our only challenge.

So my bet is to build a strong async. HTTP backbone now to cater for all
futures = organizing these P2P nodes.

That doesn't mean I'm against binary P2P UDP protocols once IPv6 gets a
critical mass. But that might be never!

Text is better for protocols because humans can read it.

Instead of implementing TCP on top of UDP, let the internet hardware people
implement XYZ under your TCP! Do you think that's ethernet running under the
atlatic ocean?

~~~
bullen
Except this only works if you remove the analogue mouse rotation since the
movement will be impacted by it.

Ignore that Counter-Strike example, I should not write answers at 3 in the
night on a forum that stops editing after a couple of hours, actually nobody
should use a forum like that; here's a forum I built that works like reddit
with 100% read uptime:
[http://talk.binarytask.com](http://talk.binarytask.com)

The caveat of "send on key press/release only" is that you need digital
movement, but it's one that I'm perfectly prepared to accept since it allows
MMO with text based protocol!

Until IPv6 at which point we can build P2P VR MMO (head, hands, eyes, body,
voice etc.)

------
gravypod
I had a system that looked a little like this that I think I might write a
small post about it (after I get some approval from friends).

