top | item 45663602

(no title)

smlacy | 4 months ago

but ... why?

discuss

order

zamadatix|4 months ago

The mantra for the library is "raylib is a simple and easy-to-use library to enjoy videogames programming." It's for hobbyist, learners, tinkerers, or just those that want to enjoy minimalistic graphics programming without having to deal with interfacing with modern machines yourself.

The default Windows installer bundles the compiler and a text editor to make poking at C to get graphics on the screen (accelerated or not) a 1 step process. Raylib is also extremely cross platform, has bindings in about every language, and has extra (also header only, 0 dependency) optional libraries for many adjacent things like audio or text rendering.

When I first started to learn C/C++ in the 2000s I spent more time fighting the IDE/Windows/GCC or getting SDL/SFML to compile than I did actually playing with code - and then it all fell apart when I tried to get it working on both Linux and Windows so I said fuck it and ignored that kind of programming for many years. Raylib is about going the opposite direction - start poking at C code (or whatever binding) and having it break and worry about the environment later when you're ready for something else.

pjmlp|4 months ago

I never ever bothered to compile SDL/SFML from source, what is so hard dumping the binaries into a folder, set the include paths for the compiler and linker?

Although I may imagine newbies may face some challenges dealing with compiler flags.

kragen|4 months ago

This site is for hackers, which basically means people who like to do things like this. If you can't understand why someone would be interested in this, probably you should remain silent and try to understand hackers rather than commenting.

foota|4 months ago

As someone who was once a child trying to figure out how to compile and link things to use SDL, I think there's some educational value in letting people make games without having to dive deep into how to use C++ toolchains.

SJC_Hacker|4 months ago

If you want to do that, skip C++ entirely and just use Javascript or Python. You can get shiny things really quickly.

HelloNurse|4 months ago

I'd make the opposite argument about educational value. If you learn to compile libraries and programs you have, so to speak, passed an exam: you are ready to "make games" with confidence because you know what you are doing well enough to have no fear of tool complications.

What should be minimized is the accidental complication of compiling libraries and programs, for example convoluted build systems and C++ modules.

aj_hackman|4 months ago

As someone working on a game engine with a multithreaded SSE/NEON implementation of ~GL 1.3 under the hood, this is rad for many reasons other than portability or compatibility. You get full access to every pixel and vertex on the screen at any point in the rendering pipeline. This allows for any number of cool (also likely multithreaded) postprocessing effects that you don't have to shoehorn through a brittle, possibly single-platform shading language and API.

stodor89|4 months ago

Because GPU APIs are a nightmare clustertruck.

mungaihaha|4 months ago

1000x less performance is a bigger clusterfuck

abnercoimbre|4 months ago

I mean this with all the appropriate venom we can muster: this attitude is why software quality is nonexistent.

rererereferred|4 months ago

Why not? The original Doom didn't use a GPU renderer. It should be possible to do simple 3d stuff in today's computers without it.

1313ed01|4 months ago

Even Quake launched with software rendering. Not sure if the first release even had support for any hardware acceleration?

sfn42|4 months ago

The original doom wasn't even proper 3d. It was a sort of 2,5d.

And sure you can do 3d rendering on modern CPUs. It's just better on GPUs. Like thousands of times better.