← Home

Just discovered Raylib

@date=2025-06-30
@tags=gamedev, programming

Pasted image 20250707124943.png

I have recently started diving into Unreal Engine. The reason being I wanted to turn this game: https://neverall.itch.io/jewel-defender into a high quality 3d explosion fest co-op game on steam.

I want to get fireballs, and particles and all that, but with a high frame rate and snappy arcade controls.

So, I needed performance. Looking at Godot, it wasn't really there, and Unity has left a bad taste in my mouth regarding their business decisions, and beyond that, I didn't really like the UI of working with Unity when I tried to make a game with it.

I have been plodding through a udemity guide to Unreal using C++, and also I just watched a video on building flappy bird with Unreal using blueprints.

What I have come to the conclusion of is that I HATE learning these UIs. When I watch people make things with game engines, it seems like they just knew how to navigate the infinite maze of menus to select just the right pieces to use, and knew already how to configure them.

What I witness is something that takes a few seconds to achieve in a video which I know comes from orders of magnitude more time reading documentation and keeping up on system design changes.

Ugh.

So, reflecting back, I have made some games in Javascript and in Lua. These are things that I have gotten done and released into the world. Hell, I even made a MMO pirate game in javascript with networking and all (https://constantsail.com)

What have I achieved in game engines has been a bunch of false starts, lots of youtube watching, and just generally disappointment.

This is clearly why I am a programmer and not a designer. I hate working with UIs.

But, now I need to figure out how to put on my big boy pants and make a Steam worthy game that people will drop money on.

Now, prior to getting into Unreal, I was experimenting with https://lovr.org/. I figured this would be great because it was in Lua, which comes really easy for me, and would make porting over Jewel Defender just a matter of updating api calls, and making 2d models be 3d, but I was experiencing build issues on my Intel based Mac, and also came to the conclusion that the project didn't have enough contributors to use.

I also considered SDL, but that seemed scary at first with needing C++ which I am not super familiar with, and the framework also seemed a bit hard to dive into.

In either case, I was looking at circling back on it after deciding to move away from unreal engine, but in the process of exploring I stumbled upon Raylib, https://www.raylib.com, which seems to achieve a lot of what SDL does, but with a simpler API and bindings for a bunch of different languages. It seems to be lightning fast, and browsing through the examples, it covers all of my use cases, and I have no trouble understanding what is going on codewise.

I also watch some game showcases, https://www.youtube.com/watch?v=i7isROcHwWE, and it hit me as to one of the other reasons I wanted to do things in code rather than in a game engine. Game engines provide you a fairly direct path to developing a game, and really make it so anything outside that path comes with effort.

But, with you are coding freeform, you decide how everything looks and is rendered. Everything becomes less cookie cutter.

And this is really evident in that game showcase. Many of those games would be far removed from what they would look like if they came out of a game engine. Yes, they are all achievable (maybe), but they wouldn't be what would likely come out the other side.

As far as language, I think I am going to hit c first instead of lua as the performance is really great in c: https://www.reddit.com/r/raylib/comments/15jy1x3/raylib_bunnymark_benchmark_with_100k_bunnies/

but maybe I will flip back to lua if it ends up faster to build with.