I used to make games a lot as a kid. Most were really just toys. I made this game call Snow Siege which was just two players lobbing snowballs at each other. It's probably similar to Fortnite but 2D. Players would build up forts, and catapult giant snowballs over the enemy walls.
Most of the fun was in building a "physics" engine. Every item had some acceleration and velocity, so it would create this parabola motion when you launch something from a catapult. It was a lot more fun to make than play.
There's also stuff like bullet trajectories. The game making tool we used had a "speed 100" for items shot, but sometimes you want it to go even faster. So we'd use trigonometry to figure out what was the closest item in that bullet's path. Then for more fun, we'd add things like cover, e.g. shooting through low cover meant 50% of bullets went through.
And then AI. So I made a game where you had to raid a base, and a bunch of turrets guarded the entrance. The turrets were tough, had a high rate of fire, long range, but were completely predictable. Then you'd have a team of people who would run out from the woods and fire shots at the turrets, then jump for cover when the turret aimed at them. The AI was fun to figure out, in that the turrets were completely predictable but the team individuals would have some form of randomized personality (aggression, bravery). Some would retreat when wounded, lowering the bravery of others, which might trigger mass retreat. Sometimes the humans won, sometimes the turrets.
Most of these games were not even that fun to play, they were just a whole lot of fun to make. It's about figuring out what happens when I do that? Or how can I improve on this?
Also, yeah, Godot is probably the easiest recommendation for now.