"It is also a mistake to think that Id’s games ride on technology alone.
DOOM and Quake aren’t just the minimum work required to make a 3d
and networking engine a game – they are the right game elements as well."
This can't be overstated. Minecraft was successful because it was a fun game, not just because it was new technology. (And say what you will about the implementation, but voxels were extremely rare until Minecraft.)
The key is to find a good game designer, or to become one yourself. Then defer to them on every aspect of the game. Even if you disagree with it, trust them. They're in charge of making it fun.
There's relatively little that's truly new in Minecraft. Both the voxel aesthetic and many aspects of the world and gameplay come from its beginnings as an Infiniminer clone. Notch 'just' made the right adjustments to the formula and then nailed the execution.
Same for Quake. BSP tech came from the field of medicine, for example, and rasterization wasn't new. Quake just did it so much better than anyone else, along with a fun game. As with Minecraft.
BSPs weren't new to the Quake engine (Doom had them). Gouraud shading, lighting, and TCP/IP multiplayer are what made Quake revolutionary for the PC. These things existed on SGIs costing $100k for years before too. The optimizations to make this on a PC is why Carmack is genius.
Not to be pedantic but TCP or UDP? I always thought games preferred UDP as it's much more efficient if you don't care about a fraction of the packages being dropped?
A quick glance at the source @ https://github.com/id-Software/Quake shows some support for both - although I'm seeing more stuff hardcoded to UDP than not. Despite this, amusingly, "TCP" has more search hits than "UDP", due to the frequency of the same 'mistake' as the parent comment, so they're in good company ;) (Other terms to search: "DGRAM", "STREAM".)
UDP's main advantage is the ability to process out-of-order - by sending duplicate state (actually more wasteful in terms of raw bandwidth!) or allowing for a lossy stream of data, your latency won't spike (as much) waiting for previous packets to be retransmitted. This isn't so much about efficiency per se, so much as it is about minimizing response time (even if it is potentially more bandwidth, potentially more CPU, more code, etc.) which matters a lot for some twitchy competitive games.
It's also not going to have any real impact if you're not dropping packets, nor if you're building your own reliable in-order channels atop that (which even the twitchiest game will likely have for some things if they're not using TCP as well - things like in game chat, leaderboards, matchmaking info, telemetry, etc. - a large number of which might use a full HTTP stack these days, if only under the hood of some official SDK, because why not use the same leaderboard server for your game clients and your website?)
And there's the occasional router (edit: or firewall, or other network appliance) that's so terrible, it manages to ship without a properly tested UDP stack, so a full blown TCP fallback isn't the worst idea ever.
IIRC Quake was UDP and sent delta-compressed states of everything up to the last acknowledged receipt. This allowed for dropped packets to not matter as the next packet would have the info missed in the previous, and the game could "catch up".
It's good design, and helped catapult Quake 3 into $billions of revenue. No one had done it quite that way before Carmack. That was long after Quake, however.
"It is also a mistake to think that Id’s games ride on technology alone. DOOM and Quake aren’t just the minimum work required to make a 3d and networking engine a game – they are the right game elements as well."
This can't be overstated. Minecraft was successful because it was a fun game, not just because it was new technology. (And say what you will about the implementation, but voxels were extremely rare until Minecraft.)
The key is to find a good game designer, or to become one yourself. Then defer to them on every aspect of the game. Even if you disagree with it, trust them. They're in charge of making it fun.