Why is graphics programming SO HARD to learn? My story

  Рет қаралды 15,639

Low Level Game Dev

Low Level Game Dev

Күн бұрын

Пікірлер: 123
@y0_0go
@y0_0go 23 күн бұрын
When he said it took him days to setup SFML and get that green circle code to work.... I cried . Sooo relatable
@adamrushford
@adamrushford 23 күн бұрын
www.youtube.com/@adamrushford
@JtagSheep
@JtagSheep 22 күн бұрын
Making a circle aint easy but it should take "days" to setup SFML, if possible you should also stray away from SFML and learn how to do most of it yourself, its really not hard considering the biggest part of cross platform windowing and input is sorted for you using GLFW.
@savagesarethebest7251
@savagesarethebest7251 21 күн бұрын
Well, I learned that you 'mov ax, 0x8000+y*resolution+x' to put a pixel on the screen. Then you have to code your own line drawing algorithms, circle drawing, and bezieer splines. I coded assembler when i was 11 years old, self learned. I had no one around me that knew this stuff, I had to find it myself on the internet in 2001 at the same time I learned myself English.
@JtagSheep
@JtagSheep 20 күн бұрын
@@savagesarethebest7251 Very nice I too am self taught! OS Dev was one of my fave things to learn.
@sussmusk
@sussmusk 23 күн бұрын
Bruh I am 14 year old I was trying to learn opengl but then left due to its math now i am simulating physics in pygame
@Trixter-r1p
@Trixter-r1p 23 күн бұрын
There is also Vulkan which is 1000 times more difficult to learn. However, it allows you to do things that are difficult to do using OpenGL and also provides more opportunities for optimization.
@MrLegitimate
@MrLegitimate 23 күн бұрын
I'm also 14 and I also found OpenGL difficult as well. I then decided to learn how to make a 2D game first then eventually go to 3D games. I'm using SFML and quite straight forward.
@Cinarbayramic
@Cinarbayramic 23 күн бұрын
dont worry its pretty simple when you look at it i am currently making a graphics engine in sdl2 and the most mathy thing i did included pretty simple functions like sine or sth like that
@knitnatsnokprogramming
@knitnatsnokprogramming 23 күн бұрын
Pygame for the win 🏆 I am currently doing a game engine using pygame
@gerardonavarro3400
@gerardonavarro3400 23 күн бұрын
​@@knitnatsnokprogramminga game engine using pygame sound slow tbh 😭😭
@EStartive
@EStartive 23 күн бұрын
it doesn't even have a cursor! vim and emacs users:
@HatsuSixty
@HatsuSixty 23 күн бұрын
emacs does have a cursor tho. actually, emacs' default user interface is very user friendly, it's just that most people (myself included) remove these components from the interface. vim is the hard one
@Cinarbayramic
@Cinarbayramic 23 күн бұрын
​@@HatsuSixtyvim is simple too only complicated thing is macros/ leaving the program
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
💀
@Nystoke
@Nystoke 22 күн бұрын
me after accidentally forgetting the closing “ after a git commit -m
@blackbeard3449
@blackbeard3449 20 күн бұрын
Both of them have cursors, multiple even.
@hrvatskistakor23
@hrvatskistakor23 22 күн бұрын
It took me about 6 failed engine projects during last 18 months to become a beginner with vulkan graphics programming, still getting stuck on things but it's much easier over time. I remember the day that the basics of matrix manipulations clicked with me and after that it was easy to recognize when i did something wrong, it kind of becomes natural.
@jakobmusic9187
@jakobmusic9187 21 күн бұрын
I still remember the cg courses in my bachelor computer science bachelor degree. they were one of the hardest modules.
@constantitus
@constantitus 23 күн бұрын
Hearing Vlad say "I think I managed to get some really good graphics out of it" while the shadows are glitching in the video is peak. Reminds me of that clip of the Dead by Daylight main developer saying "I think we did a pretty good job so far" while the game was barely playable 💀
@constantitus
@constantitus 23 күн бұрын
(5:38, the shadow on the cliff)
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
those aren't shadows tho, (the sun direction is perpendicular to that wall) it is minecrsft style light that just has a value from 0 to 15 and it decreases by one with the time of day. Tho shadows are glichy rn but I didn't show that in the video 😂
@blufudgecrispyrice8528
@blufudgecrispyrice8528 21 күн бұрын
@@lowlevelgamedev9330 i was impressed tho lol
@iamaprogrammer988
@iamaprogrammer988 23 күн бұрын
I absolutely love computer graphics, I got a bit burnt out though. I think partially because I tried to learn everything way too fast (3D in Vulkan from almost no rendering knowledge fast). I got to a point of rendering about 10,000 basic cubes with textures before getting burnt out. I kept some of that knowledge, but I didn't retain as much of that knowledge as I would have liked. After I'm finished with collage applications, I will probably take the time to more thoroughly learn computer graphics and the math behind it. Definitely don't rush through learning, especially with computer science, you may not learn as much as you think you are XD
@PySnek
@PySnek 23 күн бұрын
The only thing I still struggle with is networking. Even with easier programming languages like Python or Lua. I just cant wrap my head around it!
@AntonioNoack
@AntonioNoack 23 күн бұрын
Networking = you define a format for your packets, and then parse them on each side accordingly. To avoid parsing errors, you could send JSON objects.
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
I made a video on this, I think it can help you a little
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
networking is not just sending packets, that's like the easyest topic from it, it's like only 1% of it
@MrValsung
@MrValsung 23 күн бұрын
great video. curious on the graphics book your pops gave you. in general, I would like resources that teach you how to render shapes without just being given libraries that do that for you.
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
yeah that book doesn't have any of that information 😂 I think it is older than opengl itself. KZbin is your best option and I also have some cool resources on my discord server in the resources section
@MrValsung
@MrValsung 23 күн бұрын
@@lowlevelgamedev9330 fair enough. I would like to know the book anyways if you still have the title. I am pretty familiar with the basics of graphics rendering, I just would like to actually set up a dev environment in DOS, and was hoping that the book you read would be good supplementary material on accomplishing said end.
@mariusirgens5555
@mariusirgens5555 23 күн бұрын
I was very lucky that my university offered a wide range of both 2D and 3D computer graphics programming courses, along with relevant math courses. I did a master in visualization, where basically every course was graphics related. When I got my PhD position in a new university, looking at their course list, there was not a single graphics related course to choose! Computer graphics are incredibly important, but to offer a full range of courses on the topic, there is a need for a visualization group that can teach the subject in an academically relevant manner. Most universities do not have such a group, but some do. If you want to study computer graphics, find a university that has a visualization group.
@mirm0n
@mirm0n 17 күн бұрын
I have no interest in learning graphics programming but I was intrigued by the title of this video!
@carlriemann925
@carlriemann925 23 күн бұрын
Why always opengl? I have been studying vulkan for the past 6 years now. It's amazing. I got my job as game programmer in a AAA gaming company now. Everywhere I go I see opengl tutorials. But the truth is vulkan is being used extensively everywhere.
@Yan23459
@Yan23459 23 күн бұрын
Opengl is simpler and has faster results so people recommend you to play with it first before going to vulkan or even direct x
@JtagSheep
@JtagSheep 22 күн бұрын
Because OpenGL is super easy to setup and get running, Vulkan takes a whole day just to get a triangle on screen. Vulkan is the succesor to OpenGL though and is pretty damn neat!
@tiaanbasson9092
@tiaanbasson9092 12 күн бұрын
Compatibility reasons for older devices which does not have Vulkan. I recall a time when hardware acceleration wasn't common so school taught graphics on DOS based software rendering API's so students in poorer parts of the world can learn the fundamentals. Some schools where I live only has Intel graphics from 2010.
@Cactusman-e1d
@Cactusman-e1d 23 күн бұрын
Yep as a CS student in my final year..... i have spent months just learning math, and now finishing up calc1 but even to do extreamly advanced stuff in graphics. I still would need to learn cacl2 and 3.... ontop of other stuff. In short if you really want to go for it be prepared to learn to like math.
@JtagSheep
@JtagSheep 22 күн бұрын
"to do extreamly advanced stuff in graphics" like what ?
@Cactusman-e1d
@Cactusman-e1d 22 күн бұрын
@ I’m more referring to like physics simulations for instance if you wanted to do custom water simulations ray marching for like clouds etc. realtime rendering techniques or for instance implementing something like nanotechnology like unreal engine does etc. just overall various things. Stuff I haven’t personally dove into but just have researched. And a lot of the higher stuff just gets more into multi variable calc stuff
@Meteotrix
@Meteotrix 23 күн бұрын
yeah i'd recommend a straight-up masters in computer graphics if you can, it takes about as long and you get a deeper understanding & networking opportunities.
@Divyam1001
@Divyam1001 23 күн бұрын
Thank you for the motivation
@Bhanukamax
@Bhanukamax 23 күн бұрын
Curious what that book your father gave thought. Care to share the name? Really great content btw, very helpful and inspiring.
@tomquareme3787
@tomquareme3787 20 күн бұрын
I always found software rendering to be easier than rendering with OpenGL. It's harder to do simpler things, but easier when things get more complex.
@jeezusjr
@jeezusjr 23 күн бұрын
Thank you for making this video. I am also trying to learn graphics programming and it seems impossible. I want to make a cad modeler.
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
that is a cool project idea 💪 good luck bro
@pankaj2058
@pankaj2058 5 күн бұрын
Are there any youtube or other tutorials which explain how to create a game from scratch using C++ and OpenGL ?
@lowlevelgamedev9330
@lowlevelgamedev9330 3 күн бұрын
hm actually I don't know of many, javidx9 has some good game tutorials bit basically all you need to do is be able to draw sprites with opengl and than you are good to go
@AlbertRyanstein
@AlbertRyanstein 22 күн бұрын
I struggled with the 3blue1brown linear algebra. my maths ability I feel is good, but about 5 videos in it just went crazy and I felt information was missing. do you have any other sources. I think it wasn't the level just something I missed
@lowlevelgamedev9330
@lowlevelgamedev9330 22 күн бұрын
@@AlbertRyanstein try jamy kings opengl tutorial and also skme other linrar algebra course online
@AlbertRyanstein
@AlbertRyanstein 22 күн бұрын
@lowlevelgamedev9330 I'm fine with coding it since glm does it all. I just got lost when trying to do the 3b1
@AKG58Z
@AKG58Z 20 күн бұрын
Its the same situation with me im stuck at c++ going nowhere , whats the book called?
@pankaj2058
@pankaj2058 23 күн бұрын
Kindly mention the name of the books shown in the video.
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
yo I think that book is only available in Romania, so idk what is the title in english, but I haven't really found books a place to learn coding, especially beginner topics, just use tutorials and do things youself. Also that book is very very old
@VFusioN69
@VFusioN69 20 күн бұрын
i am on mac fook i have to use Metal FX whoose syntax looks good on swift but no documentation to follow !
@nangld
@nangld 21 күн бұрын
When is your first Gaussian Splatting based rendering engine?
@ziphy_6471
@ziphy_6471 21 күн бұрын
I first tried SFML, I failed at it, then moved to OpenGL, I am now suffering
@spyrex3988
@spyrex3988 20 күн бұрын
why woulld u go to the lower layer abstraction when u are struggling with current layer?
@ziphy_6471
@ziphy_6471 20 күн бұрын
@@spyrex3988 I yearn for the mines and math then meth
@Cinarbayramic
@Cinarbayramic 23 күн бұрын
im making a graphics engine (idk if i can call it that but it can render meshes) and i didnt hear that until now
@pwyounggamedev
@pwyounggamedev 23 күн бұрын
Ironic timing on this video. I realized that SDL2's built-in renderer wouldn't be enough for the project I'm working on so I've been struggling with learning OpenGL for a few weeks. It stinks because I just wanted 2D rendering and I've had the background in linear algebra needed for this stuff. Haha
@aeliusdawn
@aeliusdawn 16 күн бұрын
Everyone know that the best way to learn c++ and graphics programming is to go straight into Vulkan on day 1
@lowlevelgamedev9330
@lowlevelgamedev9330 15 күн бұрын
yes and prefferably be a beginner at cpp as well 💪
@d4r1u5-pk7zr
@d4r1u5-pk7zr 23 күн бұрын
I have a cpp book about graphics that was made for windows 3.1 =/
@Trixter-r1p
@Trixter-r1p 23 күн бұрын
What's the book? I want to look at it
@d4r1u5-pk7zr
@d4r1u5-pk7zr 23 күн бұрын
@@Trixter-r1p sadly is not in english =//
@mgoonga
@mgoonga 17 күн бұрын
Like for Jamie King! :)
@xanderlinhares
@xanderlinhares 23 күн бұрын
I teach this subject at CSUMB in Monterey CA and go very deep into the math with 3 weeks alone dedicated to it. We also write a raytracer from scratch and write hardware accelerated lit and shadowed scenes with the rasterization pipeline.
@Manu-c5q
@Manu-c5q 23 күн бұрын
the linear algebra and trigonometry kills me, i am learning c to make a software rasterizer, my computer does not support godot engine 3, only directx9 stuff.
@jorgevalles6835
@jorgevalles6835 21 күн бұрын
Man. Do you really think that it still time to get into openGL? I really like OpenGL but I feel bad when I see a lot of stuff about people saying it is obsolete, deprecated, etc..
@lowlevelgamedev9330
@lowlevelgamedev9330 21 күн бұрын
yess, opengl is still how you do 3D on android for example and web, also things die very hard, idk if windows will ever stop support for opengl, also it just recently got the mesh shaders new feature so it is still being updated so it isn't really deprecated yet, also it is easier to start with than vulkan,
@marwan7614
@marwan7614 22 күн бұрын
Doesn't Raylib also use opengl ?
@JtagSheep
@JtagSheep 22 күн бұрын
Yes it does.
@terr7892
@terr7892 23 күн бұрын
How important is understanding linear algebra for game dev? I'm currently taking it, even though i don't know how good and relevant is the course in romanian cs
@abhishekKUMAR-ij7nw
@abhishekKUMAR-ij7nw 23 күн бұрын
if you are making a game using low level stuff then its very important, but if you are using a game engine like unity and others then you can get away without learning linear algebra
@SianaGearz
@SianaGearz 23 күн бұрын
You can snake your way around without it but please study it thoroughly, you will find it helpful. I don't know specifically about Romania but it's a remarkably standard course across the rest of Europe so it should be fine i guess. Also numerics tends to be one of the toughest most impenetrable courses but pay attention too, one day it will save your job.
@HaTTaRequiem
@HaTTaRequiem 23 күн бұрын
depends how low level you go, simple algebra concepts should help you when working with references along an axis of a player to get every object in a certain distance for example. if you wanna re-invent the wheel then it's primordial because you will be working the pipelines. Think of a matrix as an awesome way to arrange numbers to make many operations. Helpfull for tons of calculation and parameters, which is exactly what you have.
@finesseandstyle
@finesseandstyle 23 күн бұрын
There are various uses cases for it that I've come across as a dev, there's probably more * Complex Damage formulas * Positioning UI elements in regard to an object's world location (like off screen indicators) * Predicting projectile locations, for a turret for example * Checking if you're looking at a specific direction, for example making one directional collider (dot product) Do you NEED to know linear algebra? If you already have a game engine, no, you don't strictly need it as long as you can find the right tutorials for what you want. But if you do know you can easily make changes to suit your needs, you'll probably not even need tutorials at this point The best way to learn linear algebra is by creating game features that uses linear algebra and you intuitively learn by practice
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
you need to learn some things, unfortunatelly they don't teach you how things work in school so you will need to learn them in your own on youtube like using the videos from 3 blue one brown on youtube on linear algebra. The basci things that you need are not hard
@leonsofefa40
@leonsofefa40 7 күн бұрын
What was the advice he gave you? 3:23 I couldn’t quite get that
@lowlevelgamedev9330
@lowlevelgamedev9330 7 күн бұрын
it isn't like one thing, it was more likewhat resources to look into, like handmade hero, but if you want the best advice I can give you is to make big and more difficult projects 💪💪
@leonsofefa40
@leonsofefa40 6 күн бұрын
@ thank you!
@jamiecropley
@jamiecropley 23 күн бұрын
I don't think its hard I think you just need to break stuff down at an ultra level to understand it better, which I admit does take a level of effort which could be considered hard.
@muchas_gracias
@muchas_gracias 23 күн бұрын
ooh my goodness! can you not so obviously read your text and especially when you zoom face it's really strange)))
@nylvon
@nylvon 23 күн бұрын
skill issue
@jigsaw2253
@jigsaw2253 23 күн бұрын
You are lame
@havx6
@havx6 25 күн бұрын
Hiii
@lowlevelgamedev9330
@lowlevelgamedev9330 25 күн бұрын
yoo new member 💪
@TeofilBejan-lg2rt
@TeofilBejan-lg2rt 23 күн бұрын
So you need to know math for game development?
@Meteotrix
@Meteotrix 23 күн бұрын
high school math helps a ton for 2D games, uni math for 3D games :)
@HaTTaRequiem
@HaTTaRequiem 23 күн бұрын
discrete maths, linear algebra, calculus. yeah, basically. you can take it by yourself by reading a couple of books and complete the excercises in them, many universities just throw you a bunch of books and ocassionally explain something to you really, so you can start learning it today and alone, as long as you have DISCIPLINE!, else get into an university and pressured by your teacher to actually learn, might wanna go through that last path if you lack concentration when studying by yourself.
@hodayfa000h
@hodayfa000h 22 күн бұрын
Yes, or you can just blindly apply the math
@whiteingale
@whiteingale 23 күн бұрын
666 views what the hell...
@AntoineVanGeyseghem
@AntoineVanGeyseghem 23 күн бұрын
Hahaha. ☝
@gsestream
@gsestream 23 күн бұрын
because opengl shuggers, too complicated by design, its bad ui when you are supposed to do ui with it. keep it simple.
@lowlevelgamedev9330
@lowlevelgamedev9330 23 күн бұрын
not really, it's not opengl shader's fault, they arr not even complicated lol. UI is hard to do in general, like have you ever tried css 💀. Opengl is just not built for ui and you need to write your own thing for that and that is just hard. Like imagine implementing your own css
@gsestream
@gsestream 23 күн бұрын
@@lowlevelgamedev9330 I really mean the general opengl API is very confusing. and opencl shader programs are very much easier. no graphics api mess to be dealt with. opengl API = opengl UI. ie OpenGL programmer user interface.
@gsestream
@gsestream 23 күн бұрын
@@lowlevelgamedev9330 you really did not get what my point was. opengl api shuggers. thanks.
@gsestream
@gsestream 23 күн бұрын
@@lowlevelgamedev9330 in other words, opengl programming api is not programmer user interface friendly. just like linux management is not user friendly. only expert friendly.
@JtagSheep
@JtagSheep 22 күн бұрын
@@lowlevelgamedev9330 Css is not at all hard, if you find css hard I can see why it took a day to setup SFML. You also dont need to know the first fucken thing about any major mathematics to write OpenGL apps, we are lucky in that other very kind people have taken time to write libs like GLM, if you want to write your own math lib then sure but 99.9% of the time it is far to time consuming to do so.
@marccalis9444
@marccalis9444 22 күн бұрын
Anoying music
@alihene2225
@alihene2225 22 күн бұрын
Real (my software renderer runs at 10 fps 🥲)
@painkiller7769
@painkiller7769 23 күн бұрын
I really can't understand this guy even if I really want to
@aerocu482
@aerocu482 23 күн бұрын
Skill issue
@CrazyGamerStudios
@CrazyGamerStudios 15 күн бұрын
Italiano Macarone ];-D too many compicated for me.
Optimizations Are bad for Beginers!
14:36
Low Level Game Dev
Рет қаралды 19 М.
All OpenGL Effects!
30:21
Low Level Game Dev
Рет қаралды 65 М.
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,4 МЛН
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 56 МЛН
1, 2, 3, 4, 5, 6, 7, 8, 9 🙈⚽️
00:46
Celine Dept
Рет қаралды 109 МЛН
Python Developer learns Rust (and remaking my chess engine)
16:18
TheSandwichCoder
Рет қаралды 35 М.
Running "Hello World!" in 10 FORBIDDEN Programming Languages
18:07
6 Years of Learning Game Development
17:20
Cobra Code
Рет қаралды 211 М.
What Is A Graphics Programmer?
30:21
Acerola
Рет қаралды 452 М.
Gitlab DELETING Production Databases | Prime Reacts
17:27
ThePrimeTime
Рет қаралды 349 М.
How the rendering pipeline of a Minecraft-like game looks like? OpenGL C++
12:26
Optimizing my Game so it Runs on a Potato
19:02
Blargis
Рет қаралды 655 М.
What I do to never have to worry about memory leaks!
8:03
Low Level Game Dev
Рет қаралды 40 М.
I Made My First Game in Godot in 3 Weeks...
26:21
Jack Sather
Рет қаралды 428 М.
ТЫ В ДЕТСТВЕ КОГДА ВЫПАЛ ЗУБ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,4 МЛН