raylib 4.5 Released -- The Easiest C/C++ Game Library Gets Better

Поділитися
Вставка
  • Опубліковано 26 лис 2024

КОМЕНТАРІ • 123

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

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

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

      Mike how do I get you to cover an RTS game engine I'm currently polishing?

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

    Hey Mike! Thank you very much again for covering the new raylib release! Always the faster in news! Congrats! 😄

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

      I just got raylib. I'll probably use it for my next game projects. Big fan of the lack of dependencies as well as minimalist design. Coming from TIC80 i feel very invited into the engine. Especially because I'd like to jump into c++. Some day I'll start making game engines, hoping it's a nice jump-down from a fantasy console

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

      No.1 raylib selling point for me is the minimal dependencies. Oh. My. God.

    • @JohannNeumann-pm6zx
      @JohannNeumann-pm6zx Рік тому

      @@microdavid7098 Raylib is not actually a "game engine" though. It's just a wrapper around openGL.

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

    Raylib IS for game development, while also being a useful educational tool.

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

    I love raylib so much! It just keeps getting better! I've been using for about seven months, since you put out your video about 4.2, that is how I found out about it. It is easy to setup too with pre-make. I use it with C ++ 20 in VS2022. I built a framework with it I call Knightmare.

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

      Lol, my old username when I was into My little Pony was Knightmare.
      ...eh....
      Maybe...not the best name. But good job none the less.

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

    raylib is so awesome dude

  • @HE360
    @HE360 Рік тому +36

    Raylib is kind of like BlitzBASIC, but in C/C++. I love such frameworks!

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

      Blitz3D, DarkBasic, etc. That brings some memories.

    • @James-on1vy
      @James-on1vy Рік тому +3

      Don't forget BlitzMax!

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

    Working with raylib is so fun. I just love making c programs with raylib.

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

    Raylib is dabest it’s just amazing i love c and c++

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

    I'm generally a Godot and Unity user, but I would love to see a build from Raylib at work. We need more projects like this.

    • @w花b
      @w花b Рік тому

      There's very little information on forums and I had to give up on a project because I simply couldn't find the solution. It's very good though if you can overcome the skill issue

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

      @@w花b normally you just have to figure out things by reading source code of raylib itself, not optimal but saved me quite few times

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

    This is my favorite one as far as from scratch goes, one header file and you can get to work. Using plain C99 is such a good idea.

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

    Nine hours after Raylib 4.5 release, and we already have an overview. Nice work, man!

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

    Jeff made a fantastic Asteroids like example, an RBG sample, and some great extras for raylib.

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

    pretty cool stuff, will try out in the future

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

    When I discovered that I could use Ruby to write 60fps games with a powerful API, it blew my mind! But the Ruby bindings are outdated. So now I'm actually learning C to create proper bindings.

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

    Hazel has also released now!

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

    I'd like to know in which state all of the bindings are, in terms of coverage, activity, usage, with examples of finished (or close to finished) projects. Which of them are like "first tier" which you can use as well as use C++ directly, and which do have some caveats attached to them?

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

      As someone that's been using the 2 major C# bindings for a while, both of them are fantastic. I personally prefer cs-lo.

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

    Hey man, just subscribed to your channel. I wonder if you could give me some tips. I'm just diving into C/C++ having not used them for 20 years -- I had a career in software, multimedia, and games, but just didn't end up using these languages. As you say in this video, getting things setup and linking definitely gave me some headaches getting started (looking into SDL first).
    My specific(ish) question is, once one has their dev setup all working and sane, how easy/painful is it to distribute apps written in C/C++ using "cross-platform" libraries like SDL, SFML, RayLib, OpenGL, etc. I'm asking broadly, not for details. I am just wondering if this will be an even bigger pain point than getting started was.
    Thanks for the content!

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

    My biggest gripe with raylib is that it doesn’t use a prefix such as RL_ for all the functions, structs, and macros.

    • @astroid-ws4py
      @astroid-ws4py Рік тому

      Just use its C++ wrapper, search for it online

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

      Yeah coming from SDL, i feel the exact same way. An RL_ prefix seems like a no-brainer and would drastically improve the intuitive feel of me the coder not to mention the code completion intellisense.

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

      @@DrZygote214 First thing I did when I used raylib was create wrappers for all the functions I used so I could call "RAY_******" when I wanted a raylib function.

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

    I haven't heard Milkshape 3D in over a decade

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

    awesome video! thanks for sharing.

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

    FINALLY!!!
    ANIMATION FOR MODELS!!!!!!
    =DDDDDD

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

    C++ is still king, you can port your game to literally any device. If you use any binding, then you are slave to the options the language provides. Honestly after fiddling with c++ a bit, it's not really that hard, you just have to understand how the compiler works, like how header files are used, libraries, etc. Then you are set.

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

      C++ is such an incredibly complex language, lifetimes, move semantics, templating. Writing c++ is fairly easy, writing good C++ has a very very steep learning curve

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

      @@jonforhan9196 it's not, you will probably only need 20-30% of what the language offers. The complexity matters if you have to engage with a team dev, or changing someone else's code. Use wha you need, like literally everything C have it's in C++ too. It doesn't magically make it "harder". People just complain

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

      @@jonforhan9196Also, a shitty dev is probably a shitty dev with any language tbh.

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

      @@lazyh0rse It's a little more than that I'm afraid. The syntax is so drastically different from modern OO langs, it will be a nightmare for anyone coming from them. For new coders, it's still more difficult to learn than another option because the syntax is just uglier and more symbol-heavy. It took me 2 days, 8 hours per day, just to figure out the right syntax of a pointer to an array of pointers to objects, and then passing that properly in functions.
      The other thing is hacked legacy. You're not even supposed to use arrays in C++ anymore...you believe that? Too unsafe. That's how old and "modern-hacked" this language is, big turn-off.
      I come from C# in monogame. C# is beautiful but has one ugly flaw: the garbage collector, and there is no way to turn it off. Microsoft, if you're reading this, let us turn off that damned thing in the next version and just let us do memory management ourselves. Wrap it in UNSAFE if you want lol. Honestly the best thing i can imagine tho is someone writing a transpiler for C# to C++, best of both worlds.

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

      @@lazyh0rse it is an extremely convoluted language, the word static means 4 or 5 different things depending upon the scope of where it's declared , const correctness, move scemantics, RTTI, Pointers and references and don't even talk to me about inheritance and runtime polymorphism and how they interact with each other 💀

  • @יובלהרמן-ח2ד
    @יובלהרמן-ח2ד Рік тому +6

    Hey Mike sometimes it really seems like you know absolutely all the programming languages! What languages do you know and how did you learn them all?

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

      I have a wide but shallow knowledge of programming languages.
      I probably "know" about 30 different languages. I've mastered none.
      The last language I did a sizeable project in was C#.

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

    I have a question:
    There are game engines, like Godot, Unity, Unreal engine.
    These all have built in level editors.
    But if you're working with, say: raylib, how would you make a level, as in: where you define where your assets are inside of the level, and maybe also setup properties for the instances of things inside of your level
    What tool can you use for this?

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

      im not very fimilliar with Raylib, but i think it depends in your use case, eg you can use .txt files, or a seperate level editor.

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

      @@mokafi7 Well, yes: the output could be in whatever data format is the easiest to parse, or even as raw C code. The question however I'm trying to ask is if and what tool exists in order to create this output, ideally with it showing the models, and so on.

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

      @@nathnolt im sorry i also kind of got stuck at this part when i wanted to learn Raylib and other frameworks, i would suggest looking online.

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

      You could use Tiled for example, for pretty much anything 2D.
      No xp with 3D gamedev, but I imagine there are ways to do that in Blender.

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

      Im using Blender for that. I export Blender scene to GLB format. 1 file contains everything in the scene, cameras, lights, materials, textures, models, animations. It can even contain multiple scenes.
      I use "Custom Properties" on blender objects to define extra properties i would use on the engine. Could be physics properties, shadow caster or not, particle details etc. They get included in GLB file.
      Im planning on making a small addon for Blender to make it easy to set these custom properties to objects.

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

    Does the integration of ANGLE mean that we might get iOS as a target as well in the future as it supports Metal?

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

    Wow, my favorite programming language: C/C++

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

    Is there any community to ask for help?
    Any guides/tutorials to get started?
    I made two games in libgdx and wanna try something else.

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

    I recently learned C, can anyone tell me if I should use sdl or raylib. I have projects in my mind like GUI and games.

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

      You should try doing a simple project with both to find which one you like best but my guess is you will have a lot more fun with Raylib.

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

      raylib if you're making a game

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

      This is an old comment but Raylib hands down. SDL is such a grind to get even basic stuff like text working. You're better off with Raylib.

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

    Hey Mike, d oyou know if I can compile for Play Station X / XBOX? Any tutorial in this are using raylib will be really cool!

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

      I assume out of the box no. But once angle support is in place porting should be fairly trivial.

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

    Very cool, how does raylib compare with something like OGRE? Higher or lower level?

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

    What if raylib and its other libraries were in the c/c++ standard library

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

    Is going to be Verse implementation?

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

      We still don't even know if verse will even be a thing outside of Fortnite tools.

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

    If it uses OpenGL, how does it work on Mac and iOS which have switched to Metal?

  • @4sat564
    @4sat564 Рік тому +1

    Is it like SDL on steroids?

  • @lua-nya
    @lua-nya Рік тому +1

    You're telling me I can use raylib to write graphical programs in Rockstar?

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

    Small/big correction. Raylib is not available on iOS.

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

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

    Audio files formats and algorithms are a minefield of patents. It's easily possible that QOA infringes on some of them by accident. I hope that's not the case, but I would stay away from it as long as there is no legal vetting of the format.

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

    So... Wait... Did I understand this right...? Raylib is basically plug and play programming modules?

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

    it would be nice if they added antialiasing on render textures, last time I used it everything looked very pixelated, for example when you want to use textures for shaders. It would also be nice if they included some precompiled shaders like direct2d has, that would be huge.

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

      No AA would be a stone cold dealbreaker for me.

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

      @@Sprogster Maybe look into computer graphics and implement simple AA algorithm? Takes some work but could be done

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

    Thanks,do you know something similar for C#,i thought Monogame is better for my case looking for C# game development from scratch learning. what you think sir please?

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

      RayLib has C# bindings, as do SFML and SDL. Otherwise there are a few options like flat red ball ua-cam.com/video/X0ncHtmUk5Y/v-deo.html and the now defunct Duality ua-cam.com/video/yNvEY4U5LbE/v-deo.html.
      Honestly though I'd probably just use RayLib.

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

      @@gamefromscratch thank you so much,i checked all of this,as i already tried Monogame on my macbook and i guess it will be enough and better to keep focus on it .

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

      ever since ive heard about raylib from this channel ive fallen in love with raylib-cs

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

      I recommend using FNA instead of monogame

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

      I left Monogame in a heartbeat once I learned about raylib, it is so much nicer to work with.

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

    Anyone working with raylib in C with vscode? Is it easy to set up?

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

    can you please make a tutorial on how to build for android with raylib

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

    not on ios @GFS

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

    In my opinion, the "Easiest C++ Game Library" title goes to the OLC Pixel Game Engine.

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

      Do you have experience in both libraries? Wondering how they compare.

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

      A library is not a game engine. LOL

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

    Try to compile it before recommending.

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

    Can I use it on Unreal? How do I use it?

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

      No, and you don't.

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

      @@bexplosion Is raylib used when creating a custom game engine? Who uses it?

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

      Raylib is not an engine like unreal, and you cannot use it in combination with engines. Raylib is a minimalist framework to help you build games from scratch. It helps you do things such as open a window, load textures, read user input and play audio. Engines have their own way to do all of those things. Engines also have a lot of gameplay related stuff taken care of for you already, such as physics, entity systems, etc. Raylib doesn't do that because it is not an engine.

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

      @@faxcorp It's for small games and for learning how game frameworks work ;-)

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

      @@faxcorp its for learning. Much more u can learn from build game from almost scratch like in raylib vs Unreal or Unity where u got many created modules.

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

    Angle means IOS is coming, right? Right!?

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

      I've read this over and over and over and still can't decide if this is a "right angle" pun or not.

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

    Don't use cheatsheet, just read the raylib header file.

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

    raylib is a cool library but the API is fucking horrible.
    I like to code by discovery, as in type the namespace of the library and just discover what stuff you can do.
    But you can't do that in raylib, because there's no fuckin namespace.

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

      Can’t you jus skim over the header file?

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

      @@zytr0x108 Sure I can do that but it would be nice if it was designed right from the start so I don't have to.

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

      There are no namespaces in c. Why would you expect namespaces? Just use the cheat sheet. The entire API fits on a small page. This sounds more like a you problem than anything

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

      ​@@ShinDMitsuki Tell me you never used raylib without telling me. The API takes way more than 1 "small page" to fit on, it has 475 functions in it. I don't know what library you are using that fits all on 1 page but it's not raylib 🤣

    • @user-sl6gn1ss8p
      @user-sl6gn1ss8p Рік тому

      so, probably a total crapshoot, but since the thing is all headers-only, is there any chance you could just wrap it into "namespace x {}" and compile as cpp?