I linked all C++ gamedev Libraries, so you don't have to!

  Рет қаралды 25,833

Low Level Game Dev

Low Level Game Dev

Күн бұрын

Пікірлер: 169
@squade4873
@squade4873 3 ай бұрын
i swear, c++ is the only language where i've spent more time trying to understand how to get external libraries to work than actually learning the language this is just ridiculous
@SKCCSA12UCS055
@SKCCSA12UCS055 2 ай бұрын
same here dude
@tanura5830
@tanura5830 2 ай бұрын
@@SKCCSA12UCS055 same broooo. seriously super annoying. I am thinking of quitting programming. Just hate linking stuff. Other languages may be easier but still it's annoying.
@Furkan_Dev
@Furkan_Dev Ай бұрын
same HABHASNJDKM
@pineappleman570
@pineappleman570 Ай бұрын
Real
@tanura5830
@tanura5830 Ай бұрын
@@squade4873 same that's why I quit learning. For me it's annoying to constantly set things up
@mikhailhumphries
@mikhailhumphries 6 ай бұрын
Whoever does c++ with opengls and making their own game engine is a certified wizard
@doodocina
@doodocina 6 ай бұрын
how about c...
@azraein3738
@azraein3738 6 ай бұрын
Heh, I probably should switch to C++, I've been using OpenGL with Java.
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
wanna join? 🧙‍♂️
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
yes, I would recomand to 💪
@arl-t8d
@arl-t8d 6 ай бұрын
how about vulkan...
@PecaCS
@PecaCS 6 ай бұрын
I am currently using your sdl2 with opengl template and what you said happened in my case. I went straight away to coding and learning opengl without having to worry about the setup. Thank you for the help.
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
nice 💪 please let me know if you have any problems so I can make it better
@정하은-h6s
@정하은-h6s 6 ай бұрын
Thanks for the great video. I'm a non-native English speaker and to me you sound like Khajiit from Skyrim. I love your videos!
@christianbouwense4702
@christianbouwense4702 6 ай бұрын
you are a legend for doing this thank you
@ivlis.w
@ivlis.w 5 ай бұрын
One time I tried using raylib's template in VSCode It worked fine for one file in a specific directory, but add multiple files and subdirectories and it for some reason wasn't compiling, also I had to copy the entire thing for each project Ended up learning how the compiler works, how to link libraries, and creating my own Makefile
@m128jg
@m128jg 6 ай бұрын
It took some doing, but I eventually got linking to work with Code Blocks and saved my project as a custom template. When creating a new project, I copy the SFML DLLs into the new debug and release folders.
@slava6105
@slava6105 6 ай бұрын
cmake's target_link_libraries goes brrr
@noahshrktr
@noahshrktr 6 ай бұрын
You're a hero
@Marcus001
@Marcus001 4 ай бұрын
Too late, already spent my whole weekend trying to link libs and got it working 😱
@hexadecimal_
@hexadecimal_ 6 ай бұрын
my goat is cooking
@tuberask
@tuberask 6 ай бұрын
You should add the glut libraray! 👍👍😊😊, amazing video as always!!!
@alomac8976
@alomac8976 Ай бұрын
0:47 Oh, it only took you a day
@namansharma6561
@namansharma6561 6 ай бұрын
Make a tutorial on Vulkan
@ulrich-tonmoy
@ulrich-tonmoy 6 ай бұрын
why dont any cpp compiler comes with cli tools to create and install pkg like modern languages
@UnrealCatDev
@UnrealCatDev 6 ай бұрын
because C++ and C are good languages for giga chads and not noobs who don't even know what assembly is
@ulrich-tonmoy
@ulrich-tonmoy 6 ай бұрын
@@UnrealCatDev so?
@UnrealCatDev
@UnrealCatDev 6 ай бұрын
@@ulrich-tonmoy so why would it need an installer for libraries?
@jackzugna5830
@jackzugna5830 6 ай бұрын
No one has ever needed it until now.
@CatwaiiYT
@CatwaiiYT 6 ай бұрын
shit's hard to maintain while cross platforming I guess
@ThyTrueNightmare
@ThyTrueNightmare 6 ай бұрын
This is very interesting though I am hoping to learning vulken and C++, would like to learn that one as I have been told its quite hard and I am a always taking the hard route
@nullval7198
@nullval7198 24 күн бұрын
This is amazing, will you also do one for SDL3 and SFML3?
@oglothenerd
@oglothenerd 6 ай бұрын
Or you could just show us how to link libraries.
@tako_val
@tako_val 6 ай бұрын
Or you could just google how to link a library
@blastygamez
@blastygamez 6 ай бұрын
Precisely
@PixelThorn
@PixelThorn 6 ай бұрын
You can choose SLFM with opengl as well, it's more or less plug and play compared with SDL2
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
ok, I will add opengl to sfml, but I recomand glfw instead of sdl, also I also did sfml with opengl and it is kinda wierd, you might have some problems, because opengl has global state sfml will interfere with your opengl. (I had some problems and the fix was to call glDisableVertexAttrib() for attributes 0 to 8 or something like that
@PixelThorn
@PixelThorn 6 ай бұрын
@@lowlevelgamedev9330 it's okay, you don't need to change anything, just thought you should know, but if you do change then just add the caveat you just added here that it might not be 100% from your experience
@glizzdawiz
@glizzdawiz 5 ай бұрын
I have done this so many times, I became an expert at it and still run into issues
@lowlevelgamedev9330
@lowlevelgamedev9330 5 ай бұрын
ye me too 😭
@PecaCS
@PecaCS 6 ай бұрын
Please make a video that helps people decide between C and C++ for game dev with open gl. Great content keep it up!
@MrFunny01
@MrFunny01 6 ай бұрын
Game development generally requires some OOP being present. For example for entity system. You have a class entity, and when you want to make new entity types, you just extend the class and write inheritance style code. In C you would do something like struct { void update(entity_data_t *data); } and then for each entity type you would need a method like pig_update(), cow_update() which will get annoying really quickly, because you would need to manually specify the methods. Then you would either keep doing it with lots and lots of repetitive code thus making a room for errors and an absolute nightmare to refactor if you decide to change something, or you will end up writing the same exact abstractions which C++ offers out of the box, and then you would debug these abstractions. So just go with C++, and if you’re afraid that your code will look very scary, just write C-like code, C++ is the superset of C in the end of the day and this guy already has video on it.
@user-tw2kr6hg4r
@user-tw2kr6hg4r 6 ай бұрын
its astonishingly simple when using gcc and make on arch
@user-lz2oh9zz4y
@user-lz2oh9zz4y 6 ай бұрын
Am I insane for using regular old Command shell instead of using Cmake? Yes, but I know it will work regardless
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
no, there are people that do, I also did, but cmake helps you link libraries and thats important
@m_remon
@m_remon 6 ай бұрын
Yes, to not use Cmake, Make, and rawdogging it (cli only) i made my own build tool, it only kinda works tho
@theevilcottonball
@theevilcottonball 6 ай бұрын
I do use cmd and write a batchfile, I even reverse engineer the build system of my dependencies and convert them to cmd. (E. g. Building raylib is easy, you just have to add 6 C to your compile line, define the desktop platfrom and you are good to go) In general, I prefer header only libraries so I have to do as little work as possible. (BTW, if I don't use raylib and want something like opengl, I use the header only Sokol libraries (they are a cross-platform abstraction across different graphics backends, like Metal, DirectX, OpenGL, WebGL, WebGPU) and get something more portable than opengl with less build system struggle (building GLFW requires cmake by default, I mean building it with cmake works, but I do not like building it).
@Gallardo994
@Gallardo994 5 ай бұрын
BGFX template would be godsent tbh
@Mr_MnO2
@Mr_MnO2 6 ай бұрын
I need a tutorial video on how to use Magnum c++ library, Please bro
@dimanarinull9122
@dimanarinull9122 5 ай бұрын
Why wasn't this video available at 2010... I could've avoided learning windows forms...
@lowlevelgamedev9330
@lowlevelgamedev9330 5 ай бұрын
sorry bro :(( I also needed something like that so that's why I made it 💪💪 but better later than never,
@UnrealCatDev
@UnrealCatDev 6 ай бұрын
Vulkan + GLFW + GLM + OpenAL
@ozanmrcan
@ozanmrcan 6 ай бұрын
why stb and not sdl for image and ttf
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
well because that is shown in lean opengl, and also idk if sdl imsge requiers sdl so that wouldn't make sense for glfw.
@ozanmrcan
@ozanmrcan 6 ай бұрын
@@lowlevelgamedev9330 i was talking about no open gl sdl version. i see with sdl2, you used stb img and stb truetype instead of sdl_image and sdl_ttf which feels like the more obvious choices. i wondered why. i didnt word my comment properly
@luxluth
@luxluth 6 ай бұрын
unix systems make linking so easy
@ArnabJhaYT
@ArnabJhaYT 6 ай бұрын
Thanks sir. I'd really appreciate it if you could teach us how to add our own library into this later.
@ArnabJhaYT
@ArnabJhaYT 6 ай бұрын
Nevermind, i got it
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
💪 glad you managed to do it, yes I will make tutorials like that, and I already have some small cmake tutorials 💪
@RichardLofty
@RichardLofty 6 ай бұрын
Just use Odin or Jai. They have built-in Raylib, SDL, OpenGL, Vulkan, Metal, DirectX and so on. Plus Jai compiles 100 faster than Cpp foor example.
@RenderingUser
@RenderingUser 6 ай бұрын
or use bevy ecs with raylib best simple setup
@razorgmyt6772
@razorgmyt6772 6 ай бұрын
i like more sfml than those
@Tezla0
@Tezla0 6 ай бұрын
Jai is a nonexistent language
@yogxoth1959
@yogxoth1959 2 ай бұрын
Could you make a tutorial on how to create statically linked libraries on Windows? Like a static glew library you could link to with /MTd flag.
@lowlevelgamedev9330
@lowlevelgamedev9330 2 ай бұрын
yo so I will make a tutorial at some point, untill than, the setups there all are statically linked. There are some flags in the main cmake file at the begining, you can take a look there 💪
@SirPytan
@SirPytan 6 ай бұрын
OpenGL is good for the beginning, but for more ambitious projects that should run well on modern GPUs, Vulkan or DirectX would be preferred. Can you add setups, that include those as well? For DirectX, maybe both DirectX 11 and 12. I know DirectX 12 requires a lot more setup code, but it would be worth it.
@cycomkid
@cycomkid 6 ай бұрын
I am glad i am using Odin
@NeZversSounds
@NeZversSounds 6 ай бұрын
Why Imgui is just for Debugging? It looks perfectly fine for release product too.
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
you can also do that, but you need to improve the visuals a bit, it's not really meant to make the in game ui, but you can
@boxzoopa
@boxzoopa 4 ай бұрын
When I tried this out with raylib I wasn't able to load textuures with the resource path macro (texture = LoadTexture(RESOURCE_PATH "path/to/texture.png");
@lowlevelgamedev9330
@lowlevelgamedev9330 4 ай бұрын
yoo, can you dm me on discord? I want to fix this problem for the setup.
@StellarHarbour
@StellarHarbour 21 күн бұрын
VS Code?
@Qohist
@Qohist 6 ай бұрын
please Webgpu native library
@pixelbionics
@pixelbionics 20 сағат бұрын
how can i use it on Linux ??? i cant run exe. any ideas for c++ on Linux
@lowlevelgamedev9330
@lowlevelgamedev9330 19 сағат бұрын
you can use cmake with linux, there are multiple ways to do this, it can generate a makefile for you by typing the cmake command, or you can integrate it with vscode, search online cmake with linux
@researcher2313
@researcher2313 4 ай бұрын
I dont know if you hace heard of conan, which can download all the libraries in correct versions, generate cmake and provide all the headers correctly
@razorgmyt6772
@razorgmyt6772 6 ай бұрын
It is better to use xmake than cmake nowadays
@GabrielVoxel
@GabrielVoxel 9 күн бұрын
Linking is the first step of C++ coding. You can't do it, you are probably not ready for it.
@lowlevelgamedev9330
@lowlevelgamedev9330 9 күн бұрын
I don't know anyone who learned to link before learning to code :)))
@GabrielVoxel
@GabrielVoxel 9 күн бұрын
@lowlevelgamedev9330 That is a below average display of reading comprehension.
@uke9999-v7x
@uke9999-v7x 6 ай бұрын
You're really my sunshine
@ChandrapalSd
@ChandrapalSd 6 ай бұрын
Thnx
@agentstona
@agentstona 6 ай бұрын
Can you make projects for CODEBLOCKS OR DEVC++ .as well ?
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
I will consider that, untill than, you should be able to generate a codeblocks project with cmake, install cmake and to the steps that I showed, it should vreate a codeblocks project, or search online how to generate a codeblocks project using cmake, it should be easy
@toony966
@toony966 6 ай бұрын
Lessgoo!
@blastygamez
@blastygamez 6 ай бұрын
I get it but if your properly know how to use the compiler and link libs it shouldn’t be a big problem anymore. It’s part of C++ to know how to link libs properly other wise you should find an easier programming language or learn how to use the compiler in my opinion we already have it way too easy.
@blastygamez
@blastygamez 6 ай бұрын
People probably won’t like this comment probably because it’s going against there convenience
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
that is true, but for a biginner that is not really something fun to learn, I'm not against learning them, people have to learn them but I think they have to learn them later because they are more advanced and less interesting
@blastygamez
@blastygamez 6 ай бұрын
@@lowlevelgamedev9330 ye that is true
@blastygamez
@blastygamez 6 ай бұрын
The language and the api’s are indeed more important than learning how to use the compiler, but it shouldn’t be that hard to learn if you have a good learning source
@kunefethe
@kunefethe Ай бұрын
This works with vscode aswell?
@lowlevelgamedev9330
@lowlevelgamedev9330 Ай бұрын
yess you need to install the cpp amd cmake extensions
@MrSofazocker
@MrSofazocker 6 ай бұрын
just one thing, don't ship dependencies lol, cmake will fetch em
@TheAlexgoodlife
@TheAlexgoodlife 6 ай бұрын
I think theres a possibility that with changes it may break his setup. Raylib ships dependencies for this reason I think
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
usually I have to slightly modify dependences, so I preffer to ship the dependences, I don't think a few mb will be a problem for anyone :)))
@hijarian
@hijarian 6 ай бұрын
yeah, until the URLs for fetching will become unaccessible and cmake will not fetch them for you. Vendoring exists for a reason.
@rileyhawksworth8362
@rileyhawksworth8362 6 ай бұрын
Hello, I'm here early.
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
let's goooo 💪💪
@SteinBee
@SteinBee 2 ай бұрын
Are these cross platform as well?
@lowlevelgamedev9330
@lowlevelgamedev9330 2 ай бұрын
yess, tho I only tested with linux, and only one time with apple
@SteinBee
@SteinBee 2 ай бұрын
That should work fine for me. In the future, I don’t think it will be possible to run unsigned applications on Mac anyway. Thanks for these cmake files :)
@justcat3
@justcat3 6 ай бұрын
Personally, I found it easier to "fight Rust's borrow-checker" than to build and link C/C++ with third-party libraries. I was almost happy with Make scripts while I was doing small C projects. But that was only on Linux, on Windows it's bad even with MSYS2. And CMake... For me it looks like trying Haskell for the first time without knowing that languages can be procedural or functional. My brain refuses to even try to understand CMake.
@hoanglam649
@hoanglam649 6 ай бұрын
wait, how can I run Make scripts on Linux?
@justcat3
@justcat3 6 ай бұрын
@@hoanglam649 I mean GNU make which uses Makefiles
@justcat3
@justcat3 6 ай бұрын
@@hoanglam649 I meant GNU make which uses Makefiles
@justcat3
@justcat3 6 ай бұрын
@@hoanglam649 I meant Makefile
@slava6105
@slava6105 6 ай бұрын
​​@@hoanglam649 1. The comment you answered to mentions CMake, not just Make. CMake(1) is a tool for building scripts (not only for Make), and Make is a rool for running the specific generated scripts. 2. Make(1) is widely used in Linux, most distros havs it in some "dev" / "devel" packages (the ones with common tools for building stuff) but just installing "make" (search the package name for your distro) is enough to have Make installed and be able to run Make scripts. To run Make script, often called Makefile (handwritten or generated one, doesn't matter), you need to execute "make" in the directory with Makefile.
@Gabriel-rg7cy
@Gabriel-rg7cy 4 ай бұрын
I was struggling
@jesusmgw
@jesusmgw 2 ай бұрын
Best antiCPP propaganda video ever.
@lowlevelgamedev9330
@lowlevelgamedev9330 2 ай бұрын
fr, most normal cpp fan 😂
@toy-x6q
@toy-x6q 6 ай бұрын
what origin are you, midle eastern, good accent
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
yo, I'm from Romania 💪
@toy-x6q
@toy-x6q 6 ай бұрын
@@lowlevelgamedev9330 nice, i thought so, me too
@toy-x6q
@toy-x6q 6 ай бұрын
@@lowlevelgamedev9330 nice, me too
@xenopholis47
@xenopholis47 6 ай бұрын
Can anybody point me to some free resources where they teach you game dev from scratch including programming, memory, methods, everything. Edit: Even a exhaustive list which contains all the subjects needed for game dev should help.
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
yo I have exactly this on my discord, (link in the description of my videos) I have some read only channels where I only post great free resources, check them out 💪
@xenopholis47
@xenopholis47 6 ай бұрын
@@lowlevelgamedev9330 I will join the discord then.
@QWERTIOX
@QWERTIOX 6 ай бұрын
Did you know about meson? You just add dependency in config (one line) and then it will link it for you. If you don't have it installed on system it has source based package manager called wrapdb where you just type meson wrap install sdl2 and you have it builded by your compiler
@whiteingale
@whiteingale 2 ай бұрын
Help me cure me.
@Someone16248
@Someone16248 6 ай бұрын
Bro 's simple example looks way too hard 😅 , meanwhile i use linux , sdl2. And vim editor . Fr it is easy to install sdl2 on linux though😊
@umbranocturna6342
@umbranocturna6342 6 ай бұрын
Incredible. i can enjoy coding, but the entire setup part is giving me actual cancer.
@neverdie2561
@neverdie2561 6 ай бұрын
Se aude romanul din tine
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
😫😫 am fost prins
@marks_shot
@marks_shot 6 ай бұрын
ekamC
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
cumk
@lukasjetu9776
@lukasjetu9776 6 ай бұрын
​@@lowlevelgamedev9330now remove the k
@bbrruunnoo6161
@bbrruunnoo6161 6 ай бұрын
skibidi library when?
@hacker_boy_263
@hacker_boy_263 6 ай бұрын
I might be first viewer
@lowlevelgamedev9330
@lowlevelgamedev9330 6 ай бұрын
the first comment for sure 💪
@thebytefactory
@thebytefactory 6 ай бұрын
There were 2 viewers when I clicked on it, now around 40.
@AB-ms7my
@AB-ms7my 4 ай бұрын
The biggest question is to how deal with cheaters later. I don't see anything from this video...
Comments are bad, do this instead!
5:07
Low Level Game Dev
Рет қаралды 13 М.
Premature Optimizations.....
14:36
Low Level Game Dev
Рет қаралды 20 М.
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
Why I write C++ like it is C?
9:28
Low Level Game Dev
Рет қаралды 38 М.
All OpenGL Effects!
30:21
Low Level Game Dev
Рет қаралды 70 М.
One second to compute the largest Fibonacci number I can
25:55
Sheafification of G
Рет қаралды 454 М.
Best C++ Game Wins $1,000 - Game Making Challenge
22:18
Barji
Рет қаралды 863 М.
Making Minecraft but the server is Optimized!
14:53
Low Level Game Dev
Рет қаралды 15 М.
10 Gamedev Libraries For 10 Needs (used by AAA companies)
11:33
Oskar Schramm
Рет қаралды 35 М.
Brutally Honest Advice for my younger C++ gamedev self
9:14
Low Level Game Dev
Рет қаралды 12 М.
RayLib 5 Released - The Easiest C/C++ Game Library Just Got Even Better
10:42
Teaching myself C so I can build a particle simulation
11:52
Gradience
Рет қаралды 340 М.