The Best Frameworks For Game Development

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

КОМЕНТАРІ • 228

  • @gamefromscratch
    @gamefromscratch  Місяць тому +7

    Key Links
    gamefromscratch.com/the-best-game-development-frameworks-in-2024/
    Sponsor Link: spn.so/gnt9gxtq
    If you miss the 48 hour Flash sale, you can still use the code GAMEFROMSCRATCH for 15% off Camtasia at checkout
    -----------------------------------------------------------------------------------------------------------
    *Support* : www.patreon.com/gamefromscratch
    *GameDev News* : gamefromscratch.com
    *GameDev Tutorials* : devga.me
    *Discord* : discord.com/invite/R7tUVbD
    *Twitter* : twitter.com/gamefromscratch
    -----------------------------------------------------------------------------------------------------------

  • @CodeaDeveloper
    @CodeaDeveloper Місяць тому +123

    Timestamps:
    2d frameworks:
    1:28 SDL (C and C++)
    2:12 SFML (C++)
    2:47 Allegro (C++)
    3:30 Raylib (C and multiple other languages)
    4:27 Cocos2d-x (C++)
    5:04 Löve2D (Lua)
    5:53 libGDX (Java)
    6:47 Phaser (JavaScript or TypeScript)
    7:18 HaxeFlixel (Haxe)
    7:46 MonoGame (C#)
    8:57 FNA (C#)
    3d frameworks:
    9:41 Babylon.js (JavaScript)
    10:39 Three.js (JavaScript)
    11:11 OGRE (C++)
    11:41 Panda3D (Python)
    12:20 bgfx (C and C++)
    12:41 Bevy (Rust)
    Your welcome

    • @safebox36
      @safebox36 Місяць тому +6

      Worth clarifying that Raylib is C in its official version, with almost every known language covered via endorsed third-party ports.

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

      @@safebox36thanks will change

    • @igorthelight
      @igorthelight Місяць тому +1

      Another info: Developers of Factorio used Allegro at first but then switched to SDL2 because Allegro is outdated xD
      There is a Steam vlog where they write about that ;-)

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

      Allegro5 was written with C being the main languange. You can use C++ but its really a second class citizen.

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

      There is a correct answer to "what is best".
      The answer: what works best for you. Whichever language and flow fits your personality and needs.
      Jokes aside.

  • @rmt3589
    @rmt3589 Місяць тому +6

    I massively appreciate you. Wish I had this a few years ago. Spent a month or two figuring out the frameworks I want to use. They are still subject to change, and I have everything saved on a spreadsheet, just made the bad ones(for my purposes) red or black.
    Unfortunately it's too late for this to be much help, but I watched it all the way through, liked, and am commenting. UA-cam should think I was ecstatic about it, as I would have been if I saw this when I first found you.
    Keep up the good work.

  • @DrNabeel20
    @DrNabeel20 Місяць тому +18

    I like the simplicity of love2d and lua, everything is pure and concise

    • @etherweb6796
      @etherweb6796 Місяць тому +1

      I especially like the combination of love2d and fennel.

  • @immortalxgr
    @immortalxgr Місяць тому +21

    Also worth mentioning is LÖVR. Sounds similar to LÖVE2D because it borrows almost the same API, but it's more suitable for 3D (powered by a Vulkan renderer) and especially VR. It can do 2D as well of course and is extremely easy to use. To put things into perspective, you can do a VR "Hello World" in 3 lines of code.

    • @gamefromscratch
      @gamefromscratch  Місяць тому +9

      I'm trying to think if I've covered this one or not.

    • @immortalxgr
      @immortalxgr Місяць тому +4

      @@gamefromscratch You did! It was in its infancy back then and is now more mature than ever.

  • @Supreme-Emperor-Mittens
    @Supreme-Emperor-Mittens Місяць тому +3

    THANKS MIKE ...
    Did not know that UA-cam Studio had an "Inspiration" section.
    I'll need to start looking at that section from now on.

  • @bior87
    @bior87 Місяць тому +10

    I was actually looking for this and I got your video like a minute after it went public, thanks!

  • @xXEnigmaXx001
    @xXEnigmaXx001 Місяць тому +18

    I did some coding using SDL and SFML when I was younger and had no clues about coding overall.
    Doing alot in C++ was a challenge but surely helped me understand how a game was built.
    Thankfully with the amount I looked into it, I managed to acquire some basic knowledge of gamedev and how things work behind some Game Engines.

    • @bingyu1425
      @bingyu1425 24 дні тому +1

      There are two kinds of programming, Game Play and Game Engine. If you want to make a game, learning to much about the deep concepts behind Game Engine might not be a good idea.

    • @xXEnigmaXx001
      @xXEnigmaXx001 24 дні тому

      @@bingyu1425 oh trust me, it probably wasn’t but i was also not inspiranced in coding. So grabbing C++ as my first coding language was also not the best choice i made.
      Then again i learned alot with such a rough entry. Would I recommend it to anyone else? Probably not.

  • @algorev8679
    @algorev8679 Місяць тому +82

    I'm ashamed by how much time it took me to understand that it's "Mike here, at GameFromScratch", and that your name is NOT "Miker"

    • @gamefromscratch
      @gamefromscratch  Місяць тому +47

      Lol don't worry about it, 90% of people still thing the name of the channel is GAMESfromscratch, so you're ahead on that one ;)

    • @dermond
      @dermond Місяць тому +10

      Game Miker

    • @sqlexp
      @sqlexp Місяць тому +1

      ​@@dermondMikeer!

    • @valhallagalex
      @valhallagalex Місяць тому +2

      @@gamefromscratch guilty!

    • @-RiSK-AK
      @-RiSK-AK Місяць тому +2

      ​@@dermond😂😂

  • @paraxodondev
    @paraxodondev Місяць тому +14

    raylib can be used for 3d too, theres side step legends to show.

  • @FireFox64000000
    @FireFox64000000 Місяць тому +12

    Today, on "Mike screams to everyone who will listen 'You have more than three options for game development'" We'll be featuring more than three frameworks and Mike's Herculian self control.

  • @krishnadas_3740
    @krishnadas_3740 Місяць тому +8

    Surprised to find out that you didn't include Pygame.
    Love your content btw!

    • @navalhabr
      @navalhabr Місяць тому +5

      Pygame is not a "true" framework, is a wrapper for SDL and other facilities.

    • @BRBS360
      @BRBS360 Місяць тому +8

      I think after the fallout of the original Pygame developer people moved on to PyGame CE (Community Edition). So that's the one I would recommend for people who are into Python.

  • @KyleHarrisonRedacted
    @KyleHarrisonRedacted Місяць тому +19

    I want add a "correction" about SDL, it's not really a "framework" much less a "2D framework" as depicted here. It's more of a simple set of "write once, run everywhere" functions that abstract away the pain of writing the platform specific code by hand, or worse writing all the specific ways each of your supported platforms wants it. I call it "The jQuery of Game Development".
    What SDL provides is more akin to "platform normalization", it normalzies input (if you want it), it normalizes image loading (if you want it), it normalizes audio (if you want it), but most importantly it normalizes "context creation" (as part of it's base kit). What does "context creation" mean? It creates the OpenGL or Direct3D rendering context in a very straight forward way through one interface, just one time, and setting them up with a ton of sensible defaults; where otherwise creating these rendering contexts by hand is a lengthy and involved process. Also part of it's base kit is a normalization of window creation, so whether your on windows, linux, mac, whatever, it knows how to create a window for that platform, and slap that rendering context inside of it.
    Without any further tinkering, it does also provide a very rudamentry sprite blitting api to do extremely simple 2d stuff using OpenGL's "Fixed Function Compatibility Mode" but no one's really using that. You're using SDL to get up and running with a window and a context within a minute or two to then start writing OpenGL or DIrect3D low level api calls directly to it to then start your shader based rendering pipeline (usually).
    **EDIT:** I appreciate that people took the time to read my comment, because I didn’t even mention Direct3D until way below the Read More button. But there seems to be a lot of confusion over what Direct3D even is, and whether I meant DirectX or not. First of all: No, I didn’t. “DirectX” itself is a brand name referring to a specific collection of SDK’s that all tie together and work together to make Real Time applications on Windows powered platforms easier. There’s DirectInput to deal with user input (keyboard, mouse, joypads, etc), there’s DirectSound for audio, etc. The “X” literally just means “Insert SDK Name Here”, and yes that includes Direct3D which is as the name suggests; the 3D Rendering API. There used to be a Direct2D at one point but that has since been retired as D3D setup with an Ortho camera can pretty much handle that.
    D3D is both old, and new. The current API level is D3D12, and most of the API calls and macros and functions are named that way (eg: “ID3D12Device::CreateCommandList”). But you’ll still see older D3D api’s in there, slowly being phased out with each new iteration.
    Popular engines like Unreal and Unity have OGL, D3D11, D3D12, and Vk rendering paths for maximum compatibility across platforms. And unless explicitly told not too, when you play one of these games, it’ll use the rendering path most appropriate for that platform automatically.
    DirectX is kind of like SDL but just for Windows powered platforms like your PC, Xbox, and Windows Phone (remember those?). SDL is a bit higher level, and includes other contexts like OpenGL.

    • @user-og6hl6lv7p
      @user-og6hl6lv7p Місяць тому

      Lamaoooo who tf even uses Direct3D anymore? Why would anyone want to use that? It's far too dated.

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

      @@user-og6hl6lv7p all game engines are using direct3D including unity and unreal.

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

      ​@@user-og6hl6lv7pSDL supports DX9 through 12, OpenGL (and GLES), Vulkan and if I'm not wrong also Metal.
      I think our guy here is referring to DirectX as Direct3D.

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

      ​@@user-og6hl6lv7p probably he meant DirectX.

    • @nemanjatrivic9505
      @nemanjatrivic9505 Місяць тому +1

      Thank you for this. As someone who didn't ever use these low level tools I understood you explanation perfectly. I would like that documentation for every tool is this precise and clear.

  • @95mcqueen5
    @95mcqueen5 Місяць тому +21

    I don't think I'll ever use a framework for game development, but it's amazing the tools we have completely free to make amazing stuff

    • @BoardGameMaker4108
      @BoardGameMaker4108 Місяць тому +13

      I thoroughly recommend it. Raylib is so much simpler for 2D than a full editor + engine. Game Engines are tuned for bigger projects (like AAA games), but frameworks can be good too.

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

      @@BoardGameMaker4108 yeah, I've messed around with Love2d and Phaser, but I feel these are better for people who are actually good programmers, unlike me. Even with ai to help with the code, it's just not my thing. I already struggle enough with Gdscript 😂

  • @kron520
    @kron520 Місяць тому +7

    8:18 Terraria was originally made with XNA.

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

    SDL... how many memories.... I've used it for my breakout clone something like 25 years ago or so, and then as my output lib for my path tracer. Sometimes it is nice to see that not everything turns into dust...

  • @AirmanCS
    @AirmanCS Місяць тому +2

    XNA was my first introduction to "oh I can make games?!" to the world I had 0 knowledge of what coding even was, but their slogan said you could, so I my life mission in that point became to learn how. EDIT: oh and feedback Camtasia looks amazing, but subscription software is dead to me, shame... I would rent but if there is a permanent option available

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

    I am so happy you exist! It helps expand my ideas on where to go as starting dev.

  • @awyeagames
    @awyeagames Місяць тому +1

    I'm really enjoying dragon ruby GTK, which you showed in your previous video.

  • @litjellyfish
    @litjellyfish Місяць тому +10

    I would say that this definition is pretty new. Before game engine was code features that could stand alone from the game itself and be used to create another game. Framework was usually the term for “engines” outside of gamedev. Say like Flutter.
    That a game engine should incorporate and editor is actually a bit to opposite. A framework usually had some tooling like swift for iOS dev. While a game engine if one listen to the name. Was the engine , the motor that the game was running on.
    While the editor was well editor of data files that the engine might use at runtime. But not always that either.
    I would say it’s more down to angle and where you come from but for sure a game engine do not need to have any direct advanced tooling.
    Also several what is here references as framework I would more name as “libs” as purpose is to include them into other frameworks etc.

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

      precisely

    • @jlewwis1995
      @jlewwis1995 Місяць тому +2

      A perfect example of this is the quake and doom engines, there are loads of editors available for both of them but they don't come with the engines themselves, they're made by the community. But you can launch your game or map directly from the map editors typically. So they technically meet both definitions for an engine at the same time

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

      @@jlewwis1995 exactly. Although I myself still see them as editors that use the engine (not always) to run a game like core for me is that the game itself do not often incl does the editor / frameworks the game is just game code and the game engine code.
      Well we know what we mean. Loved child has many names. :)

    • @ksw8514
      @ksw8514 Місяць тому +1

      Yes, this definition is very weird. If Godot makes changes to its UI, did the engine really change? The definition suggests yes, but would anybody really think of it that way? Would a framework suddenly have to be called an engine if somebody hacks together a provisional scene editor for it? If not, how complete does the tooling have to be until it becomes an engine. The definition makes no sense.
      I don't think framework is a useful concept in game development. There are libraries, there are engines, and there are development tools, each building on the level before it.

    • @kimblemojimble7967
      @kimblemojimble7967 Місяць тому +4

      Its not a new definition.
      The reason its a bit fuzzy is because its a spectrum: lib -> framework -> engine

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

    Perfect timing. Just started to learn Raylib recently, but was looking around for other possible alternatives like Dragonruby 6 that you covered recently

  • @kusog3
    @kusog3 Місяць тому +2

    Libgdx yeahhhhhh I think I discovered this channel thanks to the libgdx series ages ago, that was nostalgic

  • @ElectroGamesYT
    @ElectroGamesYT Місяць тому +8

    Raylib has 3D support 🤔

    • @AirmanCS
      @AirmanCS Місяць тому +2

      Was wondering why would you need triangle draw functions on a 2D game, thought was for physics

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

    Raylib has a COBOL binding, apparently... I'm sold...

  • @JoshuaVillarreal009
    @JoshuaVillarreal009 Місяць тому +1

    Definitely would use Bevvy to learn Rust too. just for fun. another great video! man I can't believe i'm hearing about camtasia in 2024, surprised to see em going strong.

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

    to be honest I have been waiting for this video since forever, thanks

  • @MateoC-f4n
    @MateoC-f4n Місяць тому

    Good List. I must mention that you can do 3D in Love2d, either with rozenmad/Menori, or with bjornbytes/lovr.

  • @TayoEXE
    @TayoEXE Місяць тому +1

    I've mostly only worked with game engines like Unity and Godot. I was a CS major, but I barely ever touched C++ or C programming after my first year. I'm sort of interested in really understanding game programming on a deeper level. Do you recommend trying Raylib to get more into C programming based on my case?
    Specifically, I want to make 2D games.

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

      There are 3 suggestions I can give you (based on what I have used):
      1. Monogame: it is a C# framework, thus you can rely on your C# knowledge while playing with it. Start with it or similar thing.
      2. SFML: Used it in C++ project. Somewhat similar to Monogame but still pretty straightforward.
      3. Cocos-2dx: distinctly different from SFML and is node-based. A bit higher in terms of features than SFML.
      Take my suggestion with a grain of salt as I have used them long time ago.

  • @theburntcrumpet8371
    @theburntcrumpet8371 Місяць тому +1

    Huh. I've literally been looking at building games with a framework recently (built a couple of simple ones in go with raylib). It's interesting if this is something that's gaining traction again. It can be quite freeing from what I've done so far. More complexity in some places but definitely more simplicity in the sense that I can just draw some simple structs with to screen and define the relationship between structs in a way that makes sense for my game sooner than the way an engine thinks I should do it

  • @m128jg
    @m128jg Місяць тому +1

    Before switching to Godot, I tried out SFML because the failed indie game Limit Theory used it. It is possible to pair SFML with 3D rendering.

  • @RiccardoBocci
    @RiccardoBocci Місяць тому +2

    XNA/MG/FNA for game sale numbers on steam is the third successful "engine/framework" after Unreal and Unity. Don't understand why there is always "Celeste" showing off (which is amazing) when there are Stardew Valley (which is one man job) or Terraria which sold way more..

    • @gamefromscratch
      @gamefromscratch  Місяць тому +3

      I think it's because Celeste is always focused on the homepage.

  • @HE360
    @HE360 Місяць тому +2

    Here's a question for anybody who knows: I would love to use a framework. I was wondering is there a universal scene editor that would work with any framework no matter which one I choose?

    • @PePe-kv2se
      @PePe-kv2se Місяць тому +3

      For 2D, look into Tiled and LDTK. You can just parse the exported file into your game's data structures.
      For 3D, it's pretty tough. You have Trenchbroom if you're working on a low-poly/quake-style game or something like gtkRadiant. I'm working on one myself but that's ways off still.

    • @tom-hy1kn
      @tom-hy1kn Місяць тому +1

      I don't know why Frameworks don't include a simple scene editor that lets you position objects in your game. There are tutorials on how to make them.

    • @BoardGameMaker4108
      @BoardGameMaker4108 Місяць тому +4

      I would recommend doing things in code first and if you really need an editor just have a "god mode" in your game. It can be as simple as just using a boolean to enable/disable certain things, like player damage. You can also just add console commands or cheat-codes, like the way Minecraft does. Just modify the way that the game is saved to include any level changes you might make.
      I thoroughly recommend giving frameworks a go, they are much simpler than game engines, especially for 2D.

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

      honestly I have found that making an editor is easier longer time but if you want one now you should use Tiled (2d) or Blender (3d) There are plugins to convert blender object positions to json which you can load.

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

    i sweetly remember xna. having a blob of geometry moving on the screen to the inputs of my gamepad in no time. ms not known for good UX did good here with the DX.

  • @deadshot9640
    @deadshot9640 Місяць тому +1

    Tysm i was looking for this type of videos about framewoks❤

  • @llama6666
    @llama6666 Місяць тому +3

    It's a shame that you didn't include the ebitengine, Go-based game framework... Go is a pretty easy language to learn and it's capable of compiling to cross-platforms...

    • @SolarLune
      @SolarLune Місяць тому +3

      Yeah, agreed - Ebitengine is a really good option for relatively straightforward, code-focused 2D game development, and Go is an excellent and easy-to-use programming language. Really recommend it.

  • @Duerdak
    @Duerdak Місяць тому +6

    You should cover SDL3 when it comes out, which should be coming out relatively soon. From the new features what I'm most excited about is the new GPU API. It has a vulkan, directx12 and metal backend and work is underway on a webgpu one. With this SDL3 will support 3D as well.

  • @nolram
    @nolram Місяць тому +5

    NOTE: SDL2 does **NOT** abstract away graphics! It merely provides windowing and access to those graphics APIs.*
    * It does have SDL_render, which is a very very basic 2D renderer typically meant for debugging, and SDL3 is getting a cross-API GPU API, but that's not finished yet.

    • @maxrinehart4177
      @maxrinehart4177 Місяць тому +1

      I can't wait for SDL3, the whole overhaul of the system to be modern and compatible with modern GPUs, support for vulkan and Metal, unified GPUs APIs, new shaders system....

    • @nolram
      @nolram Місяць тому +1

      @@maxrinehart4177 SDL2 already supports context creation for the new APIs, but it has no rendering system. You have to write the renderer yourself using the APIs.

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

    I'm the author of the Ada bindings to SDL2, which adds type safety to the base API.

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

    Phaser also has an official editor available, bringing it a bit closer to game engine territory.

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

    I'll also recommend AFrame (JS built on Three.js) for WebVR and WebAR (on 8th Wall for example).

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

    Literally looking for this two days ago, crazy

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

    an engine you never covered: Irrlicht Engine (+ there is also another version out there called skylicht engine)

  • @OxAA00
    @OxAA00 Місяць тому +1

    Sokol is also a framework much like raylib but even more compact but as versatile as raylib with bindings already.

    • @alter_ukko
      @alter_ukko Місяць тому +1

      You beat me to it, but I had to do the full pitch. Such a great library.

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

    Great video. Thank you very much!

  • @EdmondDantèsDE
    @EdmondDantèsDE Місяць тому

    You can use SDL with C++ as well. Doesn't really matter what it's written in.

  • @abhijitleihaorambam3763
    @abhijitleihaorambam3763 Місяць тому +2

    I am currently using glfw and bgfx

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

    My game engine I built on raylib, does not have a level editor, it is for making arcade games. :)
    I may add one at some point.
    Also, raylib used XNA as inspiration. I think it is way better than XNA, and I've used XNA/MonoGame for years.

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

    btw, you can do 3D in raylib, it's not just for 2D

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

    I was just looking at frameworks too, esp those that Haxe can hypothetically target, so tired of engine drama and uncertainty edit: not tired of you reporting on it, you're doing awesome

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

    Do these C++ frameworks support modern C++ and how modern? Smart pointers in particular, but modern(ish) C++ offers lots of life improvement features over older versions.
    It would also be interesting to hear what the differences are between SFML, Allegro and Cocos2d-x and why you would pick one over the others.

  • @CodeaDeveloper
    @CodeaDeveloper Місяць тому +1

    Yay I was looking for this.

  • @pura8898
    @pura8898 Місяць тому +1

    Yoo an update from my bookmarks(originally I bookmarked best FOSS engines and frameworks)

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

    libGDX can also handle 3D environments. I used it to build a custom map editor for an old MMO game.

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

    I believe panda has a c++ version. It's is more recent and aside from some minor differences c++ and python version are pretty interchangeable

  • @holthuizenoemoet591
    @holthuizenoemoet591 22 дні тому

    For me its all about convenience. I'm not a pro, i do 2d development as a hobby. The setup needs to be simple and fast. Secondary i need good documentation.

  • @C4CH3S
    @C4CH3S Місяць тому +2

    no Ebiten?

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

    What a rabbit hole :O

  • @PotatoGodzilla
    @PotatoGodzilla Місяць тому +1

    Will you make a game engine one?

    • @gamefromscratch
      @gamefromscratch  Місяць тому +3

      I kind feel I've done that a few times, but not sure if there's an exact match.

  • @Community-Compute
    @Community-Compute 20 днів тому

    What's the state of Phaser in 2024? Still a solid choice?

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

    Once you get used to using an engine with a level editor and boffing out a whole bunch of 3D games with almost no effort, it's difficult to go back to making games with just a compiler and a graphics library.

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

    Yeah, Techlinked!

  • @PySnek
    @PySnek 20 днів тому

    Mono but with Lua instead of C# would be perfect. Love2d doesn't seem to offer support for consoles.

  • @danielmejia5879
    @danielmejia5879 Місяць тому +1

    Is there a C# GameDev focused Framework to make 3D Games?

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

      From what I know, XNA or monogame is 3D focused. Even 2D games built from it is in 3D environment it just that the camera configuration were fixed

  • @LOC-Ness
    @LOC-Ness Місяць тому +1

    very odd to downplay raylib's decent but simple 3d stuff here

  • @tom-hy1kn
    @tom-hy1kn Місяць тому

    Shouldn't FNA be included in the 3D framework? when I have time to program again I am going to try it out. The reason I am choosing it over Monogames is because it has Vulcan support. I will try to build a complex 3D scene to test performance. Getting realistic lighting to work on it might be beyond my capability and I might end up moving to Flax.

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

    SFML 3 is coming out soon -- from the sfml subreddit -- SFML 3.0.0-rc.1 Released
    same for SDL -- from the SDL subreddit -- Announcing the SDL 3.1.3 Stable ABI Preview!
    and you didn't mention pygame-CE -- a fork of pygame (there is a whole drama story going on with pygame, but pygame-CE seems to be the way to go now)

    • @gamefromscratch
      @gamefromscratch  Місяць тому +2

      Yeah a miss by me regarding pygame.

    • @Arcidi225
      @Arcidi225 Місяць тому +1

      Please, tell me it's technical drama, not some political one again...

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

    Surprised you didn't mention Diligent Engine.

  • @sergrojGrayFace
    @sergrojGrayFace 6 днів тому

    13:46 - Primagen mentioned

  • @beobeloyt
    @beobeloyt Місяць тому +2

    Hi Mike. I think you're confused between framework and library. For example, SDL is a library, not framework.
    Basically, if you call it's code, it is a library.
    If it call your code, it is a framework.
    Framework is basically a complete software that you can run as is. You can then add your own code to add functionality.
    Library just provide you building blocks. It will not run as is. Your code, which is not part of the library, is the one that run.

  • @dermond
    @dermond Місяць тому +1

    No Pygame :(
    But you put Löve2D :)
    I -love- more Löve2D than Pygame

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

    raylib my beloved

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

    I'm kind of annoyed that the analytics are apparently darn good at identifying what I'm trying to work on even when I don't tell even my best friends. It's very useful! But still just kinda creepy I guess.

  • @PurpleKnightmare
    @PurpleKnightmare Місяць тому +1

    Ogre has a Blender to Ogre translator to use Blender for maps.

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

    Which, if any, frameworks are planning new visual interfaces to bring in non-code centric developers?

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

    "Disney Works"? What is that? Like Dreamworks and Disney had a baby. Anyway, I think one may use engines in a "framework" mentality. Just build your own tools and things using their API's. Though it might be very limited and you'll be reinventing the wheel in a lot of cases but YMMV.

  • @nolram
    @nolram Місяць тому +1

    Seriously, comparing SDL2, a low-level windowing and input library to Raylib? That's a bit misleading in my opinion because Raylib, as good as it is, is a full-fat framework which in some regard dictates how your game will be built (such as when using it in C, you're not really meant or able to link to system libraries such as windows.h).
    Also raylib does not support game consoles for the most part and on Desktop is locked to OpenGL, while SDL runs on just about anything.

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

      Sdl is much older. And with that comes plenty of community made solutions to achieve the same results as raylib. You can Frankenstein your way into making SDL more feature rich than Raylib if you want
      And console porting is only an issue if you're successful enough to warrant it. By that time you can hire someone to make a wrapper around whatever you used to make your game (even pygame!)

    • @nolram
      @nolram Місяць тому +1

      @@dukemagus Console porting is a bigger deal than one may think even for indies, not just a "bonus if successful" - I've seen reports from other developers that games which barely sold a couple hundred dollars worth on steam got into the 5-figures on console.
      And yes, there are a lot of libraries ontop of SDL2, but those all just access graphics contexts via SDL.

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

    Raylib can do 3D tho as well.

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

    Where is the lovely GLFW

  • @Greywander87
    @Greywander87 Місяць тому +2

    Oh neat, after all the Godot drama I was actually considering if using a framework might be the way to go. I have an interest in minimalism and optimization, and using a framework over a game engine would give me greater control over performance optimization. I also have an interest in simulation, which is notorious for being load intensive.
    I'm not entirely clear on what the difference is between using a framework and just writing everything from scratch. I assume it's similar, just that the framework has some of the more tedious and difficult (and commonly used) functions already written out so you don't have to do it yourself.

    • @cordlc
      @cordlc Місяць тому +1

      Writing everything from scratch means interfacing with API's like Vulkan, which to me is kind of hell. It's probably a good exercise to do once, to understand what's going on, but things have gotten so complicated (since GPU's have gotten so complex) that I find it's not pleasant to muck around with at the lowest level. Esp if you're like me and are more interested in game design, getting deep into the peculiar technicalities of modern GPU's / API's aren't really going to help you in that area. The rabbit hole just goes too deep. See: lines of code to render a triangle in Vulkan
      More importantly, there's the issue of dealing with multiple OS / hardware, if you want to run on more than your own system it's going to be a lot of extra tedious work.
      The frameworks are low level enough that you can still do whatever technical feats you can dream up. Also nice that the popular ones have C bindings, so you can write the project in your language of choice. Though it's still not at all like working with an engine like Godot, if you want an engine and mostly take issue with the politics, there's always the Redot fork.

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

      @@cordlc Yeah, I'm keeping an eye on Redot. And honestly, that level of optimization is probably overkill for most of the games I'd want to make. If I did want to create my own game engine, it sounds like using a framework would be the way to go. I'll keep that in mind should I ever encounter something that I just can't get working in Godot/Redot, or if I decide I want to create my own game engine for fun.

  • @fearlesssean
    @fearlesssean Місяць тому +1

    What about pygame-ce?

    • @igorthelight
      @igorthelight Місяць тому +1

      Same as Pygame but more Community driven ;-)

    • @gamefromscratch
      @gamefromscratch  Місяць тому +2

      Yeah a miss by me.

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

      @gamefromscratch all good, I was just seeing if I should not pursue learning it because I just started 😅 panda3d is a great option after I level up. Thank you for the great video's 😁

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

    Mike can you do a video on Codea (your first video) in the future. It has upgrade significantly to a new 4.0 version with support of with ui, shades, inputs, physics, objective C support, and a lot more. I make games in it. My channel covers it. I am working on a game on it.

    • @gamefromscratch
      @gamefromscratch  Місяць тому +1

      Oh has it been updated? I looked a year or so back and it seemed a bit static

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

      @@gamefromscratchYes a lot of updates. I would show you links but UA-cam does not allow it. If you joins their discord in the website (one of the tabs at top) I can show you the updates.

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

    I haven''t looked at Frameworks much in ages (went down a Unity hole for a while, now I do Godot), and I never realized how little there was in the way of 3d frameworks, which is even more surprising in a post-Vulkan world where getting a render pipeline up and running takes a lot more elbow grease than the OGL days. Though now I'm having fond memories of when I messed with SDL and SFML years and years and years ago.

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

    Im interested in making game from scratch like literally

    • @gamefromscratch
      @gamefromscratch  Місяць тому +1

      This ironically could have two meanings. So you mean Scratch as in the language/framework or do you mean from nothing?

    • @thisisgood44
      @thisisgood44 Місяць тому +1

      ​@@gamefromscratch like from nothing just a programming language no framework, also omg i got replied im so happy right now, your video helped me thank you so much❤

    • @WizardofWestmarch
      @WizardofWestmarch Місяць тому +1

      Might be worth checking out something like the book Game Engine Architecture, which is currently in 3rd edition. It is a book about building an engine written by people in the industry.

  • @SvenHeidemann-uo2yl
    @SvenHeidemann-uo2yl Місяць тому

    Raylib is 2d only?
    Panda3d is awesome! There is a level editor for it.

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

    Where is U3d ?

  • @catlolis
    @catlolis Місяць тому +1

    if i download panda3d, will disney be able to kill my waifu?

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

    I love raylib!

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

    Aren't they libraries?
    Wouldn't a "framework" be something like Godot?

    • @flushwhy
      @flushwhy Місяць тому +1

      No, a framework controls the application flow, and a library lets you control application flow. A library would be vulkan SDK or OpenGL/OpenCL lib. You would take them to make something like Raylib that would be a framework because it controls the flow of your app to these libraries.
      Libraries tend to be lower level and frameworks are high level. Frameworks try to take common and best practices of a library or set of libraries and just do it for you.
      You could say that Godot is batteries included framework, but even then that is a giant leap.

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

    GLFW?

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

    Uh... if you're just learning Rust you won't be happy with Bevy.
    You should have at least a year of playing around with Rust before you start looking into Bevy since it uses abstractions that take full advantage of the language.
    You will be overwhelmed otherwise.

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

    Raylib! Raylib! Raylib!

  • @flushwhy
    @flushwhy Місяць тому +2

    Heaps io not found 😔

    • @gamefromscratch
      @gamefromscratch  Місяць тому +1

      Heaps is kinda odd in that it's kinda a framework and kinda a library and kinda an ecosystem. I am a fan and included it last time but it was an awkward fit.

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

      ​@@gamefromscratch Yea, that's very true. I forgot how big the ecosystem for Heaps is. I think Deep night's GameBase template does a really job at giving you something to work with. (That would be a batteries included framework, tho)
      Sadly, they made castledb apart of Hide. Making have you to build hide in order to get the GUI now.

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

    What about Irrlicht 😮😅

  • @bloodandmore2946
    @bloodandmore2946 Місяць тому +2

    Waiting to tomorrow for O3DE 🥵

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

    I want to try Panda3D, but I have no time.

  • @mortadelaok
    @mortadelaok Місяць тому +12

    LÖVE2D is great, but Defold is perfect

    • @bloodandmore2946
      @bloodandmore2946 Місяць тому +1

      True

    • @MateoC-f4n
      @MateoC-f4n Місяць тому +3

      Having used Defold a few times, it's ass. The concepts are weird (render script, gui script, collection, collectionfactory). The Editor flows are weird. The internal API is nice, but that's about it.

    • @mortadelaok
      @mortadelaok Місяць тому +8

      @@MateoC-f4n It's perfect for me 🤷‍♂

    • @CodeaDeveloper
      @CodeaDeveloper Місяць тому +3

      @@mortadelaokand that is all it come down to. Whatever work well for the user.

    • @gostan2718
      @gostan2718 Місяць тому +1

      @@MateoC-f4n it sounds like you need to just get used to it

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

    Some of these are libraries, not frameworks. There is a difference between a framework and a library.

  • @consogamer1474
    @consogamer1474 Місяць тому +1

    Monogame the bast

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

    I thought bevy is a game engine.

  • @AsatteGames
    @AsatteGames Місяць тому +2

    I am not surprised to see this video. A tweet started another Migration Period after Unity..