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.