Don't make your own game engine [video]
youtube.com
youtube.com
1. Choose a game design to build by copying an existing game loop in a game you like.
2. Build everything you need to make that game.
The "don't make your own game engine" advice applies to not falling into the trap of building a generic game engine before step 1 or 2 — just build the game itself and your "engine" is everything that's needed for that one game.
Oogabooga seems to be their Windows-only set of C libs (including a replacement for the C standard library and a build system) to help people build Windows games, and seems focussed on top-down 2D games. https://github.com/alpinestudios/oogabooga. They intend you to fork the repo and use that as the starting point for your game.
They also mentioned that it includes hot reloading but I don't see anything about that in the docs or repo. It looks like there's a free group that might have a more guided walkthrough here but it's gated behind a sign-up: https://www.skool.com/game-dev/about
The business (or hobby) has gone from depending on people having the technical skill to make a game being the most important thing to having the marketing skill to find an audience as the most important thing.
When I taught in London I gave the physics and sound part of a "game design" course. The undergrads built their own game engine over three years and used it to deliver their final project. They started out with pong and ended up with a full 3D framework with lighting, sound, physics, collisions and object managers. They had to sit through lectures on space partitions, quaternions, graph theory, ray tracing, audio DSP... those kids really went through the mill.
I guess a lot of those students went on to do great things, but around 2015 I noticed a shift where;
1) We couldn't get the recruits with the right maths backgrounds any more. The kids just wanted to do more aesthetic design stuff.
2) Game companies seemed less interested in hiring them. I put that down to a slump in the market, but looking back; the age of the programmer-developer was over. Games engines became like commercial operating systems. You either used Unreal or Unity and the closest to programming you got was with middleware (blueprint and the like) which was mostly template dataflow.
Plus, twenty five years ago a game developer could afford to hire the person with the chops to right a renderer. We used to be able to get people from Cal Tech rolling off aerospace companies after the cold war. Now people with those skills are way too expensive to hire.
Yeah that has resonance here I'm sure. Unless you're in the business of developing game engines, but competition made that a very small space. Oh well, they learned a lot. It'll come in useful eventually.
A lot of people who want to make games get caught up on the engine aspect and never end up making a game because they look at what other engines have and assume that they need those features.
Instead of asking what features their game needs.
So if you're making a game and want to use a custom engine then make sure you only build what your need and not what you want.
In the end i got something that looked kinda pretty if you squint, not a game .
Seriously, some game engines are overkill. Some are not enough. And sometimes, you want the engine to be the difference.
Plenty of games have their own engine.
It's a lot easier to grab a ready made engine like pygame, godot or even Unity and make the damn game first.
Then when you know your concept works you can port it to your custom bespoke engine if it's still a viable idea.