I’m using Raylib-go and i love it. This framework gives you just the right amount of abstraction, so you have all of fundamental blocks of functionality for all basic aspects of the engine (that’s made very easy), yet you are not bound to the engine, you are free and productive
I've had some limited exposure to SDL couple years back and it felt ancient. No wonder there is such demand for a simple unifying API with bindings for a lot of languages that's also not older than you. Where else are these people supposed to go?
SDL is very nice IMO but yeah, it only abstracts so far and there's some learning involved in just using it. Docs are great though and tutorials been around for years
For reasons to use a library like RayLib over Godot or unity I would also add that the skills are more transferable. Let’s be honest most us won’t end up as commercial game devs but learning C++ translates very well in most programming jobs.
There are a lot of design choices like this, and like the other commenter pointed out Ray is not going to change them. He has an overly stubborn and asinine view on LOTS of things, which is why I do not use Raylib. Its a solid idea, screwed up by one mans insistence on being retarded.
What I'd add to the library vs GUI engine is it really matters if you are working on the game solo, or if you need to collaborate with non-programmer artists. If you are collaborating with artists and level designers, the GUI is more for them than for you. Level designers need a "Halo Forge Mode," if you will.
It uses the so called Star Engine, which, at this point, is basically a heavily modified version of Lumberyard which in itself was a heavily modified version of CryEngine.
Nice. I'm starting my learning journey with OpenGL, C/C++ and more low level gamedev. What libraries do you generally use for getting the opengl functions and creating windows/context? I've seen people recommending a GLFW + GLAD setup.
@iknowwhoyoupretendiam That's great! I use GLFW with GLEW now, used to use GLAD but I don't really think it matters much. GLEW is just always the same whereas GLAD needs to be customized for each usecase. I made a basic demo with only X11 through GLX, was fun but I don't recommend it for serious usecases
I've been messing with raylib for the past week and was excited when I realized how easy it was to load and render a 3d model. But as soon as I tried to add lighting I hit a brick wall and couldn't do it. The basic lighting example program works but when I add my own model it won't light it. So I dug into the code and it appears no less complicated than doing it straight in opengl. Perhaps even moreso because raylib is automatically assigning uniforms and it's a huge pain in the ass to figure out what the hell is going on or what is going wrong.
@@PixelThorn Well I didn't find it usable for doing 3d stuff for the reasons above. It has a lot of really good things about it though. It comes with an editor that is simple and convenient, and a lot of example programs, including custom shaders that have good educational value even if you don't plan on using them directly. It also has a lot of features that are useful, and the overall interface is much more user-friendly than using SDL for example. Basically it has a lot of boilerplate stuff pre-packaged that can save you the burden of doing yourself. However, in order to customize things, if you aren't already familiar with how those things are done, you will have to take the time to figure out both how they work and how Raylib is implementing them. In my own case I decided to just learn OpenGL and figure out how to load models and apply lighting from scratch. Which I've been able to do finally, but has been a lot of unpleasant work.
I've been playing with raylib for pure and simple 2D gaming and it's a blessing. It simply does not get in the way, takes care of the annoying boilerplate code you'd need witrh other solutions, let you focus on the game itself. But maybe for 3D games it's not the right answer, and something like Godot or Unity would work better.
Thanks! I mostly tutorial related videos in python using raylib and explain it as clearly as possible so it can be implemented in any language. I have been using Odin recently which is a C like language.
that comparison with game engines isn't very apt. yes obviously something like raylib is awesome for getting into game engine programming without building absolutely everything from scratch, but if you set out to make an actual *game*, you're going to end up reimplementing the same patterns and abstractions present in pretty much every game engine ever in some shape or form. it doesn't really mean anything that it's "more familiar" to a non-videogame programmer, because making any game that holds up to any sort of modern standard (not talking about AAA, this applies to anything that sells as a game on steam for at least a dollar, or something you see made for a 48 hour game jam) will require you to learn how to program a *game*, which is something very complex and deep, which programmers with experience in other fields might see as very alien. so in any case, what you'll be doing will be unfamiliar. a proper game engine (i.e. Godot) allows you to only need to get familiarized with some basic abstractions like scenes and nodes (which typically exist in other engines with names such as rooms and entities), but not have to deal with any of the heavy lifting that requires months if not years of study like collision, lighting, shading, rendering, optimization, and so on. the programming itself is exactly the same, thus the barrier of entry ends up being far lower than if you had to code your own game from scratch.
raylib seemed all fine and dandy to me until I tried to add lighting to a test model then I couldn't get it to work. Looks like to get it to work I have to not only know how to do it from scratch in opengl but also figure out what raylib is doing automatically vs what it isn't, and where the data is going which is considerably difficult.
@Luno2137 hey pal, when the guide says to include everything but some obscure advice from someone nobody notices actually solves it then ask yourself why is nobody explainig it? See at this point if you had anything to add to the topic you would rip through linking, preprocessor and versions but nah. You dont know it either yet you don't ask about it. All you have is the 3 days information I gave you so you take that and say uhhh my guy uhh bud uhh guy you not good. Jeez dude go ahead explain C++ linking in VS GO AHEAD DO IT RIGHT NOW HIC RHODOS HIC SALTA. RIGHT FU NOW
I’m using Raylib-go and i love it. This framework gives you just the right amount of abstraction, so you have all of fundamental blocks of functionality for all basic aspects of the engine (that’s made very easy), yet you are not bound to the engine, you are free and productive
I was hoping that would be the case and it very initially appeared that way until I tried to add lighting to a model and couldn't get it to work.
@@undeadpresident I've found that it's counter-intuitive in Go to do shader stuff because you gotta get into the "unsafe" package.
And unfortunately there is no web support
It's simple, easy to embed using C FFI. Handles most of what is needed.
And also because of tsoding.
tsoding is a genius.
TSODING FAN ❤
Raylib is also good for statistical and simulation visualization when there is a lot of particles and nodes
I just started learning go and I plan to use raylib for gui elements of programs and experiments more than I do games.
I've had some limited exposure to SDL couple years back and it felt ancient. No wonder there is such demand for a simple unifying API with bindings for a lot of languages that's also not older than you. Where else are these people supposed to go?
Me too, I was not compatible with SDL, but Raylib YES!
SDL is very nice IMO but yeah, it only abstracts so far and there's some learning involved in just using it. Docs are great though and tutorials been around for years
For reasons to use a library like RayLib over Godot or unity I would also add that the skills are more transferable. Let’s be honest most us won’t end up as commercial game devs but learning C++ translates very well in most programming jobs.
i wish the C bindings didn't clash with Windows API, preferably had some sort of optional rl_ prefix
Yep, doesn’t seem like something Ray is going to add tho
There are a lot of design choices like this, and like the other commenter pointed out Ray is not going to change them. He has an overly stubborn and asinine view on LOTS of things, which is why I do not use Raylib. Its a solid idea, screwed up by one mans insistence on being retarded.
The API and bindings are all open-sourced. Find and replace all instances, re-compile, and done. I think it is worth it.
Cos tsoading using it lol?
cos he's the only one you know whose using it lol?
exactly lmao
For me that is 100% true. ;-)
I don't even know who that is 😂
@@CitizenCoder check it out, quality over everything else
What I'd add to the library vs GUI engine is it really matters if you are working on the game solo, or if you need to collaborate with non-programmer artists. If you are collaborating with artists and level designers, the GUI is more for them than for you. Level designers need a "Halo Forge Mode," if you will.
I use Bevy and want to transition to just wgpu, ECS and my utils
does bevy give you too much overhead? i.e. performance concerns
@@encentaber6653 no. i just don't like frameworks - i prefer having just what i need
I think start citizen uses lumber yard
It uses the so called Star Engine, which, at this point, is basically a heavily modified version of Lumberyard which in itself was a heavily modified version of CryEngine.
Raylib will probably surpass pygame in popularity.
Currently learning networking programming using raylib, and Rust™
Raylib is nice but for more serious projects I either use OpenGL directly or rarely SFML
Nice. I'm starting my learning journey with OpenGL, C/C++ and more low level gamedev.
What libraries do you generally use for getting the opengl functions and creating windows/context? I've seen people recommending a GLFW + GLAD setup.
@iknowwhoyoupretendiam That's great! I use GLFW with GLEW now, used to use GLAD but I don't really think it matters much. GLEW is just always the same whereas GLAD needs to be customized for each usecase. I made a basic demo with only X11 through GLX, was fun but I don't recommend it for serious usecases
support for windows.h?
There is a workaround to use window.h with raylib. Raylib uses some of the same name conventions as windows.h.
@@chris_php Yea ,Can you show me the workaround?
I believe you have to use cmake to create the workaround. But I don't use Linux so I'm not entirely sure.
I've been messing with raylib for the past week and was excited when I realized how easy it was to load and render a 3d model. But as soon as I tried to add lighting I hit a brick wall and couldn't do it.
The basic lighting example program works but when I add my own model it won't light it. So I dug into the code and it appears no less complicated than doing it straight in opengl. Perhaps even moreso because raylib is automatically assigning uniforms and it's a huge pain in the ass to figure out what the hell is going on or what is going wrong.
So what's the Conclusion? Don't use Raylib?
@@PixelThorn Well I didn't find it usable for doing 3d stuff for the reasons above.
It has a lot of really good things about it though. It comes with an editor that is simple and convenient, and a lot of example programs, including custom shaders that have good educational value even if you don't plan on using them directly.
It also has a lot of features that are useful, and the overall interface is much more user-friendly than using SDL for example.
Basically it has a lot of boilerplate stuff pre-packaged that can save you the burden of doing yourself.
However, in order to customize things, if you aren't already familiar with how those things are done, you will have to take the time to figure out both how they work and how Raylib is implementing them.
In my own case I decided to just learn OpenGL and figure out how to load models and apply lighting from scratch. Which I've been able to do finally, but has been a lot of unpleasant work.
I've been playing with raylib for pure and simple 2D gaming and it's a blessing. It simply does not get in the way, takes care of the annoying boilerplate code you'd need witrh other solutions, let you focus on the game itself. But maybe for 3D games it's not the right answer, and something like Godot or Unity would work better.
So its like a Util? well at that size its a framework i guess...
If you do more raylib/c++ videos I might join(pay money)
Thanks! I mostly tutorial related videos in python using raylib and explain it as clearly as possible so it can be implemented in any language. I have been using Odin recently which is a C like language.
Good f**king question!
that comparison with game engines isn't very apt.
yes obviously something like raylib is awesome for getting into game engine programming without building absolutely everything from scratch, but if you set out to make an actual *game*, you're going to end up reimplementing the same patterns and abstractions present in pretty much every game engine ever in some shape or form.
it doesn't really mean anything that it's "more familiar" to a non-videogame programmer, because making any game that holds up to any sort of modern standard (not talking about AAA, this applies to anything that sells as a game on steam for at least a dollar, or something you see made for a 48 hour game jam) will require you to learn how to program a *game*, which is something very complex and deep, which programmers with experience in other fields might see as very alien.
so in any case, what you'll be doing will be unfamiliar. a proper game engine (i.e. Godot) allows you to only need to get familiarized with some basic abstractions like scenes and nodes (which typically exist in other engines with names such as rooms and entities), but not have to deal with any of the heavy lifting that requires months if not years of study like collision, lighting, shading, rendering, optimization, and so on. the programming itself is exactly the same, thus the barrier of entry ends up being far lower than if you had to code your own game from scratch.
raylib seemed all fine and dandy to me until I tried to add lighting to a test model then I couldn't get it to work. Looks like to get it to work I have to not only know how to do it from scratch in opengl but also figure out what raylib is doing automatically vs what it isn't, and where the data is going which is considerably difficult.
Yeah coming from 3 days of trying to set up SFML and their obnoxous forums and staff
If it took you 3 days to set up SFML you’re more than likely not ready to create a game with either of the frameworks bud
@Luno2137 hey pal, when the guide says to include everything but some obscure advice from someone nobody notices actually solves it then ask yourself why is nobody explainig it? See at this point if you had anything to add to the topic you would rip through linking, preprocessor and versions but nah. You dont know it either yet you don't ask about it. All you have is the 3 days information I gave you so you take that and say uhhh my guy uhh bud uhh guy you not good. Jeez dude go ahead explain C++ linking in VS GO AHEAD DO IT RIGHT NOW HIC RHODOS HIC SALTA. RIGHT FU NOW
I loved it until I wanted to attempt to develop a basic 3d game
Yeah when it comes to 3D you will have to start using opengl in order to have the scene lit and such