One of the best two player games of my childhood was Dogfight. It’s a true classic, and like many other people I decided I wanted to do a remake, networked and fancied up a bit.
So I start coding up a flight model calculating lift The Right Way from dynamic pressure, proper drag etc and my little triangle is gliding along beautifully, but is it fun? Hell no, it’s horrible to play, flying a plane isn’t simple, it’s a pain in the ass to just keep your triangle in the air.
The original had totally arcade controls, you could do endless loop-da-loops on the spot, you press left and you get an instantaneous change of direction. This is great for gameplay and is satisfying because you feel in control of your triangle.
But it’s horrible to code, your flight model goes from being an elegant relationship between variables to some horrible hacked thing full of conditionals which enables physics at some points like when you stall (aerodynamic stall not engine stall). Maybe I’m being precious but this is about when I start losing motivation to continue, you realise all the horrible little things you’re going to have to write to actually finish a game.
I should just suck it up and get on with it, I want to do the networking side of things as I’ve never touched socket programming and this is like a perfect test case.