megathread: cool links and resources

it’s probably about time to have a general purpose thread for sharing links to libraries, guides, blog posts and the like that are cool and useful for game development. i’ll try to update the main post to organize things in lists if I can, as we get more

engines and frameworks

c#

-GitHub - FosterFramework/Foster: A small C# game framework
small 2d framework from NoelFB, one of the developers behind Celeste. Backed in a small C library for rendering/windowing. it’s also recently added some support for NativeAOT and wasm, making it fairly portable and possibly futureproof for console publishing.

-GitHub - isadorasophia/murder: Murder is a pixel art ECS game engine.
ECS based engine with a fairly robust visual editor for 2D games, including map editor, collisions, and some narrative design tools.

c

-GitHub - floooh/sokol: minimal cross-platform standalone C headers
collection of individual single header libraries for core elements of game running. a bit like assembling your own SDL alternative from pieces.

-GitHub - raysan5/raylib: A simple and easy-to-use library to enjoy videogames programming
all-in-one single header library for making games with an incredibly simple, small, and intuitive API. just a handful of functions and struct types that contain nicely on a single cheatsheet.

etc

-GitHub - domeengine/dome: A lightweight game development environment where games can be written in Wren
functions a bit like love2d but built around the game-oriented Wren scripting language

libraries

lib: the KDL document language
-GitHub - kdl-org/kdl: the kdl document language specifications
this is a pretty neat library i’d like to try out - it’s basically just an alternative to something like XML or JSON - but basically tailored to be good for games? Looks like there’s support for a bunch of languages too. it has a super simple syntax that you can read and write easily by hand. the clean syntax makes it feel like it would be easy to adapt it to other things, for example writing a dialogue tree in kdl that can be walked by your game like a ‘script’ directly. it even has comments… cries in json…

lib: cute.h
-GitHub - RandyGaul/cute_headers: Collection of cross-platform one-file C/C++ libraries with no dependencies, primarily used for games
single-file, single header c libraries that are ancillary to game engines, for things like specific types of asset loading or simple collision

posts and articles

blood.church - making your own engine
just ran into these blog-articles talking about the how-and-why of designing custom game engines for your projects:
-making your own engine: a survey of the landscape
-what is to be done: custom engines and the death of unity
both of these posts lead into a third post putting those ideas into practice to actually build an engine ontop of FNA. It also includes a pretty good example and explanation of how to work with and think in an ‘ECS’ pattern, if you haven’t tried to program in that style yet. this article is SUPER long and indepth-but covers basically all the elements of an ‘engine’ that go beyond what simple gfx frameworks provide, like rolling your own collision system, handling ‘spawning’ and ‘destroying’ things, etc. there are lots of little dropdown asides that explain tech/code jargon too, which is useful for newer coders. very very good informational read overall
-making a simple shoot-em-up with FNA and MoonTools.ECS

farawaytimes - how to make good small games
-Far Away Times: How To Make Good Small Games
Neat article examining the purpose of “Promises” as defining a relationship between the designer and player, and ways of justifying it to understand scope.

added a section for engines and frameworks, mostly the lesser-known ones. currently sorted by language. would love to compile more later on but its a start

I would like to share this article, I think it’s really good

good idea, added! We actually had a bit of discussion on this very article over in this thread - Okay, let's talk about making tiny games and why it's easier said than done.

Oh, would you look at that! I’ll definitely take a look.