I love the idea, but it seems like a difficult (but not impossible) limitation. Godot won’t make it even with heavy minification of a hello-world, Raylib is more realistic but I think the 3D rendering on its own already puts it above the limit so even untextured 3D is out. So, 2D or write-your-own-engine.
Well, maybe Raylib 3D might work with a static binary via musl, but at that point I’m pretty sure game design and programming would be small steps at that point.
Most ready-to-use engines simply cannot compete in these kinds of challenges, they have too much “cruft”. Simply exporting an empty project will result in a ~35mb executable.
Funnily enough, SDL might also not be worth it, as the .dll alone will blow the limit. So people will either have to use whatever native win32 API there are, or directx calls, or going with VGA, which will also look era appropriate.
It’s not clear if dynamic linking is allowed or not (considering it’s something you really have to go out of your way to avoid), which is a big difference.
I was also going by some modified Raylib examples (+bindings, Linux, so size is influenced by that) I already had compiled, 1,372,160bytes for the 2D one (no textures/sounds, just collision detection and some polygons). With my original comment I wasn’t even thinking about how dynamic links could be counted for size, only that static linking could be smaller (which isn’t even a guarantee).
EDIT: Actually, the 3D one (yaw_pitch_roll example with plane replaced with a vertex-painted office plant) is smaller after the binary is stripped.
Just the logic .so for one of my Godot projects is significantly big (761,856bytes for something with ~250LoC) though that might be on the bindings or even my compilation settings.
I love the idea, but it seems like a difficult (but not impossible) limitation. Godot won’t make it even with heavy minification of a hello-world, Raylib is more realistic but I think the 3D rendering on its own already puts it above the limit so even untextured 3D is out. So, 2D or write-your-own-engine.
Well, maybe Raylib 3D might work with a static binary via musl, but at that point I’m pretty sure game design and programming would be small steps at that point.
Most ready-to-use engines simply cannot compete in these kinds of challenges, they have too much “cruft”. Simply exporting an empty project will result in a ~35mb executable.
Funnily enough, SDL might also not be worth it, as the .dll alone will blow the limit. So people will either have to use whatever native win32 API there are, or directx calls, or going with VGA, which will also look era appropriate.
It’s not clear if dynamic linking is allowed or not (considering it’s something you really have to go out of your way to avoid), which is a big difference.
I was also going by some modified Raylib examples (+bindings, Linux, so size is influenced by that) I already had compiled,
1,372,160 bytesfor the 2D one (no textures/sounds, just collision detection and some polygons). With my original comment I wasn’t even thinking about how dynamic links could be counted for size, only that static linking could be smaller (which isn’t even a guarantee).EDIT: Actually, the 3D one (
yaw_pitch_rollexample with plane replaced with a vertex-painted office plant) is smaller after the binary is stripped.Just the logic
.sofor one of my Godot projects is significantly big (761,856 bytesfor something with ~250LoC) though that might be on the bindings or even my compilation settings.The best bet is to generate some stuff on the fly or on demand, if you wanna make it 3D