I just ran into raylib (because I’ve been reading a ton of HN blogs) and it’s making me dream of Programming With the Joy of a Thirteen Year-Old. All I wanted to do when I was 13 was make games and raylib looks like a fun way to do it.
I read the homepage, played a few games, and then read their source. Here’s what I love
- You write in “easy” C. I searched for pointers and signs of dynamic memory and found none in the simple games I read. I’m sure it’s there in more complex games, but they aren’t making you use pointers just to get started
- It runs in the browser. It’s C, so it’s expected that it would be cross-platform, but it can also compile to something that runs in the browser.
- No external dependency philosophy. Dependencies are just future tech debt.
- No (or very little) magic. It’s just a library. Games are mostly a loop of reading the controller, updating some state, and rendering that state. That logic is very clear in raylib code.
- Simple games are simple. I played three classic games and then read their source. They were each one file and followed similar logic.
- There’s is more to it. Once you progress from the simple stuff, it looks to be full-featured with other things you might want in a game library. But, you don’t need to use any of it at first.
I might play around and see where I can get with Nebulous.