@@SkyFly19853 Sorry, not possible. Every platform requires specific platform/os libraries and PS1 is not on the list... but, by coincidence, yesterday a homebrew library for PS4 development using raylib was released: github.com/orbisdev/orbisGl2
Hey Ray, how is the performance on a RasPi 3? I've been following some engines and frameworks because I want to make native games for Raspberry/Orange Pi. Raylib is one of those. Would I be able to make something like Mario 64 or anything comparable to a N64 game but with higher resolution? What are your plans for raynet?
@@masterneme I think performance is pretty good on the RPI3, I believe you can do something similar to N64 games... actually I believe you can even do it for RPI0. About raylib network module, still under development, I'm not an expert on network programming...
@@raylibtech That's awesome, thanks! And for networking, I recommend you check out ENet, is a very cool library. I've played a lot of FPS, back in the day I liked to try any free Quake 3 clone I found. There's one called Cube 2: Sauerbraten using ENet and the performance is very good. Godot and Löve2D use ENet too so, that's something.
Surprisingly, this library was completely feasible 20 years ago (it also supports OpenGL 1.1 from 1992 if required) but I neither had it back at the day and so, I created it.
@@raylibtech And it's quite cool. Though it would be nice to have a software rendering fallback so it could be ported to devices without opengl support or hw acceleration for that matter. I mean stuff like 16bit gaming consoles or DOS. EDIT: Obviously it would be only for 2d aspect of the library since software rendered 3d never performs well.
To clarify, the raymarching example is only 114 lines because all of the models and rendering are defined in a GLSL fragment shader that is 430 lines long. The raylib code shown in the video only sets up a fullscreen quad and renders the shader to it.
Never knew about this library, it looks great and the cheatsheet is awesome! It reminds me somehow of the Processing library. Thank you for the discovery :)
Been using it for two days, it's really straightforward to get things done in this thing. I'm enjoying it a lot. I really dislike PascalCase though (more so than camelCase), but I'm using Nim bindings so I can just rename everything in the wrapper to my liking. :)
Weathervane is reserved for someone who just turns with the wind without an agenda, often negatively connotated. I know that's not what you meant, so let's collect better terms: Lighthouse Trailblazer Detective On the bleeding edge Guru Curator
Cool! I used to write a gamedev lib based on SDL2, but it was buggy, I had to put a lot of time into which. Now raylib is what I expect, it's time to say goodbye to my poor SDL code base!
In ray marching, no geometric objects are ever created, it's all expressed in math directly in the shader, so that example doesn't showcase anything other than you can write fragment shaders.
This library is very easy to port to other languages, I have been using it in Dolphin Smalltalk and I plan to make a video soon to show how cool it is to use from Dolphin, having features like live-editing code and immediately seeing the changes in the running game.
I would continue with love2D. I find lua to be more easy graspable than C/C++. Also Love is easy to setup than raylib. I struggled to get raylib working and making new projects need Messing around with config files. Anyway I like both of them because both of the communities are awesome, kind and helpful. Check both of their discord servers. But for starters, I'd recommend love2D because as a beginner myself I still end up in love2D because it's awesome.
i learned LÖVE first and am glad i did! but raylib is a much more capable platform that has very high potential at the cost of being a bit harder to debug and work in.
@@karimjerbi7084 I think i'll just stick with LÖVE like the others are saying. I just don't want to be put in a corner down the road. I'm one to invest time and effort into something if I can see some more value and I always saw Raylib as a good way to learn C++. But I could just be seeing too much value in C++.
I think I might try this one. No, the cheatsheet is not all I need. It did not tell me what model formats it supports (OBJ, MTL, IQM and GLTF btw), and it does have raymath. Oh, something else, bindings are not up to 3.0 yet. The bindings do not seem to have a clear way to pick what modules to use anyway. C and C++ is the way to go. (There are some weird and interesting binding, btw, from Cobol to PHP, not that I'd advice to use them)
I find it ironic, here's a nice C library that abstracts away from all of the tedious backend source code which is great in itself, but I was searching for stuff in the other direction such as learning to use Vulkan to write the backend stuff and this shows up in my recommended list...
So over half the video is you reading the release notes? I stopped before getting to 5:25 where you actually look like you're doing something outside the web browser, because I can read. Perhaps you should look at your UA-cam metrics, and see which parts people actually come here for? I'm going to guess it's not the "reading the website" part.
Can't wait to check it out. I noticed that this section for Mac OS is out of date (incorrect file locations) github.com/raysan5/raylib/wiki/Working-on-macOS#build-newest-development-snapshot-from-source (this is probably not the right place to ask) but it would be great if someone updated it
Anything inspired by anything Borland made is a good choice. Anyway, could you make a video about Castle Game Engine, about the only game engine for Pascal/Delphi developers?
I like raylib, but hate the way it installs straight to your C drive whether you want it there or not. I don't install anything to C if I can help it. That is the only down point.
I just don't like notepad++. I tried setup raylib previous version with sublime-text some time ago, and it wasn't straightforward. I hope new version will be more easy.
I am learning c++ and was planning to jump into javidx9's olcPixelGameEngine 2.0 to learn the basics of how to develop in c++. It is also a single header file include. How would these two compare? (olc vs raylib)
Dont know about you, but to me it seems raylib relies way too much on examples. I tried to find core statements of some functions, and found basically nothing. Same thing with structures. Am I missing something?
I don't think starting out with this is a very good idea. Have a go at "The C Programming Language" book, and read all the chapters up to and including Chapter 6. Make sure you solve all the exercises at the end of each lesson. Do not skip any of them, as you will be missing out on critical thinking patterns. After you are done with that, try Raylib.
Is it ready for a full 3D game? Even with simple shaders? I want to make something particular but i want to know how complex is the geommetry it supports and its performance.
Performance is near what you would get with using OpenGL directly. As for complex geometry it can draw anything you can express as a mesh of triangles. Tho a lot of work is needed at this low level to do impressive things in 3D.
@@Mautar55 It depends on the platform it is compiled for, it seams to support OpenGL 1.1 or 2.1 or 3.3 and OpenGLES 2.0(for mobile GPUs) If you want to take full advantage of the modern OpenGL features you might have to do a few calls directly to OpenGL (It allows you to do that, but can break things if not careful)
A very odd question, to be honest. You may get sources for UE4 and you may get sources for RayLib. That means that you may combine them. I think that will be quite hard. But... why?
meidarrr it’s a prebuilt library built on OpenGL, for implementing into you own engine, you wouldn’t use it in something like Unity or Unreal, raylib is kinda one level below commercial engines
I tried the "default empty white window with nothing in it" and it used about 25% of 1 CPU core (so its about 4%-5% if you have 6 of them) and 10% GPU (GTX 1060) while doing absolutely nothing. Am i doing something wrong or is that the way to go nowadays? It cant be real that an empty window uses more power than Games like Warcraft3 (not reforged) (it's old I know. It's just for caomparison). Besides that its a really good project. Easy to setup, easy to use.
raylib has 3 different configurations to manage game loop timming, one of them being a busy while loop, very stable but keeps querying cpu for time so the high-cpu usage. There is another option using system interrupts (sleep()) but unfortunately time resolution is not accurate and consequently there could be time-deviations and result in frame stuttering. Default active solution is a mix of both.
if you could slow down a bit when u talk. I feel I am in a race. anyhows, many people have macs and would love to know of a simple way to make basic games in c++ but it wasn't clear from the video on the process for macs.
It's not written in C++17 or newer? The code hasn't ever been updated to use newer syntax and compilation? It uses C like opengl? C99 in 2020 is not a very good advertising point, kind of killed it there for me immediately and also tells me I'm going to have to create my own C++ wrappers around it which feels awkward same as opengl.
I don't think you know what you're talking about. C99 is great because is likely to be efficient, straightforward, and reliable. What do people actually do with new C++ features? Immediately shoot their project in the foot by writing unmaintainable garbage. Also, why would you need to write your own bindings when it comes with all the bindings... My background is more in scientific computing than than game development, but there is a reason that Python slingers today still rely all on old school C, C++ and Fortran underneath for things like their linear algebra libraries, BLAS and LAPACK, etc... Using a fancy new language because it is a fancy new language is just plain not a good justification. Python is a nice glue language, but while many Python programmers insist it can be as fast as C, I don't see them writing a native ML library. Even if you want to look at big flagship ML frameworks, e.g. TensorFlow is almost all C with Python bindings. There are also important older C libraries that don't play too nice with the latest C++, for instance GMP actively discourages the use of auto. Probably things will get better with time, but when I hear a project is using a newer C++ version it makes me rather concerned about it's ability to really be 1) cross platform, 2) efficient, 3) reasonably human parsable, 4) existing 10 years from now. Of course a number of these things are not language features, but rather survivorship bias... but that bias biases me towards old C and away from fancy schmancy projects touting the latest (but not necessarily greatest) C++. ... There's even a decent chance it compiles as valid C++ 17 anyway, so I don't get the complaint. Having a library in code that will compile and run correctly in as many places as possible almost certainly trumps utilizing the latest syntax sugar for library code. C++ 17 makes your life easier, but both languages are Turing Complete and the bindings are there... I think your complaint is pretty silly. Frankly, a lot of C++ is about adding overhead, ideally they like to keep that overhead at compile time rather than runtime, and ideally to keep it minimal, but there is no getting around the fact conveniences like shared pointers cost you somewhere. The benefit is that it is less likely for the developer to screw up. Library code is a bit different than everyday code though. Many people will use it and it need only be implemented once, so putting in developer time to get those things right and as efficient as possible is more likely to be worthwhile. So you don't need the new C++ features. But if you just use a subset of C++ 17, you could make it equally efficient, right? Well, yes, but less portable to systems with older and/or specialized compilers. If you don't want to support those as a game dev, that's up to you, but it is prudent for a library to support as many as they reasonably can.
Link:
www.gamefromscratch.com/post/2020/04/01/Raylib-30-Released.aspx
So, we can also make PS1 game too because of C language provided by this app?
I am sorry to ask you again, but we can also use this app with Cython too?
@@SkyFly19853 Sorry, not possible. Every platform requires specific platform/os libraries and PS1 is not on the list... but, by coincidence, yesterday a homebrew library for PS4 development using raylib was released: github.com/orbisdev/orbisGl2
Hey! Thank you very much for this amazing raylib 3.0 review! You are the best! :D
Raylib, I made some video tutorials about the Raylib Framework. I am very grateful for what you've made.
Hey Ray, how is the performance on a RasPi 3? I've been following some engines and frameworks because I want to make native games for Raspberry/Orange Pi. Raylib is one of those. Would I be able to make something like Mario 64 or anything comparable to a N64 game but with higher resolution? What are your plans for raynet?
@@masterneme I think performance is pretty good on the RPI3, I believe you can do something similar to N64 games... actually I believe you can even do it for RPI0. About raylib network module, still under development, I'm not an expert on network programming...
@@raylibtech That's awesome, thanks!
And for networking, I recommend you check out ENet, is a very cool library. I've played a lot of FPS, back in the day I liked to try any free Quake 3 clone I found. There's one called Cube 2: Sauerbraten using ENet and the performance is very good.
Godot and Löve2D use ENet too so, that's something.
Hey, I just became your subscriber #300. Post some videos to your channel, let's see some tutorials!
If I only had this 20 years ago. Oh how things have changed.
20 years ago we had BGI ;)
Surprisingly, this library was completely feasible 20 years ago (it also supports OpenGL 1.1 from 1992 if required) but I neither had it back at the day and so, I created it.
When you weren’t born twenty years ago
lol, so true.....
@@raylibtech And it's quite cool. Though it would be nice to have a software rendering fallback so it could be ported to devices without opengl support or hw acceleration for that matter. I mean stuff like 16bit gaming consoles or DOS.
EDIT: Obviously it would be only for 2d aspect of the library since software rendered 3d never performs well.
To clarify, the raymarching example is only 114 lines because all of the models and rendering are defined in a GLSL fragment shader that is 430 lines long. The raylib code shown in the video only sets up a fullscreen quad and renders the shader to it.
Which, along with some social features, was plenty enough functionality for ShaderToy to become the force of nature it is today.
I'm really glad someone pointed this out, its a bit misleading for viewers who don't know about this
I'm so glad that it's not April 1st's joke
Had to go straight to the comments when I saw the date on this
*i t s j o k e*
Oh wow ! That looks amazing. I've been using SFML for a while but this looks very powerful and slightly more low level. Thank you !
Never knew about this library, it looks great and the cheatsheet is awesome! It reminds me somehow of the Processing library. Thank you for the discovery :)
This library is amazing - it is so much easier than SDL to use. Love it.
Been using it for two days, it's really straightforward to get things done in this thing. I'm enjoying it a lot.
I really dislike PascalCase though (more so than camelCase), but I'm using Nim bindings so I can just rename everything in the wrapper to my liking. :)
I just made some video tutorials about Raylib C/C++ and I'm making more.
Yeah! I saw them! Very nice! :D
I like that Raylib is all C code. We need more tutorials on some good app design with C.
C is one of my favorite programming languages.
@@ccricers Agreed
If there is ever a weathervane for really amazing gaming related stuff, then you sir are IT. Seriously. Much respect from Vegas.
Weathervane is reserved for someone who just turns with the wind without an agenda, often negatively connotated.
I know that's not what you meant, so let's collect better terms:
Lighthouse
Trailblazer
Detective
On the bleeding edge
Guru
Curator
@@alexnoman1498 Oh you're THAT GUY telling people how they should interpret things. Well at least we know you're THAT GUY.
Cool! I used to write a gamedev lib based on SDL2, but it was buggy, I had to put a lot of time into which. Now raylib is what I expect, it's time to say goodbye to my poor SDL code base!
raylib is a fucking blast to work with! Excellent lib! Thank you for bringing this up.
This looks simpler than SDL2. I'll give it a try.
SDL not simple enough?
Anything is simpler than SDL. :)
Woo! Raylib! Recently fell in love with it myself and wrote the Raylib Go Plus bindings for more options :D
Rust bindings! Awesome!
This is awesome. I really would like to learn C++ and Python with this, Thank you!
In ray marching, no geometric objects are ever created, it's all expressed in math directly in the shader, so that example doesn't showcase anything other than you can write fragment shaders.
This library is very easy to port to other languages, I have been using it in Dolphin Smalltalk and I plan to make a video soon to show how cool it is to use from Dolphin, having features like live-editing code and immediately seeing the changes in the running game.
Dammit. Started learning LOVE2D because I wasn't sold on raylib but now you got me curious again.
Anyone else have this issue?
I would continue with love2D. I find lua to be more easy graspable than C/C++. Also Love is easy to setup than raylib. I struggled to get raylib working and making new projects need Messing around with config files.
Anyway I like both of them because both of the communities are awesome, kind and helpful. Check both of their discord servers.
But for starters, I'd recommend love2D because as a beginner myself I still end up in love2D because it's awesome.
i learned LÖVE first and am glad i did! but raylib is a much more capable platform that has very high potential at the cost of being a bit harder to debug and work in.
I think they are pretty hard to compare cause lua is pretty simple while c/c++ can be quite painful
@@alexstone691 Truth. I'll take that into consideration
@@karimjerbi7084 I think i'll just stick with LÖVE like the others are saying. I just don't want to be put in a corner down the road. I'm one to invest time and effort into something if I can see some more value and I always saw Raylib as a good way to learn C++. But I could just be seeing too much value in C++.
this looks amazing :)
prepared to make a video on unigine , they are going to have an free version
Wow that is massively over due but interesting
Great video! Informative.
P.S. Can you please do new BabylonJS tutorials?
I know SDL 2, Allegro 5 and SFML.
I wish this existed during the xna days 😩. Right now i got hooked on Godot 😩😩😩
raylib is mostly the result of trying to create an XNA version in C. I loved XNA.
It exists now. As the old old Picard said "Do now, make now, create now... Now is your time".
seems like a cool way to go back to code :)
i think i will builld an editor for raylib
I think thats the whole point of Raylib. its for people who just want to code and not use any GUI editors.
ThE ShAdoW nice
@@Imreness Unless you're making something super trivial you're gonna want an editor of some sort.
@@ThePreyBrigade i gonna make an editor
That would be a cool thing to colaborate with.
do you have Raylib C++ tutorials ?
Awesome. I'm gonna check this out. Thanks.
I think I might try this one.
No, the cheatsheet is not all I need. It did not tell me what model formats it supports (OBJ, MTL, IQM and GLTF btw), and it does have raymath.
Oh, something else, bindings are not up to 3.0 yet. The bindings do not seem to have a clear way to pick what modules to use anyway. C and C++ is the way to go.
(There are some weird and interesting binding, btw, from Cobol to PHP, not that I'd advice to use them)
Wow, this look amazing!
great video dude keep going
This in a way reminds me of the simplicity pygame. Easy to understand but hard to master
I find it ironic, here's a nice C library that abstracts away from all of the tedious backend source code which is great in itself, but I was searching for stuff in the other direction such as learning to use Vulkan to write the backend stuff and this shows up in my recommended list...
I was convinced it was april's fool!
If it's a C-based library, you can (probably) use it in iOS with an Objective-C project (probably Swift too).
I believe it runs on iOS? It runs on Mac and Android already...
is raylib only for 2D games or is there 3D bossibilities as well?
looks like a really amazing tool by the way
So over half the video is you reading the release notes? I stopped before getting to 5:25 where you actually look like you're doing something outside the web browser, because I can read.
Perhaps you should look at your UA-cam metrics, and see which parts people actually come here for? I'm going to guess it's not the "reading the website" part.
Don't be such a prick, He's just highlighting features about the software...
Please do a video on the *GDC Relief Bundle* that is currently on itch .io for the next 2days.
Wow, BGI! That takes me back.
Can't wait to check it out. I noticed that this section for Mac OS is out of date (incorrect file locations) github.com/raysan5/raylib/wiki/Working-on-macOS#build-newest-development-snapshot-from-source (this is probably not the right place to ask) but it would be great if someone updated it
Feel free to correct it yourself, the Wiki is open. Just make sure it will work for most of the use cases.
im already learning gdscript one language at a time😂
Godot 3.2.1 is good! :-)
same here
Anything inspired by anything Borland made is a good choice.
Anyway, could you make a video about Castle Game Engine, about the only game engine for Pascal/Delphi developers?
I like raylib, but hate the way it installs straight to your C drive whether you want it there or not. I don't install anything to C if I can help it. That is the only down point.
Agreed 100%
does it support multiple opengl contexts?
I just don't like notepad++. I tried setup raylib previous version with sublime-text some time ago, and it wasn't straightforward. I hope new version will be more easy.
You can use an actual IDE like Qt Creator which helps greatly programming
I am learning c++ and was planning to jump into javidx9's olcPixelGameEngine 2.0 to learn the basics of how to develop in c++. It is also a single header file include. How would these two compare? (olc vs raylib)
Dont know about you, but to me it seems raylib relies way too much on examples. I tried to find core statements of some functions, and found basically nothing. Same thing with structures. Am I missing something?
Will this help me for Unreal?
If you're learning C++ then yes.
Doesn't even use OpenGL 4 though, no vulkan or dx12 either. Check out BGFX
Actually good video was released at 1st of april.
Is it a good option for learning C and / or C++?
I don't think starting out with this is a very good idea. Have a go at "The C Programming Language" book, and read all the chapters up to and including Chapter 6. Make sure you solve all the exercises at the end of each lesson. Do not skip any of them, as you will be missing out on critical thinking patterns. After you are done with that, try Raylib.
Yes, play with it and have fun
RayLib not working!
It says undefined reference to Functions like clearbackground and etc plz help
This is too good to be true 😭
I want to practice programming programming just to learn not for job
Do I practice with raylip c++?
Or python pygame?
raylib c (not c++)
Does it have vulcan support?
I do not believe so but it wouldn't shock me for it to arrive
Is it ready for a full 3D game? Even with simple shaders? I want to make something particular but i want to know how complex is the geommetry it supports and its performance.
The best way is to modify one of the examples by yourself to see the performance :-)
Performance is near what you would get with using OpenGL directly.
As for complex geometry it can draw anything you can express as a mesh of triangles. Tho a lot of work is needed at this low level to do impressive things in 3D.
@@berni8k I see, it has no complex drawers, only model and animation loaders. Wich version of opengl it uses? Or depends of the shader loaded?
@@Mautar55 It depends on the platform it is compiled for, it seams to support OpenGL 1.1 or 2.1 or 3.3 and OpenGLES 2.0(for mobile GPUs)
If you want to take full advantage of the modern OpenGL features you might have to do a few calls directly to OpenGL (It allows you to do that, but can break things if not careful)
Can use raylib libraries in unreal engine or cry engine?
A very odd question, to be honest.
You may get sources for UE4 and you may get sources for RayLib. That means that you may combine them. I think that will be quite hard.
But... why?
I wanted to know does it useful for UE4 development since raylab is supposed to be source of libraries. Or I didn't get what is supposed to be.
meidarrr it’s a prebuilt library built on OpenGL, for implementing into you own engine, you wouldn’t use it in something like Unity or Unreal, raylib is kinda one level below commercial engines
gower1973 I see. Tnx for info.
I see barely any UA-cam tutorials on it which is a shame... Not even udemy has any.
I tried the "default empty white window with nothing in it" and it used about 25% of 1 CPU core (so its about 4%-5% if you have 6 of them) and 10% GPU (GTX 1060) while doing absolutely nothing. Am i doing something wrong or is that the way to go nowadays? It cant be real that an empty window uses more power than Games like Warcraft3 (not reforged) (it's old I know. It's just for caomparison). Besides that its a really good project. Easy to setup, easy to use.
raylib has 3 different configurations to manage game loop timming, one of them being a busy while loop, very stable but keeps querying cpu for time so the high-cpu usage. There is another option using system interrupts (sleep()) but unfortunately time resolution is not accurate and consequently there could be time-deviations and result in frame stuttering. Default active solution is a mix of both.
So how low-level is this compared to SDL?
imho they are equivalent, but raylib is not as battle-tested as SDL and has less features and compatibility. I use SDL and i'm pretty happy with it.
@@youtube_video_patrol thanks really helps.
RayLib is easier but SDL is more mature and powerful.
For small games RayLib probably will be enough.
Raylib is mostly a thick simplifed wrapper around OpenGL
if you could slow down a bit when u talk. I feel I am in a race. anyhows, many people have macs and would love to know of a simple way to make basic games in c++ but it wasn't clear from the video on the process for macs.
Why would I invest in a framework which uses OpenGL under the hood in 2020?
Why not, especially when OpenGL is truely cross platform. Neither Metal nor Direct X has so much power and versatility
Thomas Benardo because it’s dated, “high-level/overhead” and it has its successor?
How do you know that you like it? What have you done with it that you can expertly recommend it?
GFS: Maybe you are new to raylib
UA-cam captions: Maybe you are new to Ray lemon
Lol UA-cam XD
1:55 cat going wild?
cool
will go into example for examples... for example lets look into this physics example... lets not say example for examples 🤣👌
Too late for me. I dumped C++ for Python 15 years ago
I see C i click
more like:
I C, I click
ios is C#, so i guess the C# binding is supposed to be the ios support ? :D
Example.
Bro, li-BRAR-y. Not li-BERRY.
It's not written in C++17 or newer? The code hasn't ever been updated to use newer syntax and compilation? It uses C like opengl? C99 in 2020 is not a very good advertising point, kind of killed it there for me immediately and also tells me I'm going to have to create my own C++ wrappers around it which feels awkward same as opengl.
I don't think you know what you're talking about. C99 is great because is likely to be efficient, straightforward, and reliable. What do people actually do with new C++ features? Immediately shoot their project in the foot by writing unmaintainable garbage. Also, why would you need to write your own bindings when it comes with all the bindings... My background is more in scientific computing than than game development, but there is a reason that Python slingers today still rely all on old school C, C++ and Fortran underneath for things like their linear algebra libraries, BLAS and LAPACK, etc... Using a fancy new language because it is a fancy new language is just plain not a good justification. Python is a nice glue language, but while many Python programmers insist it can be as fast as C, I don't see them writing a native ML library. Even if you want to look at big flagship ML frameworks, e.g. TensorFlow is almost all C with Python bindings. There are also important older C libraries that don't play too nice with the latest C++, for instance GMP actively discourages the use of auto. Probably things will get better with time, but when I hear a project is using a newer C++ version it makes me rather concerned about it's ability to really be 1) cross platform, 2) efficient, 3) reasonably human parsable, 4) existing 10 years from now. Of course a number of these things are not language features, but rather survivorship bias... but that bias biases me towards old C and away from fancy schmancy projects touting the latest (but not necessarily greatest) C++. ... There's even a decent chance it compiles as valid C++ 17 anyway, so I don't get the complaint. Having a library in code that will compile and run correctly in as many places as possible almost certainly trumps utilizing the latest syntax sugar for library code. C++ 17 makes your life easier, but both languages are Turing Complete and the bindings are there... I think your complaint is pretty silly.
Frankly, a lot of C++ is about adding overhead, ideally they like to keep that overhead at compile time rather than runtime, and ideally to keep it minimal, but there is no getting around the fact conveniences like shared pointers cost you somewhere. The benefit is that it is less likely for the developer to screw up. Library code is a bit different than everyday code though. Many people will use it and it need only be implemented once, so putting in developer time to get those things right and as efficient as possible is more likely to be worthwhile. So you don't need the new C++ features. But if you just use a subset of C++ 17, you could make it equally efficient, right? Well, yes, but less portable to systems with older and/or specialized compilers. If you don't want to support those as a game dev, that's up to you, but it is prudent for a library to support as many as they reasonably can.
Also, is there some special reason you needed to write your own OpenGL bindings? Plenty exist already, e.g. GLUT
C doesn't need anymore updates. It's perfection.
3rd
dude these games are trash lol