Valve really likes SDL, but they probably aren't involved with it too heavily. I mean, we actually got to 3, a number they can't count to ^_^
@granolwad3 күн бұрын
Imagine they drop SDL cuz of that lol
@MRDaved3 күн бұрын
But half life 3 is confirmed to be worked on. It's their eras of 3s
@xbmarx3 күн бұрын
Sam Latinga, the main author of SDL, works at Valve.
@florianmaitre-maudhuit35673 күн бұрын
@@xbmarx Oh no, poor man... I wouldn't like getting fired like this 😂
@lorenzvo52843 күн бұрын
oof
@ruchirraj53003 күн бұрын
Just when I was about to start with SDL this announcement comes in, couldn't have been at a better time 😊
@atheneite3 күн бұрын
same lmao I was just thinking about ditching glfw and learning sdl
@RubbishEnjoyer3 күн бұрын
Same here, we got real lucky
@henrykkaufman1488Күн бұрын
good luck, it's a ton of fun!
@basiliotornado8 сағат бұрын
Same here! Started a little project with sdl+opengl just 3 days ago Though, I'm just using sdl for the window..
@reeboothemad55143 күн бұрын
Improved documentation is always a good thing! I tried to use SDL2 about ten years ago for a small project and switched to SFML because the documentation was better.
@Aeduo3 күн бұрын
SDL's .h files are pretty good for documentation but yeah it's not as glamorous as an html wiki. :p And you do kinda need to know what you want already.
@reeboothemad55143 күн бұрын
@@Aeduo Yeah, that's true. And with a bit more effort I might have succeeded with SDL as well. But I was short on time, coding in C++ for the first time, fought with the compiler, kept screwing up things with pointers and tried to write bicubic image scaling from scratch. At a certain point I had to change a thing or two to save some time and SDL was just the first to go out the window. 😅
@kreuner112 күн бұрын
@@Aeduo The wiki looks very nice now. Im glad to see such a well-rounded open source project
@xravenx24feКүн бұрын
Tbf I think the documentation is a little sparse but fully functional for a user that knows what they're doing. The wiki is solid and they link to external tutorials on its main page, so you're not without learning material.
@ZenoDovahkiin2 күн бұрын
I wasn't on board with this meme so far, but now we actually unironically got SDL3 before GTA6.
@micmacha3 күн бұрын
Nobody ever talks about SDL, because *that's how good it is.*
@mirfan-20203 күн бұрын
wish it had 3d support... Working directly with opengl is a mess
@RenderingUser3 күн бұрын
Actually, there's only two kinds of tools. Tools that people complain about. And tools nobody ever heard of.
@hermes69103 күн бұрын
@@RenderingUser If you're a developer, particularly a games developer, and you haven't heard of SDL, you should take the time to question about yourself. That's how ‘unknown’ SDL is.
@RenderingUser3 күн бұрын
@@hermes6910 1. I have heard of sdl. 2. i use game engines instead of graphics libraries 3. my comment was a joke reference to a popular line, which i used in order to take a slight jab at sdl stop living life so seriously
@dimi1443 күн бұрын
@@mirfan-2020 well, I don't know what exactly you want from "support for 3D", but they did add a wrapper around graphics APIs such as Vulkan, Direct3D and Metal, so that you can use one API for your game/app and have SDL use whichever may be best when your game is running. This API is more invloved than OpenGL though
@wauthethird3 күн бұрын
bro stopped scrolling in steamdb and happened to be hovering over a porn game for like 10 straight seconds 💀💀💀
@alpercizmeci40393 күн бұрын
lol that Acting Lessons game looks fine as hell
@Capumaraca3 күн бұрын
lmao when he pause on that I thought "wait is he gonna talk about it?"
@luke1235XD3 күн бұрын
SDL is so good for game development, it does all the annoying stuff for you so you can just focus on building the game engine with low level control. SDL3 made it even better with main callbacks being one of my favourite features as it makes your project a lot cleaner and quicker to start. Sidenote: its a bit sad how nodeJS is more widely used as a library for games on steam than SDL :/
@redstone02342 күн бұрын
That because construct 3 and develop use NW.Js
@henrykkaufman1488Күн бұрын
Yes, the main callbacks are great. You can just pass everything you need to your game and expose only SDL things your game needs. You can do that without main callbacks by writing your own or making a wrapper, but that is a much more flexible and less time consuming way. You can exchange SDL for something else more easily and you game code stays the same! I regret so much I already am half-through my game in SDL 2. 😅
@toaraКүн бұрын
Bro I didn't even know NodeJS can be used to make games what the fuc man 😂
@BattyBestКүн бұрын
Using SDL is turning on the ultra impossible difficulty if you're going to use C, but in return your game will probably be extremely performant. NodeJS is the easy difficulty, but in exchange your game will be shit.
@luke1235XD23 сағат бұрын
@@BattyBest Honestly I don't think making games in C with SDL is that much more difficult than using something like JavaScript. Granted things like headers file and memory management are not easy to pickup at first but your still going to deal with some difficult things in JavaScript. Unless you're using a game engine or library you will still have program things like collision and do level/game design without a visual editor to help you.
@pavlebn2 күн бұрын
I love that Valve is pushing SDL, which kinda makes sense when you realize that they're slowly pushing gaming on linux with proton and steamos. Hopefully we see games shift to linux as the norm
@gamagama692 күн бұрын
i mean, arent apis that are already crossplatform better suited to being run with wine? thats valves endgoal at this point, theyve seen how many broken linux and mac ports exsit now. honestly, they probably need to revamp how native ports work, because like they should be more containerized imo. like ik steam uses containers, but they still need external libraries, and that just fucks over stuff so much
@pavlebn2 күн бұрын
@gamagama69 i wouldn't really know, I haven't tested it myself, but I imagine that the early support might encourage the further development, and hopefully can come in useful when they get to the point of revamping how native games work on linux. Either way, exciting stuff coming from valve in the recent period
@henry789Күн бұрын
i think valves goal is making proton the main target plataform for most games to make them be multiplataform
@matthewb1923 күн бұрын
Mike doesn't walk. He schwalks.
@ahmede923 күн бұрын
He walks from scratch
@eddiebreeg3885Күн бұрын
SDL is great! And it is used a lot... but not necessarily for the reasons you might think. For example, BG3 uses it as a window manager (window creation, input events) but nothing more, and if I were to guess, I'd say all the big games you mentioned do the same. That's also how I personally use it in my engine
@Cydeamon3 күн бұрын
Oh, nice timing, just about to start the new project. Will check it out!
@kelskye3 күн бұрын
I once built a 2D game engine out of SDL2. By built a game engine, I mean I wrapped various SDL2 components in a layer of abstraction so that I could easily build multiple games on top without having to touch the engine. It worked quite well - I was able to reuse the underlying "engine" for multiple prototypes. Looked terrible, but that was down to my nonexistent pixel art skills. Glad to see this is still being worked on. These days I'm using Godot and I'm happy with that, but it's nice to see that SDL still being worked on and enhanced.
@MaddTheSane2 күн бұрын
I think Ryan Gordon, an SDL maintainer, said it best: SDL is what you use to build a game engine.
@AntonyTCurtisКүн бұрын
I enjoyed talking with Sam Lantinga back when I worked at Blizzard with him. He's a very pleasant person and a very smart individual. I am glad that he's still successful.
@JonasBergling2 күн бұрын
Used SDL2 for a university project some years back, took a bit of fiddling to get going with it, but after that it felt pretty straightforward to build stuff with. I might take a closer look at SDL3 when I have some free time.
@rccsab3 күн бұрын
Then won me over with the GPU API and Pen support. That's awesome!
@therealgunny3 күн бұрын
SFML is also a modern and robust C++ library which is heavily influenced by SDL for the same tasks.
@Pear643 күн бұрын
SFML is baby's first framework. SDL but inferior
@TheCommunistRabbit2 күн бұрын
Sfml is a competitor to raylib, not sdl. A competitor to SDL would be direct x
@ElectricKitty3 күн бұрын
I was researching the sdl3 gpu functions yesterday lol
@merthyr18313 күн бұрын
SDL is the backbone of the industry. Great to see it going well
@MrBrigadierArchived3 күн бұрын
Wow, cannot wait for next Xonotic update 😁🎉
@bullpup1337Күн бұрын
I actually bought some Loki ports back then! Great stuff.
@nabir143 күн бұрын
I love SDL. It's one of the best libraries available for game and game engine development.
@zapoutix3 күн бұрын
big release ! i used SDL 1.2 .. long long long long time ago. probably have to add some extra "long" . Time where DemoScene still exists
@MechanicaMenace3 күн бұрын
The demoscene still exists. 4k and 64k is still relatively big on modern PCs and the retro side is going strong.
@Varelinski2 күн бұрын
2001-2003?
@CharlesVanNoland3 күн бұрын
The public SDL3 build is pretty solid, but the add-on libraries (like SDL_mixer) do not have public builds yet - devs will need to compile them from source until builds are made available.
@dirtydevoteeКүн бұрын
You had me at "Hades". Wow.
@NeilHighleyКүн бұрын
Great news, SDL2 was a hodge podge and gave me no deal of headaches when compiling on different machines
@martinrages20 сағат бұрын
the dialogs are insane! I always hated making my own
@a.lollipop2 күн бұрын
sdl is such a great library! I'll definitely take a look at SDL3 as a graphical and input backend for my game engine :3 also, the camtasia ad gave me so much nostalgia from when i used to make videos 😂
@EMB3D2 күн бұрын
awesome lib, defacto standard to ship multiplatform games, i am glad it still got attention
@simply4est3 күн бұрын
Thanks, I've been interested in this for some time.
@ForeverZer03 күн бұрын
I have always used my own combination of GLFW, libsndfile, sb_image (and related), and rolled my own font rendering (not fun). To be honest, I have been considering giving SDL just to simplify all these under one API, as all I am really doing is implementing my own less-tested version of SDL by doing this.
@DHARMA25217 сағат бұрын
Sounds great.
@ArchaeanDragon3 күн бұрын
I guess I should get on with updating my FreePascal bindings. :)
@ThePlaceholeКүн бұрын
Yeah, that and Prolog, please.
@Rogueixpresents3 күн бұрын
Mike! I was just looking into SDL!!!!!
@spartv15372 күн бұрын
sdl 3: a decade of improvements wayland: ok bro whatever
@cesarfigueroa61193 күн бұрын
perfect timing, i was just comparing sdl2 to raylib
@rubbietheone3 күн бұрын
Awesome announcement!
@SlyIfrit3 күн бұрын
I'm using SDL2 now, so yeah, I will be moving to SDL3 in the future. I was also able to build some of my smaller SDL2 apps for the web with emscripten.
@monolofiminimal3 күн бұрын
I guess I'll be playing with raylib/sdl in odin/zig/golang 😁 Already made a simple asteroids in raylib, need to do one in sdl now. So much toys to play with ❤ Was happy raylib updated, now even happier that sdl updated too.
@benoitrousseau41373 күн бұрын
Nice. I like SDL a lot. Despite being a major version change, this looks pretty much like a drop-in replacement for SDL2 as well. (At a quick glance the already existing APIs all look the same as in v2.)
@cristianinujazznight30443 күн бұрын
The truly framework.
@FlameRat_YehLonКүн бұрын
"Better keyboard input", it better be better! It's kinda frustrating how many apps don't work well with input methods.
@revenevan11Күн бұрын
SDL3 (+ OpenGL) is gonna be amazing, can't wait to use them to try to make my first game engine! I think I might try to use Zig for it, C interop is pretty smooth with it these days afaik. Should be fun, I'm mainly thinking of this project as just for the sake of my own learning since I only code as a hobby.
@SnakeEngine18 сағат бұрын
If you are going with opengl, then better just go with SDL3 with Raylib, as Raylib abstracts from the tedious opengl versions. It did all the tedious work already for you, as far as multiplat support in opengl can go. All you get are nice simple functions.
@RoboGameOfficialКүн бұрын
SDL is similar to SFML, which I also like. I prefer SFML because of its utility functions and ease-of-use structure, but I will keep open :D
@amynagtegaal69412 күн бұрын
5:38 i actually remade express.js from scratch, and i mean fully from scratch, i wrote my own net and dgram libraries from scratch, my own bindings to the network card interfaces, and my library is more secure than express, and it supports all HTTP protocols
@FR3NKD3 күн бұрын
Camtasia looks cool but I don't like the subscription model, don't they have a different plan too? I'm always on the lookout for more straightforward tools for video editing!
@darknetworld3 күн бұрын
Well you forgot those SDL_prefix names like SDL_Mixer, SDL_image, SDL_TTF, SDL_net are those stable for SDL3?
@krank233 күн бұрын
Very nice. I see there's also some decent-looking C# bindings, so I might actually check it out. It would be nice to give my students something a bit more standard than Raylib to chew on at some point…
@gunsarrus78363 күн бұрын
My game engine is built on SDL 2.1 and I plan to upgrade to 3 in the future but first I'm porting the engine from C# to C++
@Tezla03 күн бұрын
Why would you port it to C++?
@TheExtremeCube3 күн бұрын
What's your reasons for switching and why did you choose C3?
@gunsarrus78363 күн бұрын
@@TheExtremeCube MS wants me to use Win 11 to use SDL3 and I refuse to use Win11
@gunsarrus78363 күн бұрын
@@Tezla0 cause if I want to use SDL3 and C# I'd have to use win11 and I refuse to use that spyware
@spaghettiking6532 күн бұрын
@@gunsarrus7836 windows has already been spyware for at least a decade tho :p as windows 10 goes out of end of life you might wanna switch to linux or something which respects your privacy.
@AM-yk5yd3 күн бұрын
I remember SDL1. It had CD audio support. I don't remember when it was removed - in SDL2 from the go or no.
@alexnoman14983 күн бұрын
That probably was a necessary hack at the time. I would not want to support that any longer than necessary either.
@TheStolenBattenberg20 сағат бұрын
@@alexnoman1498It wasn’t a hack. The average computer had somewhere around 10-20GB of hard disk space at the time. It was absolutely crucial to be able to stream audio from the disc instead of installing it to the drive.
@randomsaloom72383 күн бұрын
i dont know how to explain this and i dont think anyone would believe it anyways but i watched this video entirely while holding an orgasmic gruge that i hoped could brust into some sort of reassurance within me. i need it like dopamine yet it feels empty anyways, i guess im just so mentally down man
@EthanBoiDev3 күн бұрын
fun fact: while re-implementing Unreal Engine, if you are running Unreal Engine on linux, that uses SDL2 So saying SDL is used in popular games is a HUGE understatement
@apollolux2 күн бұрын
Years ago when I toyed around with doing an engine from scratch after having used the Sphere Game Engine since 2003, raw SDL and raw PortAudio were my choices of libraries until the pain of replicating the PortAudio dev setup across my devices (including Windows) was just too annoying (SDL_Audio was fairly immature back then and SDL2 was just newly released) and I had to concentrate on college and work. If SDL3_Audio does what PortAudio did for me back then, I'll gladly use that in a heartbeat.
@anon_y_mousse3 күн бұрын
I think as technology gets more and more advanced, "from scratch" takes on a wholly different meaning than it did for prior generations. In my father's days, programmers would generally write things in assembly and that was way more from scratch than I've ever done. In my days, from scratch means writing it in C and implementing literally everything. Now, you can just pull up a game engine and point and click to make a game. Of course, there are always outliers like `jdh` who literally built a computer from scratch the Ben Eater way and made a game for it.
@gamagama692 күн бұрын
the implementing everything approch still has advantages at least rather than trying to outperform a compiler
@anon_y_mousse2 күн бұрын
@@gamagama69 True, but I wouldn't recommend it in the general case. If someone really wants to learn or really knows what they're doing and wants to outperform something or yield much smaller binaries, then sure, go for it, but if you're a newbie or you've just got an idea you really want to put into action and don't know a lot, using an engine is what I'd recommend. There's no shame in using UE to quickly prototype something or even to build a fully working game. There's also no shame in failing if you just want to learn something and take the longer and harder approach. The only shame is in quitting.
@SimonBuchanNz2 күн бұрын
The general rule of thumb is you should feel confident that you *could* implement something, as it is essentially the same thing as being able to predict how it works. If you don't feel like you understand something well enough to make it yourself, remaking at least part of it is a great way to get that confidence. Libraries like SDL are a bit weird for that though, as they're basically "just" finding the common behavior subset across a set of platforms, it's often actually easier to directly use the platform API (creating an OpenGL window in Windows being a notable exception!)
@randewkumarasinghe1371Күн бұрын
From what I saw there is a massive overlap between SDL and Monogame
@ChaojianZhang2 күн бұрын
This is what I need if I don’t want to use Ogre3D for my next game engine!
@FinaISpartan3 күн бұрын
Is Source2 built on top of SDL2, if so, I wonder if it'll be moved to SDL3? Also curious how this affects proton since SDL2 is in the Proton pipeline for input mapping
@gamefromscratch3 күн бұрын
From this line "but SDL 3.0 has been battle tested by millions of people in DOTA, CS2 and Steam, and is ready for your eyes!" i'm assuming they already have.
@theministryofnonsense3 күн бұрын
CS2 already using SDL3
@gideonunger72843 күн бұрын
unity and unreal also use sdl so those can all be included
@CinarbayramicКүн бұрын
cool now i have to port my incomplete engine to sdl3...
@local.interloper3 күн бұрын
Wait, isn't stardew valley built on top of monogame?
@TechnicJelle3 күн бұрын
Many game frameworks rely on SDL under the hood
@llamasarus13 күн бұрын
I'm using MonoGame now, but I'm thinking of eventually using SDL to make a USB-downloadable game console for Raspberry Pi.
@lemonjumpsofficial3 күн бұрын
THERES A PYTHON BINDINGS ALREADY!!!
@unqualifiedgamer62523 күн бұрын
WHAT its finally here? :O
@gamefromscratch3 күн бұрын
Not quite. But the ABI is stable so it's pretty much the equivalent of release candidate and "safe" to use going forward.
@retrodad93903 күн бұрын
SDL can also be used as backend in raylib and is used bij some good frameworks like fna.
@skeleton_craftGaming3 күн бұрын
sdl is also on apt and VCPKG, making it easy use on both windows and [Debian based[ linux...
@nempk18172 күн бұрын
C for people that are not afraid of coding. Thats why vulkan api is made in C too.
@luckyknot3 күн бұрын
Got depressed seeing that snake example to put much effort to learn SDL
@alexnoman14983 күн бұрын
It's a couple hundred lines of code, calling drawRectangle. The point was to show it compile to web, not look pretty. Just play or look at Baldur's Gate 3 for a fancier example (without the code) It does not matter what library you pick as long as you are less pessimistic about it than you sound here 😅
@s4uss3 күн бұрын
how does this and cross-platform compare to something like Rust and Bevy, what is most convenient?
@lemonjumpsofficial3 күн бұрын
sdl 3 its been ages *falls to dust*
@blackhole78183 күн бұрын
Would it be a good idea to learn sdl on this? Or should i still go with basic sdl
@mindrip3 күн бұрын
If you are starting fresh, use the latest version, SDL3.
@ForeverZer03 күн бұрын
This is the new basic.
@lemonjumpsofficial3 күн бұрын
IT HAS PEN API, OK IM SWITCHING
@lemonjumpsofficial3 күн бұрын
IT SUPPORTS ANDROID!!!!
@lemonjumpsofficial3 күн бұрын
IT HAS A WASM SUPPORT
@whtiequillBj3 күн бұрын
I know this isn't something you usually cover but how is color space support going on Linux and how does SDL3 support work, or not work, with it?
@bootmii983 күн бұрын
What are the system requirements though? What systems will it drop?
@Varelinski2 күн бұрын
I'm still rocking 1.2 lol
@Garfield_Minecraft3 күн бұрын
I'm still using SDL2 ._. I don' want to switch right now
@JarppaGuru3 күн бұрын
its okay every good ones is backward compatible. thats why i know many that suck. we not name python xD
@callyral2 күн бұрын
sudden urge to make a game in C and suffer for fun
@callyral2 күн бұрын
holy cra0 i kinda wanna learn to make voxels
@callyral2 күн бұрын
sorry for the typos itß 4:54am
@666ejames3 күн бұрын
pygame is built on top of SDL so all the pygame games also count as SDL games
@hamidrezakaramian52743 күн бұрын
best libs: SDL/SFML/Raylib
@lemonjumpsofficial3 күн бұрын
THERES A RUST BINDING TOOO
@gnatinator3 күн бұрын
Unity, Unreal, Godot all use SDL.
@mtxn3 күн бұрын
isn't the unreal also using SDL(to some extent)? IIRC they using it for linux games
@brezanac2 күн бұрын
Camtasia is still a thing? Dayum
@demarcorrКүн бұрын
wait.... OpenGL is an abstraction on SDL? my god i know so little
@Kioki1-x8p2 күн бұрын
Imagine putting this much effort for a snake game
@MirrorsEdgeGamer013 күн бұрын
Unreal also uses SDL.
@Muneebdevelopment3613 күн бұрын
no way!
@FranzBrummer3 күн бұрын
Neither Stardew Valley (Mono) nor Dead Cells (Haxe, Heaps) use SDL!
@oshinwane69023 күн бұрын
Help me pls: Is SDL3 good for a 3d mobile game (what if i use c# with it?)?
@igorthelight3 күн бұрын
If you want to make a game - why not start with a game engine like Godot or Unity? Are you sure that you wanna start with game frameworks (more coding required and there is no Editor)? ;-)
@Pear643 күн бұрын
@igorthelight programming with a game engine is an entirely different experience, I would say it's best to try both to figure out which is preferred. I feel like a lot of people have in their mind that game engines are the only option, simply because they've never tried anything else. Obviously you have to do more work without one, but that isn't always a bad thing. In the end, a game engine would probably be the better option, but I think the reasons are not just because it has an Editor and QoL features, but rather because it takes more dedication when doing it from scratch to learn all of the systems in a game.
@igorthelight2 күн бұрын
@Pear64 Could agree!
@SnakeEngineКүн бұрын
I guess for now not that great of an idea, because SDL3 natively supports only 2D render operations (that would work cross platform on everything) for the quick. The new SDL3 GPU api should solve your problem, but it is still early days and it looks like a wrapper over very low level API such as Vulkan. So it is probably hard to use and geared towards more experienced people. So for 3d you would ideally need opengl, and that means Mac/IOS support goes down the toilet. So it would only work on Android (with opengles), Windows and Linux. Better use a higher level framework or engine for that. Raylib is also wrapping only opengl, btw., so it won't run on Mac/Ios.
@batner3 күн бұрын
Interesting....
@turtletaub-f9t2 күн бұрын
Looking very festive there, polished those baubles I hope.
@eth79283 күн бұрын
Raylib or SDL?
@TravisBerthelot3 күн бұрын
Both are great. Instead of choosing just create your own wrapper and build from a higher level. That way you don't need to put yourself into a vendor lock in.
@sinsinkun3 күн бұрын
I would recommend raylib if you're just starting out. The API is much simpler to use than SDL so you can get started much faster. Trade off being that SDL has more fine detail customization.
@FoXcodeZ3 күн бұрын
Depends, what you want to achive. SDL is used in tons of commercial games, and as a part of the game engines (CryEngine for example). Raylib is a great start for a beginnners and for fun.
@SnakeEngineКүн бұрын
You can use both at the same time. If you can get away with 2D graphics that don't need shaders, SDL2/3 is perfectly fine and it supports blending operations (and you can do a lot of cool stuff without shaders if you are clever! ;)). If you need 3D or more render functionality, Raylib is more convenient as it is an abstraction over multiple opengl layers (including mobile). But you are limited to platforms that support opengl (so Mac/Ios is probably not supported).
@eth7928Күн бұрын
@@SnakeEngine Sounds good, thanks! My project would be 2D only but maybe I need to extend to support normal maps and 2D light reflections.
@nullval719816 сағат бұрын
why is it called an ABI and not an API?
@doodleEeto3 күн бұрын
[Insert generic Raylib fan comment here]
@dng88Күн бұрын
Sdl2 with iOS is a hit and miss to me. I have a version very strict on which library and still sometimes it suddenly stop working. Then it run on my idevices. Hope sdl3 better
@SnakeEngineКүн бұрын
You can report the error on their forums and it might get fixed.
@Kradse3 күн бұрын
i made space invaders with sdl2 and pascal a few years ago. but have sense moved to bevy :)
@petrut34872 күн бұрын
Mount and blade: warband ignored Opinion invalid
@jpnn33903 күн бұрын
SDL (Simple DirectMedia Layer) is not longer simple. :(