RayLib 5 Released - The Easiest C/C++ Game Library Just Got Even Better

Поділитися
Вставка
  • Опубліковано 5 січ 2025

КОМЕНТАРІ • 155

  • @gamefromscratch
    @gamefromscratch  Рік тому +6

    Links
    gamefromscratch.com/raylib-5-0-released/
    -----------------------------------------------------------------------------------------------------------
    *Support* : www.patreon.com/gamefromscratch
    *GameDev News* : gamefromscratch.com
    *GameDev Tutorials* : devga.me
    *Discord* : discord.com/invite/R7tUVbD
    *Twitter* : twitter.com/gamefromscratch
    -----------------------------------------------------------------------------------------------------------

  • @raylibtech
    @raylibtech Рік тому +214

    Hey Mike! Thank you very much for another great video and sharing the raylib news! Thanks! :D

    • @rayecast
      @rayecast 10 місяців тому +7

      Hey @raylibtech! Thank you for your amazing work!

  • @toffeethedev
    @toffeethedev Рік тому +210

    Best library I've ever used and an absolutely perfect reference for how open source software & their APIs should be designed

    • @echoptic775
      @echoptic775 Рік тому +1

      Wgat games did u make and publish with it?

    • @igorthelight
      @igorthelight Рік тому +8

      @@echoptic775 Any 2D game, simple 3D game.
      There is no Editor, so be aware of that! ;-)

    • @igorthelight
      @igorthelight Рік тому +4

      @Red_Paper6495 True! xD
      Am I mistaken about Editor tho?

    • @igorthelight
      @igorthelight Рік тому

      @Red_Paper6495 Same for almost all game frameworks. It's fine for a small project and not so fine even for a medium one ;-)

    • @mmj-video-logs
      @mmj-video-logs Рік тому +5

      Their source code organization is a mess IMHO.

  • @tellsackett4572
    @tellsackett4572 9 місяців тому +8

    You’re pulling my leg: you’re telling me this is a simplistic-in-design, C-compatible, open-source, highly portable/adaptable, well-documented, Linux-compatible (AND BSD compatible TO BOOT) set of graphics libraries that even has 3D capabilities!! It sounds BEAUTIFUL; thanks for covering this!

  • @lyghtkruz
    @lyghtkruz Рік тому +19

    Thanks for bringing this to my attention. I was developing my own engine using LibSDL once upon a time in c++ for GNU/Linux and Windows. I've been using Godot for a few years now, but if I ever feel the need to scratch that c++ itch, this looks pretty amazing.

  • @krank23
    @krank23 Рік тому +21

    I'm using the C# bindings for Raylib when teaching programming… an absolute godsend! Most other graphics librarties require tons of boilerplate or tooling (looking at you, monogame) but Raylib Just Works. My students can just add the dependency to their projects, dotnet restore, and be up and running with really a bare minimum of code.

    • @psyience3213
      @psyience3213 Рік тому +2

      There's a problem of unnecessary complexity in at least C++ libraries (i've never done c#).

  • @edwoodgrant
    @edwoodgrant Рік тому +28

    The SDL backend is pretty imporant, much more thna just a testbd.That's because SDL is ported to almost everthing, including modern consoles.
    So having that backend enabled should allow for console export, which, of course, is pretty neat!

  • @ChrisLeeW00
    @ChrisLeeW00 Рік тому +13

    My body relaxed as soon as you went to dark mode 😅

  • @disekjoumoer
    @disekjoumoer Рік тому +17

    I've been wanting to get into Raylib for about 2 years now. Now, I think I will.

    • @echoptic775
      @echoptic775 Рік тому +4

      Wait a few more years, i think the version 10 is gonna be awesome😅

    • @zezinhoportugues2186
      @zezinhoportugues2186 9 місяців тому

      you are just hater@@echoptic775

  • @mission-toast
    @mission-toast Рік тому +5

    Thanks for bringing this to my attention! Up until now, I hadn't heard of RayLib. I've always been curious how a pure C-based framework might perform vs. the alternatives.

  • @rubberduckdebug
    @rubberduckdebug Рік тому +11

    raylib and the other ray libraries are awesome. been using them for my Noita inspired falling sand engine. super amazing stuff

  • @beegdigit9811
    @beegdigit9811 Рік тому +9

    The function names are so clean and the "c header" reference makes it so easy to play around with

  • @ar_xiv
    @ar_xiv Рік тому +10

    Another thing to note about the installer is the included templates for other common code editors like sublime text etc.

  • @psyience3213
    @psyience3213 Рік тому +12

    This is an absolute gem for me. As someone who programs as a hobby, I'm always hesitant to really start delving into a whole framework just to do, sprites, or whatever. I like the lower level programming and and design of things, and i always find myself just going to python when i want to graphics or GUI's or whatever because it's just so much freaking easier. But I dislike the control you lose from going to C++ to python. I like making own dynamic arraylists and smart pointers and stuff like that. I will definitely be using this to create a game.
    AND you can program for the Switch!? Sweet.

    • @jothamstephens104
      @jothamstephens104 6 місяців тому

      Which switch Nintendo or another programing term I don't know?

    • @psyience3213
      @psyience3213 6 місяців тому +1

      @@jothamstephens104 yeah Nintendo switch

  • @nocturne6320
    @nocturne6320 Рік тому +7

    Used RayLib in C# and it was great, functions are pretty much 1:1 with C, except you use them trough the Raylib class. (also no hassle with setting up the build process and all of the other complications of using C)

  • @grimvian
    @grimvian 9 місяців тому +2

    At 1:07 protected from what - telemetry...
    Learned an advanced Basic 40 years ago with a real inline assembler(6502), procedures and when a computer took about one sec. to boot. Graphics and sounds was also included and it was a cozy time and a totally new world.
    Now I'm using Linux Mint, Raylib, Code::Blocks and programming in C99 and it's very nice. I have almost finished a small relational database(2500 lines of code) and using Raylib for the graphical interface. The executable is about one megabyte and it runs very fast even with my limited hobby skills.
    The easiest solution for me to use Raylib was a download, extract it and making path for the compiler and that's almost it.

  • @anon_y_mousse
    @anon_y_mousse Рік тому +11

    I'm not sure I'd call it a game library, but more of a graphics library. To do anything complex, you still need to know a lot of math, because it's not a game engine, but it does get rid of an absolute ton of boilerplate nonsense that no one should have to bother with. It's kind of amazing how easy it is to use and how easy it is for other languages to bind to it. I can certainly see it taking off as a means of doing game jams and the like because of its simplicity.

    • @cluelessdev3851
      @cluelessdev3851 Рік тому +2

      can you elaborate? As someone who has never delved into that side of game programming, what math or engine aspects someone has to develop to make a working game (not just a play thingy)
      for what I've seen it includes input, graphics, audio, etc. But am fascinated that if for example Raylib includes all that shabang, what else would one need.

    • @anon_y_mousse
      @anon_y_mousse Рік тому

      @@cluelessdev3851 Well, after you've created the assets that you'll use, possibly with Blender if you're going the open source route, then you need to tell it what to load, in what way, where on screen to load things, which involves opening a context in whatever graphics library you use for the backend, OpenGL or Vulkan, which you won't have to decide if you use your system packages, assuming your system has a RayLib package, and you'll have to create the main game loop and logic. It doesn't provide a scripting language nor link such a thing into your app, though that's not too difficult to do, all things considered. I dislike certain aspects of Lua, but if you want a scripting language for your game you might find it more than adequate. Or if you've got the time and skill you could write a custom one or you could just do hot reloading and write plugins in the same language you're writing your game in. It would be interesting if someone made a complete game engine using RayLib and used some custom BASIC variant for the scripting language. *nudge*

    • @jedsiecz
      @jedsiecz 9 місяців тому

      @@cluelessdev3851 3d is a lotta math

    • @einarsskutans5694
      @einarsskutans5694 8 місяців тому

      @@cluelessdev3851 stuff like collisions, game physics, lighting - game engines like unity provide and do the math for you

  • @yds6268
    @yds6268 Рік тому +5

    "Raylib has no external dependencies" - it does though. On Windows those are just standard libraries that are already included in the system. On Linux you need to install several dependencies (and link them if you're compiling manually). Just a heads-up

  • @Im_Ninooo
    @Im_Ninooo Рік тому +7

    years ago I wanted to create a super simple "game" with moving sprites and the Go binding had a bug that prevented me from loading image files so I had to use C and the experience was pretty bad. installing dependencies was kinda confusing and the compilation command was ridiculously long (being used to just typing "go build"). I'm glad to see they have streamlined the process!

    • @abdullahtrees5204
      @abdullahtrees5204 Рік тому +11

      No one actually compiles C/C++ projects by hand, they run a makefile script by typing `make build`, so it is pretty much the same.

    • @Im_Ninooo
      @Im_Ninooo Рік тому

      @@abdullahtrees5204 fair enough, but figuring out what flags I needed to begin with took a bit of research

    • @garrettbates2639
      @garrettbates2639 Рік тому +2

      Most of the time to build a C project you just need to do:
      ./configure && make build && make install
      Or some variant thereof. A lot of projects are configured with autotools or cmake to handle the build pipeline, and don't usually require too much work to get running. Sometimes you'll be missing a dependency, but if you're on a Linux machine or using WSL, then it's usually as simple as searching the package repository for the missing dependency and then installing it.
      But some projects will also just include their dependencies as a git submodule, so sometimes you don't even need to do that because you can just clone the repository recursively.

    • @Im_Ninooo
      @Im_Ninooo Рік тому

      @@garrettbates2639 well, I'm not a C developer so I wouldn't know how to set that up. I only used C because I had to.

    • @anon_y_mousse
      @anon_y_mousse Рік тому

      @@garrettbates2639 I think you're confusing make and cmake, which the latter always has the recommendation to `mkdir build; cd build; cmake ..` before building the project. Also, it should be `sudo make install` as things are often installed where only root has access.

  • @disruptive_innovator
    @disruptive_innovator Рік тому +5

    Notepad++ has a dark mode? I did not know

  • @VoidloniXaarii
    @VoidloniXaarii 3 дні тому

    Thank you so very much! Would love to see more on the subject. Maybe dumb question: it being c can it just be included in a c++ project and g++ or clang will just compile as if it was c++ ?

  • @nefrace
    @nefrace Рік тому +3

    The only thing that bugs me that I want to use it with Odin lang and export games to browser. And it seems that that particular task is not really straightforward. The wiki of Raylib only mentions working with C/C++ and Emscripten.
    Maybe someone did try the exact same thing as me?

    • @nefrace
      @nefrace Рік тому +3

      @@rytif well i can use Odin itself with something like TIC-80 or in desktop-only apps. And you actually can compile your code to WASM. The only problem here is with Raylib as I can see.
      Also is it possible to build Raylib app for WASM with Zig or Rust? Or do you *need* to use C/C++?

  • @Light-f5g
    @Light-f5g 9 місяців тому +3

    Hello thank for information and i new to programming and i chose c so could you make a tutorial raylib in c

    • @Light-f5g
      @Light-f5g 7 місяців тому

      @@marting.9613 What weird about it

  • @realdlps
    @realdlps Рік тому +6

    Well this kind of sucks, I completely forgot about raylib when I started making my engine so I went with monogame.
    It's not like I am fully committed but I absolutely love C# now and I don't feel like working with C or C++ anymore. Did I mention how easy C# is to learn? I had never used it or Java which is apparently similar, I only used C++, Rust and Python before and now C# is my go to.

    • @johnpekkala6941
      @johnpekkala6941 Рік тому +2

      C# is indeed nice to work with in general. I it is a bit like Java for sure. C# was actually created as I understand because of a licence brawl with Oracle when Microsoft put their own version of Java: J++, into Visual Studio and so they were forced to scrap J++ and they then created C# as the replacement wich was actually a good thing. Compared to Java C# is for one thing much less verbose and u dont have things like for example "Class.Class.Class.Class.Class.Class.Function()" wich seems to be a rule more or less with Java that u bury everything under at least like 7 layers of subclasses, boilerplate and other stuff. Was a while since I coded Java now however so this might as well have changed.

    • @hipno3477
      @hipno3477 Рік тому +7

      Raylib has C# bindings

    • @anon_y_mousse
      @anon_y_mousse Рік тому

      @@hipno3477 Just going to elevate this comment as it has bindings for so many languages.

  • @pixelfairy
    @pixelfairy Рік тому +11

    One of PNGs defining features is the unambiguous pronunciation, ping. It was designed as a replacement for gif. So not only is it full color, with alpha, and immune to Unisys trying to sue the internet, its easy to pronounce.

    • @vordrax1014
      @vordrax1014 Рік тому +9

      Yes, it's clearly pronounced "Puh-Nog".

    • @ggtooez
      @ggtooez Рік тому +9

      It's pronounced Pea-An-Gee, what are you talking about?

    • @anon_y_mousse
      @anon_y_mousse Рік тому +3

      Clearly it's pronounced Pong.

  • @HiddenAsbestos
    @HiddenAsbestos Рік тому +19

    Overall I like the library, but the C API pollutes the namespace something awful - #define WHITE , conflicts with functions, etc. I'm shocked that they don't stick a prefix in front of all that, like Allegro's 'al_' prefix. Thankfully there seems to be a C++ wrapper that shields you from it. Odd choice though.

    • @ProtossOP
      @ProtossOP Рік тому +1

      "C API pollutes the namespace"
      Sure but the 'al_' prefix example pollutes function names which imo is worse. I mean I understand why prefixes are used that way(because C has no namespaces) but it still looks bad, never mind typing prefix every single time.
      P.S. I'm a C# dev that dabbles sometimes in C so take my opinion with a big grain of salt.

  • @vikinggameprogrammer7233
    @vikinggameprogrammer7233 Рік тому +10

    *sweats in SFML with CMake*

    • @hxccz
      @hxccz Рік тому

      i dont feel bad for you

  • @oliverwooding2066
    @oliverwooding2066 Рік тому +3

    do you know of anything like raylib in the rust world? the raylib bindings for rust are still on 4.x, and feel very nonnative

    • @hxccz
      @hxccz Рік тому +9

      consider dont using rust

    • @oliverwooding2066
      @oliverwooding2066 Рік тому +1

      @@hxccz is it so unreasonable to want to use a language that isn’t at least 30 years old?

    • @ProfShibe
      @ProfShibe 3 місяці тому

      @@oliverwooding2066 actually yeah lol

  • @jonstarritt848
    @jonstarritt848 Рік тому +2

    A simple trick to get out of a maze, put your left hand on the wall, don't remove it, and follow it around to the exit.

  • @Console.Log01
    @Console.Log01 Рік тому +1

    I just started remaking my c++ game like 2 days ago and not in raylib

  • @Anthony-vb7sj
    @Anthony-vb7sj 6 місяців тому

    Is there a way to Use a 3D Physics engine on raylib? Like libgdx ( Bullet physics ) or JOLT?

  • @gokudomatic
    @gokudomatic Рік тому +5

    Can I use raylib for 3DS homebrew?

    • @m3nguele
      @m3nguele Рік тому +3

      I think you can, just make sure you`re using the tooling right, it can be really pesky sometimes

  • @grimvian
    @grimvian Рік тому +2

    Works fine in Linux Mint (ditching Windows) and CodeBlocks.

  • @edinetgrunhed6000
    @edinetgrunhed6000 5 місяців тому

    is raylib 5 support multiplayer and network library available?

  • @UltimatePerfection
    @UltimatePerfection Рік тому +7

    Tip for maze games: You can win most by always turning right when you come across a split in corridor.

    • @peddfast
      @peddfast 5 місяців тому

      Not if there are loops

    • @UltimatePerfection
      @UltimatePerfection 5 місяців тому

      @@peddfast That's why I said most, not all.

  • @LeFede
    @LeFede 9 місяців тому

    how would you handle networking on raylib tho? Can I use sockets without the need of opening ports?

    • @PySnek
      @PySnek Місяць тому

      go with enet

    • @PySnek
      @PySnek Місяць тому

      use enet

  • @FoxInFlame
    @FoxInFlame Рік тому

    I'm a big MonoGame (C#) user, does anyone know how does compares in terms of 3D/console development?

  • @spider853
    @spider853 Рік тому

    for a graphics processing application plugin is it easy to use raylib for render to texture effects?

  • @andi_decha
    @andi_decha 8 місяців тому +1

    i love raylib :)

  • @savagesarethebest7251
    @savagesarethebest7251 2 місяці тому

    I Used the Borland Graphichs Library in the early 2000's, but I am no old fart.. the CD was just old (like 1994), but I think I learned quite much building both 16 and 32 bit applications. A bit later I learned assembler (As an 11 year old) and made my own boot sector games and put on my school floppy 🤣

  • @buriedbones-nh9xr
    @buriedbones-nh9xr 7 місяців тому

    Does it install faster if you find all the files ?

  • @felixlipski3956
    @felixlipski3956 Рік тому +1

    game fans waited for gta 6
    game enjoyers waited for this

  • @EquaTechnologies
    @EquaTechnologies Рік тому

    LESS GO!!!

  • @33ordie
    @33ordie Рік тому +1

    Hey GFS you haven't explained what was added changed, beside the rcore and the funky website :/

  • @EmiLoomistar
    @EmiLoomistar Рік тому +2

    I like raylib

  • @l_t_m_f
    @l_t_m_f Рік тому +2

    took me a while to understand what gooey was xD (GUI)

    • @arashikou6661
      @arashikou6661 Рік тому

      Congrats on learning!

    • @anon_y_mousse
      @anon_y_mousse Рік тому

      It's funny because there's one guy on UA-cam that keeps pronouncing it gwee and I've only ever heard it pronounced as gooey.

    • @l_t_m_f
      @l_t_m_f Рік тому +1

      @@anon_y_mousse idk I've always said "Gee-You-I" like spelling the letters of the acronym.

    • @anon_y_mousse
      @anon_y_mousse Рік тому +1

      @@l_t_m_f Depending on who I'm talking with I'll do that too, to illustrate that it's an acronym usually. If I'm talking to someone else who programs I'll just say gooey.

  • @justonlyone7409
    @justonlyone7409 Рік тому

    How can we use in C++ for online gaming services and monetization? for example, lobby, matchmaker, chat, advertise in-app billing?

  • @zizzyballuba4373
    @zizzyballuba4373 Рік тому

    raylib font is too thin

  • @Mempler
    @Mempler Рік тому

    I forgot, did i ping you on twitter about raylib or not?
    i think i did for bevy though

  • @Pixel42-fp
    @Pixel42-fp 9 місяців тому

    try to watch this video at 2x

  • @DetectivePoofPoof
    @DetectivePoofPoof Рік тому +15

    OK so lemme get this strait... They put a goddamn whole-ass video game in the installer but NOT the option to choose which folder you wanna put the files in?!?!
    See this is the problem with open-source projects, you can't just get up from your desk and go slap the fear of god in whoever it was responsible for that.

    • @PurpleKnightmare
      @PurpleKnightmare Рік тому +6

      The thing is, the installer is also unnecessary. The best way to get started is game-premake, the installer is for those who used it from the start really and to show people that there is an installer. You can use the installer in your own games.

  • @cmyk8964
    @cmyk8964 3 місяці тому

    Respectfully, you don’t put “easy” and “C/C++” in the same sentence

  • @gargamel3478
    @gargamel3478 Рік тому +4

    Raylib is better than SDL, SFML and all these, as it's simple. You can create a projects within seconds, and it has builtin functions for transparency, rotating, sound and many other. The only con is that it's a bit bloated.

    • @RobertWinkler25
      @RobertWinkler25 Рік тому +3

      That's comparing apples and oranges. SDL and SFML (and GLFW) despite having some extra features are fundamentally cross platform windowing and input libraries while Raylib has orders of magnitude more (and higher level/abstraction) features because it is an all in one game making library. To Raylib, SDL and GLFW are just backends.

  • @itsasecrettoeverybody
    @itsasecrettoeverybody Рік тому +2

    I wanted to use it with python, but i found the documentation to be very bad, for python. I will try to use it with C some day

    • @skaruts
      @skaruts Рік тому +7

      I think you should be able to use the C documentation without issues, though. I've never used the python bindings, but bindings are usually just a mirror image of the C API. If there are any differences in the bindings, they're probably small, and they most likely follow some pattern you can pick up on.

    • @itsasecrettoeverybody
      @itsasecrettoeverybody Рік тому +2

      @@skaruts there are 2 bindings for python one is more c like the other is more photonic. I will look into it again later.

  • @angelcaru
    @angelcaru 9 місяців тому +3

    why tf are you using Windows

  • @AntonioLatronicoDeveloper
    @AntonioLatronicoDeveloper Рік тому +2

    Dang, I really hoped they improved model animations and lighting..😢
    oh well

    • @PurpleKnightmare
      @PurpleKnightmare Рік тому +9

      Lighting is handled by shaders and has nothing to do with raylib.

    • @AntonioLatronicoDeveloper
      @AntonioLatronicoDeveloper Рік тому

      @@PurpleKnightmare in the version 4 they added (I don't remember if it was created by an external contributor or not)an experimental RLGL example of dynamic lights using fragment shaders and it was a nice starting point for people who are not so experienced with shader programming

  • @bes12000
    @bes12000 Рік тому +1

    would love to use this on Linux but it appears I have to compile it from source which is dumb, there are newer installer methods for Linux, so why arent those used?.. might be better off downloading the windows version and running it through wine..

    • @hazapple
      @hazapple Рік тому

      It probably varies by distro, but I was able to install it through my package manager. I've only done a few examples, though, so I'm not an expert.

    • @PurpleKnightmare
      @PurpleKnightmare Рік тому +6

      What are you talking about?
      It is up to you how you use raylib, the best way is to have it as part of the project and compile along with the game.

    • @bes12000
      @bes12000 Рік тому

      @@PurpleKnightmare im talking about running it as a stand alone to play around with, thats what it appears mike is doing in this video.. any linux version of any app needs to have an option to just directly install it via terminal or have an appinstaller version or just a standard zipped app that I can unzip and just run without needing to compile it first

    • @hwstar9416
      @hwstar9416 Рік тому

      use the premake version
      It's as simple as:
      ./premake5 gmake2
      make

    • @anon_y_mousse
      @anon_y_mousse Рік тому

      @@bes12000 You don't run it as a standalone anything. The installer program he's using to install it on Windows has a game built-in, but the library itself does not. You'd need to build an example project to get something like that. And building it is super easy, barely an inconvenience, even if your distro doesn't have a package. Just open a terminal, type git clone {url from GH}; cd raylib; mkdir build; cd build; cmake ..; make -j8; and if it fails because you don't have glfw installed, then do the same for it and just rm -rf the build directory in RayLib's directory then continue from the point of mkdir.

  • @JavierGuerra_g
    @JavierGuerra_g Рік тому +1

    yes, if you miss 80-column UIs from the 80s, then do turn dark mode on.
    otherwise, just dial down the brightness and keep the light mode. your visual acuity (and font engine) will thank you.

  • @WyMustIGo
    @WyMustIGo 3 місяці тому

    SDL2 is faster, better, and easier.

  • @ExtraLocks
    @ExtraLocks Рік тому

    I can't hardly wait Unreal Engine Monthly Giveaway.. I ♥ Unreal Engine 😍🥰 True Fan.

  • @MainWorldTree
    @MainWorldTree Рік тому

    Pin me pls

  • @RandomNoob1124
    @RandomNoob1124 Рік тому +1

    No point in raylib when bevy exist

    • @GoodRiddanceToToryFilth
      @GoodRiddanceToToryFilth Рік тому +2

      🤡

    • @Clawthorne
      @Clawthorne Рік тому +21

      Raylib: C based with bindings for basically every language.
      Bevy: Rust based with no bindings. Use rust or gtfo.
      Doesn't look that superior to me.

    • @rkvkydqf
      @rkvkydqf Рік тому +8

      Bevy tried to be a full on game engine with its own ECS and stuff. Raylib is more like Pygame, a simple self-contained framework to render stuff, leaving everything up to you. I actually consider more minimalist libraries like Raylib to be superior to larger efforts like Beavy, very often you just need some graphics with no bloat but don't want to go learn OpenGL.

    • @RandomNoob1124
      @RandomNoob1124 Рік тому

      @@Clawthorne don’t know what you’re talking about.

    • @RandomNoob1124
      @RandomNoob1124 Рік тому

      @@rkvkydqf this guy knows what he’s talking about. Great comment. I agree 100%. But having an ecs along with the use of rust does make bevy really good imo. Rust avoids a lot of the bothersome issues of typical systems programming, also is much much faster than most system programming languages. Also more secure.