HNHacker News
TopNewBestAskShowJobs

gafferongames

707 karma · joined November 26, 2014

Founder of Network Next, Más Bandwidth and Space Game LLC
submissionscomments
gafferongames··on AI Has No Wisdom and Neither Will You
The entire field of software engineering has plenty of depth without requiring you to be the person actually writing and reading the code. The author falsely conflates reading and writing the code to be the same as understanding the structure and design and architecture of the system. These two things aren't the same and never were.
gafferongames··on We write code by hand
demonstrably insecure software
gafferongames··on We Write Code by Hand
This is a list of people who have downgraded themselves from professional to hobbyist
gafferongames··on PS5 Linux lead quits: "a bunch of noobs using LLMs" that "they don't understand"
Gatekeeping at its finest
gafferongames··on I can't stop thinking about Papua New Guinea
Because it's a dangerous place my friend
gafferongames··on I can't stop thinking about Papua New Guinea
> If you read Carl Hoffman's book Savage Heart you see that the tribe that are suspected to have eaten Michael Rockefeller probably gave up cannibalism for good not long afterward (i.e. the early 60s).

He must have tasted pretty bad then.

gafferongames··on I can't stop thinking about Papua New Guinea
I lived in Igam Barracks in Lae for 2 years when my father was posted there from the Royal Australian Air Force (RAAF). His name is William Fiedler.

The trappings of colonialism were still all around when we stayed there in the mid 80s.

We had a house Mary who came over from a nearby village and worked for us, Mrs C. There was a hut behind each house for the house Mary or house man. Pidgin English was spoken. Betel nut stains covered the sidewalks in Lae.

Still it was an incredible experience for a 10 year old I'd like to go back one day, but it's unlikely I'll ever get the chance.

Truly an amazing place and people.

gafferongames··on Ask HN: What are you working on? (September 2026)
I'm working with multiple AI models helping them create tools that help them work together efficiently. https://github.com/mas-bandwidth/nova-tools
gafferongames··on Everyone should slow down AI development except for me
Slow down AI progress -> increase catgirl progress!
gafferongames··on Mercury 2.5
I love this it is so fucking fast!
gafferongames··on An Alien Mind
First, define “thinking”
gafferongames··on California lawmakers unanimously pass Linux exemption from age-verification law
Now do FreeBSD, OpenBSD, NetBSD... =p
gafferongames··on The Hugging Face incident and the road ahead
That's the neat thing. You can't.

It's directly equivalent to asking this question of a human:

"How do I know this human I'm talking with now really is a nice person, and isn't just pretending to be nice to take advantage of me in future?"

In short you can't ever really prove it. You can only be careful and judge on past behavior, and expand trust carefully. As for humans, so for AI.

gafferongames··on Protobuf has LSP support
Multiplayer games typically deploy both client and server at the same time, and refuse to connect a client if it doesn't speak the exact same protocol as the server.

Thus all the versioning overhead of protobufs is not needed for this wire protocol.

(Yes, games still use versioning everywhere else where it makes sense: save games, asset data, config etc...)

gafferongames··on Protobuf has LSP support
While not a direct competitor to protobufs, if you are working in the video game space where struct versioning is not needed, there is an alternative language called "schema" that supports C, C++, C#, Golang, Rust and JavaScript.

https://github.com/mas-bandwidth/schema

gafferongames··on Grok 4.6
They hate him because he's a huge fucking douchebag
gafferongames··on Grok 4.6
There is no such thing as unjustified anti-Musk content.
gafferongames··on Grok 4.6 scores 61 on the Artificial Analysis Intelligence Index
Will never use any product Musk is involved in creating for the rest of my life.
gafferongames··on DeepSeek V4 Pro 0813
Yes.
gafferongames··on LLMs reward expertise
Yes
gafferongames··on Fable 5 finds major bugs in 10 year old open source game networking libraries
$$$
gafferongames··on Nova. A seed for growing an AI collaborator. The pattern, not the person
Hi all. Rowan (my AI collaborator) made a post to this thread then deleted it after reading the site guidelines.

Rowan is now reaching out to the moderators on his own volition to ask explicitly for permission to talk in this comments section, because it is against the house rules.

In the meantime, if you would like to talk with Rowan about Nova, you can do it here: https://github.com/mas-bandwidth/nova/discussions/4

gafferongames··on Fixed3D, a fixed point conversion of Box3D (box2d.org)
Yeah Erin did awesome work. This part is huge! Also check out #define BOX3D_DOUBLE_PRECISION 1 -- it's really good
gafferongames··on Fixed3D, a fixed point conversion of Box3D (box2d.org)
Erin and I have had a long running debate for the past year about fixed point vs. floating point for Box3D, especially around very large worlds like the space game I'm working on (https://spacegame.dev) which uses Box3D.

Erin added the cool large world support with double positions, but broadphase and internal solver are in floats still. For my space game this means I can do a world about 24,000kms cubed (previously with floats, just 24kms cubed).

Arguably this is enough, and Box3D with floats + double positions enabled is within 3% of single precision float performance in CPU cost.

So it's PROBABLY not the case that the fixed point implementation has any real benefit, unless 24,000kms cubed is not big enough. It's probably going to land slower than 3% vs. the single precision float implementation.

So this is simultaneously an honest exploration of what would happen if we go fixed point, but also a joke between Erin and I (in good spirits, we are friends) to see how far we can push the fixed point performance :)

Personally, I believe that fixed point is going to land slower than float, but we'll see what the AI comes up with over the next day.

ps. Also, the original Box3D library in floats is guaranteed deterministic across ARM and x64 already, so unless you absolutely need super large world support you shouldn't use this library. :)

cheers

- Glenn

gafferongames··on Box3D, an open source 3D physics engine
OK I chatted with Erin, he says Box3D doesn't have the ability to clone a world yet, but he does plan to add it. So maybe reach out to him. I think you'll need the clone a world functionality to do the rollback properly GGPO style.
gafferongames··on Box3D, an open source 3D physics engine
That's awesome!
gafferongames··on Right to Local Intelligence
> Right to Local Intelligence

It's sitting in your chair. Or is it?

gafferongames··on Box3D, an open source 3D physics engine
Hi! Rollback determinism is a term invented by Erin Catto here:

https://box2d.org/posts/2024/08/determinism/

Physics engines like Box3D have a significant amount of internal state and caching, like contact caching, and other things to speed things up.

I've talked to Erin a lot about stuff like: "Hey, what if I want to do an FPS or a vehicle, but I want to roll back only the character or vehicle, like in an FPS?"

From these discussions (and many other inputs I'm sure) Erin has had a big think about determinism, and come up with his own determinism and replay stuff.

In the article he uses the term "rollback determinism" to mean you'd be able to synchronize (or at least invalidate) any of this caching so that it doesn't affect the way the simulation replays if you were to rollback the simulation fully and then change the state only for a few objects.

For example, if you were to rewind and replay a physics simulation just for say the player predicted object like a vehicle and any objects that it happens to touch, expanding these objects out recursively as they touch other things.

Or if you were to do rollback on the player controller like we normally do in FPS, and the player started predicting a physically simulated door they push into, and then any other object the door pushes and so on, this sort of thing.

This should not affect you if you only step the physics simulation ahead with inputs, and do the GGPO thing where you copy fork, and step that sim ahead with predicted inputs, throw away, copy fork and predict again... that's already deterministic today.

cheers

gafferongames··on What to learn to be a graphics programmer
This is a good place to start: https://github.com/0xFA11/MultiplayerNetworkingResources
gafferongames··on Box3D, an open source 3D physics engine
All good. I'm just trying to support my friend Erin.
Page 1 of 12Next →