No sleeping here, there is a huge lack of technical content on youtube at this level, these videos are killer. Keep it up. Would love to see the deep-dive on your fluid sims for your engine project.
@Alexander_Sannikov2 жыл бұрын
I don't think you actually realize how much effort goes into creating a video like this. "At this level" there's extremely little content on the entire youtube.
@theDemong0d2 жыл бұрын
@@Alexander_Sannikov I'm not sure exactly how to interpret this, but I never said it was easy. Also, that is not strictly true since there is an immense amount of highly technical content on youtube, just not in the realm of individuals writing interesting things from scratch, and not laid out to present novel experiments, Sebastian Lague-style.
@Alexander_Sannikov2 жыл бұрын
@@theDemong0d what I mean is that 99% of sebastian league style content requires much less knowledge and effort than a video like this. UPD nvm, I think I read your original post wrong. I think I read "huge lack" as "huge block", or something like that.
@RodyDavis2 жыл бұрын
+1000
@dnull2 жыл бұрын
well, unfortunately, views explain why there's no much tech-focused game dev vids on youtube.
@itskittyme2 жыл бұрын
"i wrote this advanced physics simulator" "oh and then i ran into some problems with making the video" "thus i quickly built my own screen capturing software which works better than this giant open source program that's been around since 2012" okay
@abeecee2 жыл бұрын
if this is my competition looking for swe jobs, I might as well give up now lmao
@deathTurgenev2 жыл бұрын
Then proceeds to say, sorry the code isn't optimized, I'm not an expert
@EmergencyTemporalShift2 жыл бұрын
To be fair, taking a bunch of screenshots is easier than physics
@HAWXLEADER2 жыл бұрын
Getting a raw image sequence out of your renderer is NOT "better" than this giant open source thing. It just does 1 thing and does it really well.
@atypicalambience34872 жыл бұрын
He uses ffmpeg which does all the hard work for you. You can literally feed it image files and it will just make it into a video.
@JubaProductionsStudios2 жыл бұрын
"OBS was making me nuts, so I made my own screen recorder" this guy is a legend haha
@magmacodes91432 жыл бұрын
You can do too. FFMPEG has been a fairly straightforward framework for making small screen recorders for a long time now.
@vedantkanoujia2 жыл бұрын
@@magmacodes9143 ffmpeg is most vulnerable due to multiple support of library
@dudearlo2 жыл бұрын
xD
@XENON2028 Жыл бұрын
@@vedantkanoujia what
@jakosloth Жыл бұрын
Man's living my dream lol
@thierrybeaulieu44032 жыл бұрын
I've studied physics for 2 years and computer science for another 3 years. I'm already thought of doing something like that, but it's very impressive to see how well you've done it. There are so many layers of complexity to what you're showing
@Cathal77072 жыл бұрын
This is incredible. Constraint solving is stuff you do early on in an engineering degree but I never cared for it because I was always into the more computational stuff. Seeing you come at this from the computational side first has given me a whole new perspective.
@lukewellcash2 жыл бұрын
Your videos should seriously get more attention then they do. Awesome work!
@AngeTheGreat2 жыл бұрын
Thank you! As long as there are people out there that like my stuff and find it useful, I'm good ✌
@marilynlucas512810 ай бұрын
@@AngeTheGreat You're truly great.
@Alexander_Sannikov2 жыл бұрын
A note on implementation: your RK solver is very tightly coupled with the design of the system you're integrating. Usually it's best to try to decouple the integrator from the system itself and implement it more generically. For ordinary ODE's you just need a function that calculates a vector of derivatives from a vector of coordinates, and that's all your integrator needs. And your physics engine can _index_ into those arrays to access coordinates of any given rigid body.
@AngeTheGreat2 жыл бұрын
Good idea! Might refactor that part, thanks for the suggestion
@HilbertXVI2 жыл бұрын
Ordinary ordinary differential equations
@revealingfacts4all2 жыл бұрын
He's also using public virtuals which tells me he's not very knowledgeable of c++
@AngeTheGreat2 жыл бұрын
@@revealingfacts4all I don't claim to know it all and I like to assume that I know nothing anyway. What do you recommend I change?
@Alexander_Sannikov2 жыл бұрын
@@revealingfacts4all I am curious as well as to why you think using public virtual functions somehow reflects his lack of C++ knowledge.
@jojodi2 жыл бұрын
Awesome stuff! Highly recommend you look into iterative techniques (Gauss-Seidel, or more complex Conjugate Gradient). They are probably in fact easier to implement than the Gaussian Elimination, and you can terminate iterative approaches when the error is low enough. Convergence rates are almost always related to conditioning of the system being solved, which will depend on what combination of constraints you have in your simulation. Note that isn't worse than the elimination case: poor conditioning also causes numerical instability in that algorithm as well.
@AngeTheGreat2 жыл бұрын
Excellent suggestion, you definitely know your stuff! I actually did implement Gauss-Seidel but I didn't mention it in the video because I didn't want to confuse people haha... But you're right that iterative approaches are great. Next step will be to implement Conjugate Gradient since that'll be faster and also slightly more robust (for redundant constraints, etc.). Thanks for watching and thanks for the suggestion!
@GeorgeTsiros2 жыл бұрын
@@AngeTheGreat i saw no Gauss in the video, in fact, I don't think I saw any weapon of _any_ kind!
@GeorgeTsiros2 жыл бұрын
oooh. nice.
@chriswalsh59252 жыл бұрын
Hey @brandon, what do you think of LevenBerg-Marquadt (probably mis-spelled!). I have read several papers recently where they use that for solving systems (not physics) as it is supposed to be very fast and more 'optimisable', removing zeros etc. Wondering if you thought it would be good for a physics engine?
@GeorgeTsiros2 жыл бұрын
@@chriswalsh5925 there is only one way to find out... code it and test it! :> There _should_ be implementations online, already.
@IONYVDFC Жыл бұрын
Interesting to see someone reviving the (at least my) experience of writing a physics engine. It was really a brain crushing journey for me to do this in the 90' with less accuracy, much less computing power, my very immature knowledge of math, let alone internet resources on this topic. But I have strong memories indeed from my eureka moment after real-time simulating a cloth, and a few weeks later seeing the same idea rendered on a Silicon Graphics cluster on a computer fair in Brussels.
@davidmc9712 жыл бұрын
KZbin algorithm please! Your content is an absolute gold mine of well explained experience in technical topics!
@opti122 жыл бұрын
All this goes far over my head but it's so impressive to see someone make things like this and to share it online, even creating a screenrecorder in the meantime. Crazy!
@Ahsan_Fazal2 жыл бұрын
You're my new favorite KZbin content creator. WOW! This level of knowledge and expertise is something I rarely see on KZbin. KEEP UP THE GOOD WORK!!!
@Alphaa1012 жыл бұрын
Where you are from?
@basile54902 жыл бұрын
Just discovered your channel, and i see a lot of advanced, neat projects that really sparks my interest. This physics engine is very cool ! Im impressed to see that you make all that in C++, it genuinely makes me want to make similar stuff on a low level. That's really inspiring (even the nerdy mathematical details ! Along with the sources in the descriptions, those are the crunchy bit for me). Keeps up the awesome work !
@AngeTheGreat2 жыл бұрын
Welcome to the channel! I try to work on projects that really challenge me and I'm glad that you enjoy my content. Hopefully my channel continues to help/inspire you in your software journey. Thanks for watching!
@Alexander_Sannikov2 жыл бұрын
Some constraints (such as rolling constraint, universal joint, etc) can be represented both as an extra body with simpler constraint attached to the bodies that you want to connect to start with, or with a more involved jacobian and no extra body. I recommend initially not wasting time implementing complex jacobians for joints that are not experiencing heavy load and implement them using just an extra body. If/when they become a problem, you can replace the extra body with a page of code for its jacobian, but they must converge to the same exact result in the limit of the extra body having zero mass.
@AngeTheGreat2 жыл бұрын
Oh I see, might look into that. I think I might have gotten carried away with the rolling constraint, I really wanted to make it work for some reason lol
@TheGiantHog2 жыл бұрын
I can’t believe how you just glossed over some of the incredible work you did just to make this, easy sub man you’re killing it
@grevel13762 жыл бұрын
You got a new subscriber. I arrived to your channel by a reddit post with a link to your engine simulation video, and I guess now I'm binge watching all your videos. Amazing work man.
@Skeffles2 жыл бұрын
These simulations look awesome! Can't wait to hear about the project you're making this for.
@AngeTheGreat2 жыл бұрын
Thank you! The follow-up should be out within the next few weeks :)
@garrettjensen48172 жыл бұрын
I think 1 of 3 people who got excited when he talked about the Runge Kutta ODE method. One of the best imo
@actuallydaneel2 жыл бұрын
every vid you make is just such a joy to watch, from the content to the editing it's just sublime. sincerely, good job.
@AngeTheGreat2 жыл бұрын
Thank you, that means a lot to me! Glad you enjoyed it and hopefully I'll put out videos more consistently this year :)
@actuallydaneel2 жыл бұрын
@@AngeTheGreat honestly, consistency isn't something i care about. take it at your own time and i'll enjoy whatever you put out, whenever you put it out.
@AlexFlorias2 жыл бұрын
In the best way you’re content reminds me of those calming sessions in college studying on khan academy. Some things go over my head but your approach is so cool to watch, your content is criminally slept on!’
@physicist19942 жыл бұрын
One of the most underrated channels on youtube. Subscribed immediately with notifications on. Best wishes.
@theastuteangler2 жыл бұрын
probably the best video on programming I've seen
@willi00willi2 жыл бұрын
I just got recommended this video today, and I am blown away! Can't wait to explore more of your channel's content
@neutron417 Жыл бұрын
The perfect intersection of Physics, Computer Science and Math
@tamp1o2 жыл бұрын
Holy hell this is one of the greatest videos I have seen, especially for your sub count. These are better than my uni degree!
@vintyprod2 жыл бұрын
Oh god that first animation you showed triggered my rigid body dynamics ptsd No but this video is actual gold. Thank you for making this. I’m so glad I found it. Also, thank you for including some of the math.
@DBFIU2 жыл бұрын
Keep doing good work Ange, this is what youtube was made for.
@AngeTheGreat2 жыл бұрын
Thanks 🙏
@hicham26682 жыл бұрын
Working on my 3D engine in C++, this level of results was always my dream. Thank you for sharing.
@dragonminz6022 жыл бұрын
Absolutly loved the video. Honestly it is great to have some technical explanation. I have been writing some simple physics engines and now i know how to expand them. Many thanks
@roothacker4404 Жыл бұрын
Really incredible that these type of information is available for free!
@jroseme2 жыл бұрын
Super interesting and nice visuals to boot. It’s a relief to see an actual software application of this linear algebra stuff I’m learning.
@krunkle51362 жыл бұрын
Writing your own screen capture program? Legendary stuff.
@chriswalsh59252 жыл бұрын
excellent, I remember trying to understand that witkin paper like 20 years ago, eventually gave up and stuck with rigid body physics for the project I was on. Nice to see someone actually got it working! Great video!
@JoBot__2 жыл бұрын
This is pretty much my favorite kind of content.
@fabianmuhlberger6153 Жыл бұрын
Wow, this would make a fantastic tool to teach technical mechanics. I would have loved to have an animation showing me this when learning dynamic
@Jamie-il1qu2 жыл бұрын
Man, such a good video, I found it genuinely very exciting. For me, this is like the idealized form of Nova, thanks for making it!
@novidtoshow2 жыл бұрын
Great work! Just a small nit, here... There are many ways to discretise the vector system: dx/dt = f(x,t) 1 - LHS: -------------- First, we can discretise the lefthand-side using the base definition of the derivative: dx/dt = (x(t+dt) - x(t) )/dt This one-side difference is the part they call "Euler". It's first order accurate, with errors being proportional to dt^2. 2 - RHS: -------------- Where in time you choose to evaluate the RHS is also important. The Forward-Euler method evaluates the RHS at t=t, thus: (x(t+dt) - x(t))/dt = f(x,t)
@willianvinagre33382 жыл бұрын
That's an amazing project! I loved the video, even though I couldn't understand the mathematical stuff, it was still entertaining. Great job with your content, I think you should get more attention with how good your videos are made!
@AngeTheGreat2 жыл бұрын
Thank you! Don't worry about not understanding the math immediately, I didn't either. It's one of those things where I had to really sit down and study it seriously before I understood. It's also why I didn't talk about it much in the video 😂
@mani_mincraft Жыл бұрын
Honestly, this video is highly inspirational. Heck, I have even started studying derivatives and I hope to begin learning force constraints (like you were talking about in your video) next. thank you for being so inspiring.
@coopercone42932 жыл бұрын
Love this video. You had a great balance between explaining the math deep enough to understand the video, but not too deep to the point where it became a math video and not a physics engine video. I also agree with others that there's a lack of high-quality and highly technical content. I will definitely be going through some of your other videos.
@rubixmc73204 ай бұрын
Why is it allways just linear algebra
@deotexh2 жыл бұрын
Such a genius, ahhhhh, I'll probably never get there if I wanted to Good job for your hard work to have gotten to that point!
@regapasyafebriansyah9532 Жыл бұрын
I don't understand a single shit, but this man, THIS MAN IS DESERVE MORE ATTENTION
@eustoliafukuyo64812 жыл бұрын
I started to learn Vim at one work experience (who used also Linux like I did privately) and managed to finally code only with Vim. Then I got mocked on my second work experience where they hate everything except the only one thing they use (Windows and just shortcuts in IDEs) and said that I know nothing and Linux is not for Professionals (It's the first time I saw such a dirty code in a company). It felt great to watch this video and seeing that Vim is used.
@MScienceCat28512 жыл бұрын
As someone who is learning C++ and is bad at math, this video is really is really giving me motiivation to continue
@rafaellisboa84932 жыл бұрын
awesome video, I LOVE the mathematical explanations, differential equations are my passion.
@Daekanoid2 жыл бұрын
When you talked about the difficulty of differentiating the equations without making small mistakes, i got applied mechanics flashbacks. Oh god the hours I've spent trying to find the mistake only to assess that the problem was a misplaced exponent
@Aethier-lostwoods Жыл бұрын
I'm convinced you only uploaded this as a flex. And it worked.
@MrChaluliss2 жыл бұрын
Yo this is awesome. I know nothing about simulating physics, and am just now getting through the necessary maths and CS skills, so seeing it happen and actually wrapping my head around things is really amazing. Thanks for the cool video!
@j.j.maverick92522 жыл бұрын
very useful and really clear explanations. I think you judged the line between enough explanation vs too much maths exactly correct (for me anyhow!)
@AngeTheGreat2 жыл бұрын
I spent a lot of time trying to determine where to draw that line haha... I'm glad that I got it right for at least some people, thanks a lot for watching and commenting!
@klibe Жыл бұрын
the most i've done is remade 3d wireframe projection, and rotation of the camera is still not working, and you can see behind you, etc.. this is impressive and has blow my mind
@MrLP10o2 жыл бұрын
Dude, elaborate on the math part! It is nice to see the theory I've learned in University applied to create a physics engine! A video on the math explanation would be awesome
@PathikritGhosh007 Жыл бұрын
This is bloody brilliant, mate. Awesome video. Going through your github right now. Was looking to learn how to make something as complex as a physics engine, and this came in super handy.
@CurtisHamilton1012 жыл бұрын
Really cool to see the math behind it all.
@sripradpotukuchi94152 жыл бұрын
really cool engine! the sims with the rolling constraint look awesome, so the tedious math was totally worth it 😅 physics aside, i really loved the visuals. great job!
@AngeTheGreat2 жыл бұрын
I knew as soon as I started this project that rolling constraints were gonna be a thing, no matter how painful it was haha... Thanks for watching and glad you enjoyed it!
@isaacenquist Жыл бұрын
You can try using a symplectic integrator such as velocity verlet to increase numerical stability so that the energy/system does not diverge over time.
@marcus91572 жыл бұрын
Awesome high quality video and explanation wise, I hope to see more content like this :)
@AngeTheGreat2 жыл бұрын
Thank you! There will definitely be more content like this in the future :)
@thomascromwell6840 Жыл бұрын
I'm amazed. I aspire to this level of work.
@royhouwayek78922 жыл бұрын
commenting to boost engagement because wow this is awesome
@NordicFrog2 жыл бұрын
You deserve millions of views.
@AngeTheGreat2 жыл бұрын
Perhaps this will be the video that the algorithm blesses 🙏
@Turbonuotti2 жыл бұрын
@@AngeTheGreat the algorithm will bless your latest engine sound simulator video, it is the most impressive work i have ever seen. Great things and huge potential in your work!
@travezripley2 жыл бұрын
This is amazing, This video and the Engine video… Pretty much blew my mind.
@bigthought63512 жыл бұрын
I don't understand why my English is week but you are explained is amazing 😃😃😃
@resolversoftware50882 жыл бұрын
Man this is tremendous!! It will be great if you make some tutorial series explaining in detail how build similar engine at least on basic level! Amazing information on your channel!
@miroslavdimitrov54512 жыл бұрын
Great work Ange. Keep it up, definitely a useful video!
@AngeTheGreat2 жыл бұрын
Thanks Miro, glad it was useful to you and thanks for watching!
@David-ng9qh2 жыл бұрын
"Oh yeah by the wa. On a completely unrelated sidenote, OBS sucks, so I made my own video capture software." legend
@thebundieaussie86292 жыл бұрын
This did make me go to sleep, but it was 12:30 at night, however, I woke up and rewatched it because it was so interesting
@DctrBread Жыл бұрын
great video, i was looking into setting up a simulated double pendulum as a learning exercise, but after thinking it through for a bit i realized i would need to know more math.
@D43vil5 ай бұрын
And this is why you need to learn code kids....this is wizard level
@h-a-y-k41492 жыл бұрын
This is actually a great tool for schools.
@saritasahu62932 жыл бұрын
C++ Developer are so cool. I don't think any Physics teacher of my shool could ever imagine, something like this can be done with, what they teach at school.
@ronnylandsverk5037 Жыл бұрын
This is an awesome video for introducing computational methods in dynamics ❤
@syntropy30202 жыл бұрын
This is epic. Well done. Look forward to seeing more on this.
@ir3turnz6752 жыл бұрын
You deserve so much more subs keep it up man
@lorincszabo74112 жыл бұрын
this was the most informative video on the subject i've ever seen :) triple thumbs up
@mastershooter642 жыл бұрын
4:46 absolute madlad!! obs wasn't working properly and he just became thanos and was like "Fine, I'll do it myself" lmao
@lunchdotbox11 ай бұрын
4:48 so i “just” made my own version, this guy is a god
@Tantandev2 жыл бұрын
This was super entertaining! really cool project
@AngeTheGreat2 жыл бұрын
Thank you! I've seen some of your videos too and love your work.
@JimboMack2 жыл бұрын
Thanks a lot, found your channel today and now im in a C++ rabbit hole for the next 48 hours at least 😂 great video, with down to earth rational explanations 👌
@ezzzzie2 жыл бұрын
floored at the casual mention of a c++ mp4 capture software being created because obs was dropping frames
@AngeTheGreat2 жыл бұрын
It's actually not that hard, I just used the same encoder used in OBS and did some basic thread synchronization to get it to work in real-time. Thanks for watching!
@ezzzzie2 жыл бұрын
@@AngeTheGreat just the fact that you've given yourself all the prerequisite knowledge necessary to to look at up, and understand exactly how to implement it in your own project is still flooring me. you've like minmaxed for useful coding skills and creative problem solving. incredible stuff, great job, looking forward to your next upload!
@kdashi57472 жыл бұрын
I'd love to see a video about your Vim setup!
@xsense20122 жыл бұрын
If someone clicks on a video with this title and is bored with technical details, its their problem, 100%.
@iyousef462 жыл бұрын
So I'm 16 seconds in and already impressed.
@henrydane67022 жыл бұрын
This was absolutely incredible -- keep it up!
@seesoftware2 жыл бұрын
What a madlad, obs didnt work, so he made his own version :D
@ahmedsaadsabit17492 жыл бұрын
look i am a youtube viewer since 2012, and my way of selecting which channel to subscribe is really anything but lenient. But this is a rare occasion when just by watching a few seconds of the video I've hit subscribe. NICE WORK DUDE FUCKING NICE HOW DO YOU DO IT
@TheDoh0072 жыл бұрын
This is awesome! I'd love to see further work on this, particularly interested in magnets (and integrating electric component simulation if that's not too crazy)
@t3v7272 жыл бұрын
I finally had some time to watch the video as well. You really made some cool stuff Ange. I realized that my maths got a bit rusty though but you made me excited about trying something into the direction of physics in games as well. Maybe it would be also a good idea to make a maths course for (game/graphics) programmers, too.
@AngeTheGreat2 жыл бұрын
The math looks a bit scary but it actually isn't that bad! I'm excited to get flexed on by your next physics project lol. Also I might look into your idea for making a video about 3D math. Thanks for watching!
@teachd.marshal10662 жыл бұрын
Long time no see, i've been waiting for ur video since i discovered this channel
@AngeTheGreat2 жыл бұрын
Your wait is over! Thanks for watching 🙏
@maurosampietro9900 Жыл бұрын
This guy is a good coder
@MrAman472 жыл бұрын
Great video, hope to see more of you!
@thatgaming19402 жыл бұрын
It's almost midnight I'm tired and I'm watching someone build a Physics Engine but then he drops the word "Jacobian" and my mind shoots awake for a few minutes.
@nds67672 жыл бұрын
From someone who doesn’t understand jack shit in math but loves to code. I seriously appreciate this!
@kloude_a45282 жыл бұрын
awesome content! gets me inspire in a big way keep on keeping on!)
@GrahamBillington2 жыл бұрын
This makes me wanna dive deep into math and college so I can build stuff like this
@lylesloth12752 жыл бұрын
subscribed, epic guy, likes learning things, good at sharing things, good at explaining, epic, video liked.
@deathTurgenev2 жыл бұрын
Great video, please do more content like this, it's entertaining and inspirational
@AngeTheGreat2 жыл бұрын
Useful or pointless video? You tell me :D Thanks for watching 💪
@puppergump41172 жыл бұрын
Very useful, I will surely use it
@Dicklesberg2 жыл бұрын
All your stuff is incredible. You’re going to have a million subs in the next 2 years if you keep it up. My advice is to not abandon your long form content in favor of shorts. Your issue earlier with the car rendering video was that you didn’t have critical mass of viewership. Now that your channel is blowing up, a long term project requiring a lot of work will likely be rewarded even more.
@Mocorn2 жыл бұрын
I know exactly zero about programming and still watched the whole thing. Physics are fundamentally interesting stuff :)
@isuckatthisgame2 жыл бұрын
For me, somewhat useless now, but very prompting to revise my old, long-forgotten knowledge and to learn even more.
@user-yy3ki9rl6i2 жыл бұрын
im learning modeling and simulations next semester and this pretty much hypes me up! thanks for the content man, you just got a new sub.
@TimTeatro Жыл бұрын
Nice work! If you intend to always simulate Hamiltonian systems (where energy is conserved) you may want to check out the Verlet algorithm.
@tensevo Жыл бұрын
excellent, it would be great to see you tackle open source CAD for engineers. Thank you.
@Carlos-kh5qu2 жыл бұрын
really great stuff, i may use it on a project eventually