this page hosts the various links to tools/games/resources/anything I find fun, interesting and/or useful.
I describe just enough to explain each link, not going into too much detail unless I feel like commenting on it or if it would otherwise be hard to navigate/understand.
they’re not sorted in any order, but the category links are sorted alphabetically. here are they:
and here’s the button to go back.
noteworthy update: I’m trying out a new and consistent link format, where the title of each resource is its name, followed by 2 dashes (or a long dash- depends on how Jekyll wants to render any of this) and the author(s) of the project. tell me what you think about it in the issues page of this website’s repository! I might’ve also possibly messed up something while changing the links, so if you find any errors on the links please tell me over there too.
jonesforth – Richard WM. Jones
a public domain FORTH system implemented in one x86 file and one FORTH file that also doubles as a tutorial.
rxi
makes really useful and varied libraries, mostly in C and Lua. developer of lite, json.lua, microui, fe and many, many others.
(I am aware that this is a user, not a code repository.)
stb – nothings
the header-only library repository. contains libraries that range from decoding/encoding images and OGG Vorbis audio files to voxel geometry rendering, all in the public domain.
these are either video essays, experiments or playlists of videos
Coding Math
a series of videos on various math topics related to and useful for game development, ranging from physics, to tweening, to a bit of UI. says “ongoing”, but the last video released 7 years ago.
Game Physics Cookbook – Gabor Szauer
a guide on the algebra and math behind physics engines. I don’t like it a lot because it’s written like if it was a highschool class, but it’s nice regardless.
2D Parametric Collision Detection and 2D Rigid Body Collision Response – Robert Fotino
two articles that go on detail about a collision detection algorithm based on parametric equations,
and an impulse-based constraint solver, respectively.
Game Programming Patterns – Robert Nystrom
this book goes over various programming patterns that are useful for game or game engine design.
from the writer of Crafting Interpreters (this book came before it)
…there aren’t as many resources about it as I’d like there to be
Sol on Immediate Mode GUIs – Sol_HSA
a tutorial on a simple IMGUI system in C that also has keyboard focus. it’s written in SDL1, so you might want to translate most calls to SDL 2 or 3.
Immediate-Mode Graphical User Interfaces – Casey Muratori
the video about IMGUIs. recorded in 2005, this state-of-the-art 360p video (haha) is an essay explaining the idea of IMGUIs and why they rock. however, it also mentions some important cons to keep in mind, which I respect.
microui – rxi
can’t mention simple IMGUIs without mentioning this one. it is a tiny IMGUI system written in ANSI C with zero allocations, and it does not depend on a graphics API either, so it can render on anything that is able to draw rectangles and text.
nuklear – the Immediate-Mode-UI community
originally written by Micha Mettke, it is a public-domain, header-only GUI library written in ANSI C, that mantains little state and does not handle OS inputs or windows. it also contains radio buttons, combo boxes, and progress bars, as well as complex graphics functions and basic image handling.
suit – Matthias Richter
an IMGUI specifically designed for the LÖVE game framework. it contains a flexible styling system that allows for drawing just about anything, as well as a layouting system decoupled from the UI itself.
Raytracing in One Weekend –
Peter Shirley,
Trevor David Black,
Steve Hollasch
a public domain (CC0) series of books that teaches the reader how to write a tiny raytracer with more than just circles.
An Introduction to Shader Art Coding – kishimisu
what it says on the tin. does a small overview on the math needed to make shader art while making a small shader.
Building Collision Simulations: An Introduction to Computer Graphics – Reducible
I really like this video. this video builds a particle collision simulation, and goes over various topics to speed it up with a higher amount of particles.
Performance optimizations for voxel graphics – Vercidium
this video goes over various space and performance optimizations you can apply to voxel rendering engines.
you may notice the link’s name above doesn’t match with the video’s title. that’s because I used the title assigned to it by Dearrow because it’s not as clickbait or as sensationalist as the video’s title. I might do the same with some other YouTube links; if the title doesn’t match, it’s likely using Dearrow’s version of it.
this is, straight up, just links to music I like to listen to, with links to the artist and the album the song is from, if applicable. if no official playlist exists, I might make one and put links to that instead.
note: the categories they are in don’t imply they’re only reachable there. it’s just that that was the first place I found the song at.
“We’re approximating 1+1 with this one 🗣️ 🔥 ‼️” - @pedrooou7699
Notes on Music Theory – Bad Diode
an incredibly extensive and comprehensive set of writings on music theory.
warning: this page has a pretty noisy orange background.
muted.io – Sébastien
interactive tools for practicing an instrument, studying specific music concepts informally or just for jamming and kidding around.
An overview on procedural music generation using math and code – Ryan Hedgecock
goes over the basics of generating audio and music using math and code, in a language-agnostic way. Dearrow’d title.
Threaded code explained in C – dramforever
note, this link doesn’t talk about multi-threaded programming, it talks about threaded code which is a whole nother thing.
6502 Instruction Set – Andrew Jacobs (BitWise) (RIP)
A detailed listing of all instructions and their actions/side effects in the MOS 6502 microprocessor.
Wren – Robert Nystrom, ruby0x1 et al.
an elegant, object oriented programming language implemented in “around 4000 semicolons”.
funk – Egor Dorichev
a programming language that only has functions.
Uxn/Varvara – Hundred Rabbits
a really small computing stack, designed to be really resilient, under the idea of permacomputing. Varvara embeds Uxn and extends it with a variable-sized screen, file and console I/O, controller, mouse and keyboard input, audio capabilities, etc.
OCaml – Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez et al.
OCaml is “an industrial-strength functional programming language with an emphasis on expressiveness and safety”. I just like the language.
Uiua – Kai Schmidt
a point-free array-based programming language that reads from right to left and has capabilities for image, gif, audio and files processing, multithreading, sockets and FFI.
Zig – the Zig Software Foundation
an incredibly-explicit programming language with a hyper-comptime approach to metaprogramming. so explicit, you usually have to specify the allocator you want to use in some of its type functions. I’m not sure why I like it, but I do XD
Crafting Interpreters – Robert Nystrom
a book that teaches the reader how to make two interpreters, a treewalk one written in Java and a bytecode one in C for an ad-hoc programming language called Lox. made by the creator of the Wren programming language and the Game Programming Patterns book.
Let’s Build a Compiler – Jack W. Crenshaw
a fifteen-part series written from 1988 to 1995 about writing a compiler from a custom-made language to Motorola 68k assembly language, in Pascal.
Make a Lisp – Joel Martin
a language-agnostic tutorial for making a Lisp-like with tail-call optimization, macros, file I/O and exception handling.
Borrow checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches – Evan Ovadia
an amazing overview on various different memory management strategies, some of them I didn’t know existed lol
note: this link is the same as the author link in the resource just above.
Writing and Compiling a Lisp – Max Bernstein
two really nice series about writing an interpreter for a full-featured Lisp in OCaml, and a compiler for it in C.
Writing a compiler in Ruby, bottom up – Vidar Hokstad
writing a self-hosting Ruby compiler that starts from code generation instead of parsing.
kilo – Salvatore Sanfilippo
a text editor with syntax highlighting and incremental search, implemented in 1000 lines of C code (as counted by cloc
)
Blit – Lobo Torres
a stack-based virtual machine for making “bit art”
Just for Fun. No, Really – Tim Morgan (epic website design right here)
coding, just for fun, is fun. a listing of various projects done for fun :)
tixy.land – Martin Kleppe
an artcoding tool to make small demo-ish graphics in a 16x16 dot matrix with 2 colors, with just 4 variables in a JavaScript function, and max 32 characters (soft limit).
From Nand to Tetris – Shimon Schocken and Noam Nisan
the website that hosts the courses based on the book: The Elements of Computing Systems: Building a Modern Computer from First Principles
The Nand Game – Olav Junker Kjær
a webgame about building a 16-bit computer out of ICs, all made out of nand gates. touches on assembly language and language compilation. based on the book listed above.
EuclideanSpace – Martin John Baker
a website that looks at the mathematics behind various sciences and how they can be written as code. it looks like a 90’s or 2000’s page, which I’m not sure if it’s intended or not, but is a plus from me regardless.
XXIIVV – Devine Lu Linvega
a personal wiki made by one half of Hundred Rabbits. (50 rabbits?)
Build Your Own X – Sarup Banskota and Paul Kuruvilla
contains many tutorials to recreate various technologies from scratch.
snaptoken – Paige Ruten
at the moment it only contains a tutorial to recreate kilo, but it will have two other tutorials: one to write a small Lua interpreter from scratch, and another to make a garbage collector for C.
rxi.github.io – rxi
contains some write-ups for how their tools work, as well as some other interesting algorithms.
Choose a License – GitHub, Inc.
a listing of licenses, their permissions, conditions and limitations, and a full template copy of each. it also explains what might happen if your repository doesn’t have a license.
How to Make a Rhythm Game – fizzd from 7th Beat Games
amazing set of resources to make a rhythm game that isn’t just a Stepmania clone, but rather something more general. done in Unity, but it’s language agnostic.
all dates are in dd/mm/yy format
17/09/24
it has been a while