In Video Games, The Player Never Moves

  Рет қаралды 457,422

Josh's Channel

Josh's Channel

2 жыл бұрын

In which we explore matrix math and how it's used in video games.

Пікірлер: 561
@JoshsHandle
@JoshsHandle Жыл бұрын
People keep asking about multiplayer games, so I'll pin a comment here. In the case of local (split-screen) multiplayer, the world is shifted to one viewpoint while one viewport is being drawn, then shifted to the other player's viewpoint while their viewport is being drawn. In the case of online multiplayer, the server running the game doesn't have to render graphics so it doesn't have to deal with keeping track of dozens of differently oriented worlds. Each player connected to the game just renders the world shifted to their own personal point of view.
@TheREALDocRabbit
@TheREALDocRabbit Жыл бұрын
The side effect of this is what makes large scale player population achievable in dedicated servers also.
@pyropulseIXXI
@pyropulseIXXI Жыл бұрын
@@TheREALDocRabbit the side effect of a server not rendering graphics for every player? That isn't a side effect lmao. That is just common sense.
@1Peasant
@1Peasant Жыл бұрын
Can someone tell me what the Goose game at the start of 2D games is? I want the goose 🦆
@JoshsHandle
@JoshsHandle Жыл бұрын
@@1Peasant The game is CrossCode, I forget how you get the goose.
@sossage
@sossage Жыл бұрын
Ye, but the in game world doesn't move around you. It's essentially a camera with a variable in world position/the player's position, and that afore-mentioned camera has a filter applied to each player camera/the on screen position causing percieved dilation of in world positions? Or am I trippin?
@coalhater392
@coalhater392 2 жыл бұрын
I hate when high quality channels like this don't get the recognition they deserve.
@curiodyssey3867
@curiodyssey3867 2 жыл бұрын
I share your pain brother. His time will come. Believe that.
@xanderlinhares
@xanderlinhares Жыл бұрын
Yeah, I’m pretty sure this channel will blow up soon.
@the-birbo
@the-birbo Жыл бұрын
I hate YOU, my friend. I hate YOU! 🥺
@HissoriRenda
@HissoriRenda Жыл бұрын
I'm here to engage
@HissoriRenda
@HissoriRenda Жыл бұрын
This channel is excellent
@addvector4918
@addvector4918 Жыл бұрын
This was a better summary than my 4th year graphics course. Great job
@ThatArjun
@ThatArjun Жыл бұрын
That's the beauty of KZbin,
@kenzo2909
@kenzo2909 Жыл бұрын
xd
@TotalJargon
@TotalJargon Жыл бұрын
Went through a 3 year games technology degree and still felt like matrices were a bit of a mystery, in just 20 minutes you've dispelled most of that!
@PronteCo
@PronteCo Жыл бұрын
I heard another interesting reason to fix player at 0 is that otherwise in games with HUGE maps going to the edge (i.e., being far away from 0) would result in significant floating point errors constantly occurring on your coordinates, i.e., laggy and inconsistent movement
@j1mmie
@j1mmie Жыл бұрын
Good luck getting physics to work with that approach
@golarac6433
@golarac6433 Жыл бұрын
You want to put the center of the world at 0.0 im a game, first of all, because its logicaly convenient but also because you want the most furthest away edge of the world to not be some large number that would start losing precision. But this is world space coordinates.
@air6699
@air6699 Жыл бұрын
Yeah that's what happens in minecraft when you go a few million blocks out from spawn. Least it used to be that way.
@golarac6433
@golarac6433 Жыл бұрын
@@air6699 IT happens in mamy games. For example all the Valve games like half life, counter Strike etc. You can noclip and just fly inyo the void for hours till your weapon models start glitching out
@WackoMcGoose
@WackoMcGoose Жыл бұрын
If I remember right, Outer Wilds actually does this in a double sense, both the screen-space AND world-space coords of the player are [0,0,0], with everything in the simulation having a force applied opposite of the intended player movement, Planet Express Ship style. You're not jetpacking away from Timber Hearth, instead Timber Hearth is flying away from _you,_ and returning to you when you stop jetpacking. Additionally, one of the reasons behind a key gameplay mechanic is apparently that the orbital physics system (with it moving everything relative to you) is only guaranteed stable up to a certain length of time before it breaks down. Kerbal Space Program doesn't have this temporal limitation because the world-space coords are untampered with (the [0,0,0] in world space isn't the player-ship, of which there can be many ships at arbitrary relative locations, but Kerbol itself, the system's star, is at the world-space origin as expected).
@TheOneCheetah
@TheOneCheetah Жыл бұрын
I was always told the world doesn’t revolve around me, but here we are, the world revolving around me
@AHSEN.
@AHSEN. Жыл бұрын
First time I actually understood matrices. Thank you very much. I hope you gain more subscribers soon! You certainly deserve it. Your raytracing video is one of the best videos I have ever seen on youtube, and this video was extremely helpful.
@curiodyssey3867
@curiodyssey3867 2 жыл бұрын
PLEASE KEEP CREATING CONTENT! You are such a refreshing and highly competent teacher with a natural gift of making things intuitive and easy to understand. Please, you have the ability to help so many people in ways you could probably hardly imagine. It may be selfish of me to ask, but I crave your content. It is absolutely, insanely well done, while being both high-level yet easy to understand. Your ability borders on genius level with how effortless you make it appear to be. Please don't make us wait another 8 months. I beg you! You are utterly incredible. Simply amazing. Positively awe inspiring. Never stop.
@badday4885
@badday4885 Жыл бұрын
You I’m sorry 😅😅😅😅😅😅😅 😅😅😅😅😅 😅😅😅😊m😊 😅
@ElTRDG
@ElTRDG 2 жыл бұрын
The best explanation I've heard about graphic's matrices, I had even understood how they work! Great video, and congrats for the animations, they help a lot.
@TheLastCrankers
@TheLastCrankers Жыл бұрын
Good explanation, but the title is just false (and misleding looking at some comments about the multiplayer lmao). Creating a 2d projection of the 3d virtual space cannot be considered moving the world.
@whiskygrinch
@whiskygrinch Жыл бұрын
Damn, I would have needed you... like... 10 years ago when I first fell into VTK and the cursed world of 4x4 Matrizes and later quaternions. WHERE WERE YOU BACK THEN?!
@lRyanI
@lRyanI Жыл бұрын
This is such a relaxing, educational, and well-produced video. Love the music, the sound effects as things appear, and the calmness in your voice. Really glad this popped up in my feed.
@cmyk8964
@cmyk8964 Жыл бұрын
A form of transformation matrices was used in the SNES’s Mode 7 graphics. Since it was limited to a 2×2 matrix, perspective effects like in F-Zero, Pilotwings, and Super Mario Kart needed to change the scale of the matrix every scanline.
@curiodyssey3867
@curiodyssey3867 2 жыл бұрын
This channel is REALLY fucking good and is criminally underrated. Your time will come, believe that. Your content is on-par, if not better, than other KZbinr's in the same category/genre as you. Absolutely blown away.
@SleepingFumos
@SleepingFumos Жыл бұрын
writing something as simple as a rotating cube in modern OpenGL makes you learn a lot about computer graphics, and this is one of the things you'll learn. highly recommend it to anyone who wants to learn this the practical way
@pavelperina7629
@pavelperina7629 Жыл бұрын
Nice one. I don't like how matrices are always explained in a way rotation around x looks like this, translation looks like this. It helped me a lot to multiply matrix by vector by hand and to see the patern. First columns of transformation matrix tells you what happens to unit vector x. 2nd and 3rd columns are for unit vectors y,z. Forth column tells you what happens to unit vector w. You can decompose any vector to sum of perpendicular unit vectors x,y,z,w and scalars. Then you can multiply scalars by matrix columns, they will transform into four new vectors. By adding them together, you get the result of transformation. The last one (w) is perfectly consistent - take unit vector (or zero), in the fourth dimension, because why not. It will transform into three dimensions and add to the result - and that's the translation. From now, put w=0 for vectors and w=1 for points (cause vectors have no origin, they must be immune to translations). That's all that you need to know. From now rotation matrices are not weirdly placed sines and cosines with plus or minus signs, you can just draw a picture of unit vectors x and y rotated by 30 degrees and write them into column of matrix. And multiplying matrices is not a magic, but transforming base vectors in columns of the matrix on the right by a matrix on the left. IMPORTANT: all above assumes column vectors. NOTE: it's hard to explain the part with matrix*columnVector without seeing it. Try yourself with column vector (1 0 0 0) and so on, this one is really affected only by the first column.
@MichaelCrenshaw_TheXaldar
@MichaelCrenshaw_TheXaldar Жыл бұрын
I love the amount of nuance you fit into the first minute of the video! When I first started working with shaders directly everything was laid out in general terms without specifics, it took a lot of time to piece together what was actually happening; I wish I'd had this video then instead of now!
@Panda-ek9ll
@Panda-ek9ll 2 жыл бұрын
Found you from your quantum computing videos and just watched this! Your content is so underrated!! You need to keep making content man, your animations are descriptive and intuitive and you are amazing at explaining these concepts!! Keep up the great work!
@RevolutionAdvanced1
@RevolutionAdvanced1 Жыл бұрын
The introduction of the w vector and particularly fixing its value at 1 to represent eucledean space reminds me a lot of the notion of a "euclidean point" in 3D Projective Geometric Algebra. Have you ever looked into that?
@angeldude101
@angeldude101 Жыл бұрын
The addition of the 4th unit vector is usually called "homogenous coordinates," and PGA uses the exact same idea, but, IMO, gives a more geometric interpretation of each unit trivector. It also gives a more compact representation of transformations than matrices, sometimes called "dual-quaternions", but it also can't represent all the same transformations as matrices, namely PGA motors/dual-quaternions don't allow scaling or shearing. CGA does enable uniform scaling, but is also just its own beast.
@ctralie
@ctralie Жыл бұрын
Wow, really impressive use of sound and pitches here to reinforce the concepts!
@Qsie
@Qsie Жыл бұрын
Such an outstanding video, even the little things like sound effects for things appearing and fading in and out is brilliant! Absolutely phenomenal 💜
@9291sam
@9291sam 29 күн бұрын
Wow, what an excellent video. I had only visualized all of this in my head up until now, stellar job!
@blyatpotato9484
@blyatpotato9484 Жыл бұрын
I really appreciate your content man, I've been learning maths for 5 years in high school but I can't even begin to comprehend what the hell am I supposed to do with these. Your explainations shed light on how I can relate to what I learn. Love from Malaysia
@Hitmandan
@Hitmandan Жыл бұрын
This was awesome. I just began learning about matrices more in depth in my Calc 3 class and this actually makes me understand them much more, thank you!
@playboy6061
@playboy6061 Жыл бұрын
Do you realize that you just gave a very good matrix 101 lesson better than a college math professor😅 Well done on using game as examples the way you did👏
@christianreinbold9293
@christianreinbold9293 Ай бұрын
Just stumbled upon this channel through the ReSTIR video, and I was astonished how well and accurately this rather intricate algorithm with its mathematical quirks was explained - and then it turns out that all your videos are engineered in a great way, making all the maths that other tend to run from so tangible that I would not hesitate promoting those videos to any interested 14 year old. As someone who spent quite some time in lecturing undergraduate maths & computer science, and as someone who always was struggling with the inability of math professors to point out all the cool fields of applications and implications of the abstract theory they teach, I see a lot of potential in these kind of videos, to not only motivate CS students for maths, but also to motivate math students and fostering their intuition about what they have to deal with on a daily basis. Graphics may be great for this purpose, as it not only is exciting for a wide-spread part of the population, but it also covers the most important major fields: Linear algebra in case of raster graphics as shown in this video, stochastics & statistics in case of monte-carlo ray-tracing, applied numerics in case of discretization and precision handling. Going further, simulation (e.g. for games) is very analysis-heavy, and finally crypto & implicit surface rendering touches very interesting subjects in (non-linear) algebraic geometry. Basically, you could take a video such as this one, and then start linking it to topics undergraduate math students may struggle with. For instance, in this video you already have the foundation laid for core concepts in projective geometry, by messing around with an affine chart. Now include all the rest (points at infinity/directions, duality of points and lines, e.t.c), show how they relate to graphics, spend months to produce a video about it, and end up with more (probably criminally underrated) content to receive eternal gratitude of the few math students that study projective geometry. In an ideal world, dedicated lecturers would do this as part of their job and get paid for it, but I doubt that they will ever be able/allowed to slice off enough time for that - at least it would not be possible in the environment I graduated in. Interestingly, although the whole graphics domain is so math-heavy, my impression is that most graphics people, at least those I know personally, still tend to not think in formulas, singularities and distributions, but rather in algorithms, artifacts and noise - neglecting that 50% and more of their work is pure math. After leaving academia, I now am the only guy with a mostly maths background (plus a bit graphics / computer science) in our render engine team. Usually, its me who "translates" the state-of-the-art papers to pseudo-code, actual code and/or graphics speech. I will gladly refer to your videos here and there. :) Unsurprisingly, the tendency of graphics people thinking in terms of visuals and not mathematical abstractions also can be seen in research here and there. When reading the original ReSTIR paper, it is quite apparent that the author's home base is the graphics domain. In contrast, the ReSTIR PT follow-up is written up in a much more rigorous style regarding math and abstractions, and thus is able to completely cover the original ReSTIR work as a by-product, while introducing a mathematical framework that is so much more powerful than the application of ReSTIR to direct lighting.
@ethanIcet
@ethanIcet 2 жыл бұрын
Your explanations and visuals are really great !
@JchosenOfficial
@JchosenOfficial Жыл бұрын
This is so cool, I have been studying gamedev for a really long time but the concepts are viewed from a complicated lens, thx for making things so simple & easy to understand, a lot of things were review for me but even in reviewing it under such an easy to understand lens it helped broaden my awareness of the concept ty so much.
@ashleybyrd2015
@ashleybyrd2015 15 күн бұрын
I didn't expect to ever understand transformation matrices but I sure do now. Very intuitive explanation, great job!
@addizakaria978
@addizakaria978 Жыл бұрын
Keep up the good work, your channel is criminally underrated.
@fal3881
@fal3881 Жыл бұрын
i don't know what is this used for me later on, but you just explain it easier and i enjoy every second of it
@CookingWithJackDaniels
@CookingWithJackDaniels Жыл бұрын
I clicked on this thinking it was a 3B1B video and I was pleasantly surprised by my oversight. This was an excellent video
@megadog9305
@megadog9305 2 жыл бұрын
This is the most underrated youtube channel I know about. Awesome video!
@ruzanmuhammedasher3263
@ruzanmuhammedasher3263 Жыл бұрын
Haha I was thinking about the game superliminal and immediately you showed it to demonstrate the matrices’ transformations. Very nice
@xSyn08
@xSyn08 Жыл бұрын
Minor correction, on 2:13, that's actually the Normalized Device Coordinates or NDC From NDC you then convert to Screen Space Coordinates given the display resolution Which would be easy to do since you only need to multiply the X and Y with the Width and Height (halved depending on the center point of the renderer) I think that OpenGL for example takes the NDC matrix and then converts it to Screen Space internally
@morkrer
@morkrer 2 жыл бұрын
What a wonderful video! I hope you'll keep making content, these videos are masterpieces.
@Noah-kd6lq
@Noah-kd6lq Жыл бұрын
And all of a sudden I have a basic conception of what a matrix is. Thanks dude! Subscribed.
@hansfrankfurt1870
@hansfrankfurt1870 Ай бұрын
The sound effects of new variables are introduced or changed are a genius detail!
@qu765
@qu765 Жыл бұрын
i would say that this is by far the most informational video on the topic
@3nertia
@3nertia Жыл бұрын
Dude! This really opened up my understanding of maths! Thank you! Most helpful! I've been trying (with little success) to improve my math education; baby steps, I guess!
@dynamicmechanix9397
@dynamicmechanix9397 Жыл бұрын
This video single handedly expounded my understanding of games.
@sanador2826
@sanador2826 Жыл бұрын
Your channel is exactly what I am trying to emulate with my teaching style. I want to write lectures that are in this format that I can move through in class. Adding you to my pile of ideas. Excited to see what else you make
@throughcolouredglasses9300
@throughcolouredglasses9300 Жыл бұрын
That's an incredible goal! :) Taught like this I even cared to know more and asked myself questions about the subject. ... and I've failed math for biologists twice and then dropped out of my bio degree to do languages instead lol
@mrericwong
@mrericwong Жыл бұрын
Subscribed. Thanks for explaining these difficult topics in a simple and concise way!
@somethingsafoot
@somethingsafoot Жыл бұрын
5:53 bro lmao i love the successively increasing tones you add for each successive animation
@wojciechmichalak3978
@wojciechmichalak3978 Жыл бұрын
This is the most intuitive explanation of linear algebra i have ever seen
@volusian95
@volusian95 Жыл бұрын
As a videogame-enjoyer, this is one of those topics which I'm very glad there are other people around who are interested in/understand this much more than I.
@ManBro25
@ManBro25 5 ай бұрын
Ok, I’ll be coming back to this video at least 20x, and every time with a different question. Thank you for being so concise and informative! =sub
@mohammadjavad6205
@mohammadjavad6205 Жыл бұрын
well done man, well done! for the amount of effort you put into making this gem. thanks a lot. ❤️
@madlad255
@madlad255 Жыл бұрын
I've always found matrices weird and abstract, especially matrix multiplication. I do understand them, but I couldn't really link them to any concrete applications, so it was something I would tend to forget really quickly. However, this video has been really enlightening, showing an actual practical application of them! I'm looking forward to watching more of your videos!
@jaymo1011
@jaymo1011 Жыл бұрын
CrossCode being featured makes me happy, great video!
@4LordPlato
@4LordPlato Жыл бұрын
I learned more about math in the 10 minutes you explained matrices than I did in my last 4 years of school, like Fr tho my math teachers/proffs could never explain a new concept/tool in this way. I hadn't learned about matrices b4 but essentially it ties in everything i was learning in geometry and algebra my last few years and makes it meaningful and understandable, and part of that is bc hes giving us real world applications of the math which always helps. great video, thank you!
@wlockuz4467
@wlockuz4467 Жыл бұрын
This is so beautifully explained it almost made me emotional. If someone had explained it so intuitively to me when I was young I actually would've ended up loving Maths.
@s.hariharan6958
@s.hariharan6958 Жыл бұрын
I was accidentally found your video , I learned lot of concepts. You are Opened my eyes from lies & myth (I Believed the player is explore the world )🙂
@whschopke98
@whschopke98 Жыл бұрын
This was a very nice explanation overall, allthough sometimes I felt the need to pause and do some small calculations on a paper to exemplify what you said so I could fully understand. Those were the times when I feel like you took some big leaps for a person that is not currently in touch with linear algerba (like myself). Especially during the introduction of the w vector, some more drawn out calculations would be very welcomed. It's impossible for me to not point out some resemblance with 3brown1blue, and I mean it in the nicest possible way, since I consider 3b1b to be the best channel for explaining anything mathematic with very good visual examples/demonstrations. Keep up the good work, I hope my commentary is useful in any way.
@pitched7401
@pitched7401 Жыл бұрын
Very good explanation. Easy to understand and filled with valuable information. But i gotta add, that what you described was a "translation". A transformation includes scaling and rotating as well
@dungeonrobot
@dungeonrobot Жыл бұрын
When you’re importing pixel art into your engine or animation software of choice (Minecraft textures in the intro) make sure to turn off filtering or set your filter to “nearest”. That way your textures don’t come out blurry. There also might be an issue with your edge margins but I can’t tell with the blur. Great video overall
@curtisnewton895
@curtisnewton895 2 жыл бұрын
and when the game world is matched against an ellipsoid, it is scalled to the inverted dimensions of that one to make collision detection against a sphere instead which is much simpler to calculate
@NovaWarrior77
@NovaWarrior77 Жыл бұрын
When it's named something innocuous and opaque like "josh's channel" you know the content is top teir
@korayem
@korayem Жыл бұрын
A beast of a guitar! But then again, not surprised of how sick the tone is with Otto II II II II. It handles drop tuning wickedly good!
@deadfox5489
@deadfox5489 Жыл бұрын
What
@EigenA
@EigenA Жыл бұрын
Jeez bro, keep up the good quality content. I just subscribed
@hinatahyugadragonfly
@hinatahyugadragonfly Жыл бұрын
You are VERY informative. Thank you so much for making this video. I never knew much of this
@podcast4925
@podcast4925 Жыл бұрын
Hi Josh , I am from India your videos are really good and extraordinary.we can see how much hardwork you put to create such informative and graphics. I really suggest my friends to subscribe your channel keep posting videos.
@betaradish9968
@betaradish9968 Жыл бұрын
Amazing video. I love matrices. I love hobby game dev. This helps merge the two in an intuitive way.
@ego7383
@ego7383 2 жыл бұрын
Please make more videos, I had my notification on for so long
@IloveCanada-ql5vt
@IloveCanada-ql5vt Жыл бұрын
I don’t even do much computer programming, but this is super interesting. Thanks for explaining something I’ll probably never use, you have my subscription.
@mauricebenink
@mauricebenink Жыл бұрын
Perhaps an important note to add to not confuse people too much. The world doesnt move around the player when it comes to the how the game works internally. However it does move around the player when it comes to the rendering.
@illyay1337
@illyay1337 Жыл бұрын
Dude. I never thought about it this way. You’re really just converting things into a coordinate space relative to you.
@4.0.4
@4.0.4 Жыл бұрын
It was very cool to see "Minecraft outside the camera's perspective". Great illustration of how the sausage is made.
@rafaelpascoaliczerniej297
@rafaelpascoaliczerniej297 Жыл бұрын
nice video man, you deserve more recognition
@EPMTUNES
@EPMTUNES Жыл бұрын
Cool video! I love the sound design.
@matusem4839
@matusem4839 Жыл бұрын
What a great explanation! Thank You!
@hijarian
@hijarian Жыл бұрын
17:52 super valuable screen, thank you so much for it.
@drk90009
@drk90009 Жыл бұрын
Im sincerely thankful to you for making this video, thank you
@Ezkanohra
@Ezkanohra Жыл бұрын
I heard faint button presses from starting and stopping the voiceover, but other than that, this video was phenomenal.
@Console.Log01
@Console.Log01 Жыл бұрын
finally a video that explains matrixes! always watching computer science videos just going along with "and then you multiply matrix A with matrix B" and just nodding my head. well now I know
@arkdotgif
@arkdotgif Жыл бұрын
holy shit, i love when my two favourite things, maths and video games get combined. also u showed some based games in this video (crosscode and outer wilds
@pyropulseIXXI
@pyropulseIXXI Жыл бұрын
This is some top tier content; also, you can choose simply not to draw, or render, an object if its z-coordinate is 'behind' another one
@InkDevil999
@InkDevil999 Жыл бұрын
Thank you for the video. This was very insightful and interesting! I didnt follow the math 100% but that might have something to do with how late it is.
@fekrabusinesssolutions
@fekrabusinesssolutions Жыл бұрын
Wow.. I understand!! 😁😁 Thanks for the easy explanation.. what a great channel!!
@WackoMcGoose
@WackoMcGoose Жыл бұрын
8:38 ...I can't believe I'm not the only one that still remembers the existence of Stacking. That game was so charming, back when Double Fine still made things...
@shogoyo788
@shogoyo788 Жыл бұрын
The content of the video is great but the title bugs me a little. Maybe it should be like "In video games, camera never move when rendering." or something? But I understand the title will be less interesting. Anyways, I learnt a lot from the video. Nice job!
@mettaursp309
@mettaursp309 Жыл бұрын
Something to note about this is that it is unique to raster pipelines, the method where you draw objects by projecting triangles & potentially other shapes into screen space then drawing them with scan lines. With ray traced pipelines it is significantly easier to generate rays in screen space then transform them back into world space for the ray cast. The story doesn't quite end there though because a lot of ray traced pipelines only check if the rays are likely to hit the objects in world space. The actual intersections are computed by transforming the rays into object space on intersection candidates. This means you can create multiple instances of the same model with different transformation matrices, but only pay the storage costs for one copy and only pay the transformation costs of the ray interacting with the object if it is actually needed.
@nobodyspecial1553
@nobodyspecial1553 Жыл бұрын
No matter how much I read online I had a hard time understanding matrices, this one video was as if someone blew away the fog clouding my mind on matrices.
@daubenyhervis6437
@daubenyhervis6437 Жыл бұрын
man. now I remember what it was like trying to comprehend algebra, only I can actually take in the information, due to how concise your explanations are. keep it up guy.
@majordabalert
@majordabalert Ай бұрын
Your channel is incredible
@dlx7844
@dlx7844 Жыл бұрын
this was a great explanation, thanks! :D
@pizzaTimePedro
@pizzaTimePedro Жыл бұрын
Bro out here putting 3Blue1Brown level quality content!!
@nicholasparks500
@nicholasparks500 Жыл бұрын
Fricking brilliant. You've earned a subscribe and like.
@nilsosinga495
@nilsosinga495 Жыл бұрын
While I'm familiar with basic linear algebra on a theoretical level, and have definitely applied them in practical scenario's, it never felt intuitive to me. The "translation" of matrices and vectors at 5:31 really helped me pierce through that!
@zeronone6688
@zeronone6688 Жыл бұрын
Why don't you have at least 1M subs? This is really good.
@ziadconnolly057
@ziadconnolly057 Жыл бұрын
it's interesting to note as well that the evolution of screens themselves has influence in these things. i.e an older game that gets a new resolution scale but the ui doesn't scale because it's set to a certain pixel size, and Marathon's image projection rendering will have some surfaces that would appear more visually 3d as a result of the round monitors
@kainpwnsu
@kainpwnsu Жыл бұрын
Oh boy, I rememberwhen I learned that matrices are used to perform 3D transformations. It was the last bit of high school math I used in my job as a programmer. Kids complain they'll never use the math they learn...
@savarin_yt
@savarin_yt Жыл бұрын
THIS EDITING IS INSANE!
@Ramog1000
@Ramog1000 Жыл бұрын
From a technical standpoint the oposite is the case. Shifting arround the world instead of the player doesn't usually happen (certainly not in minecraft) if you look at the floating point error related bugs in game you can keep those two appart. I guess you can actually use a worldspace with the player being the point (0,0,0) Take minecraft where the player moves (just like in most games) when you reach the far ends of the coordinate system, the further away you are from the center of the world (0,0,0) the buggier stuff becomes, see minecraft bedrock were you just fall through the world because hitboxes get soo messy that there is an actual hole inbetween block. Now compare that to outer wilds where the universe moves arround the player, the player is always (0, 0, 0) and the world gets moves arround you, that means the further planets are away from you the more error is gonna be in their orbit calculations and they get chaotic. But that also means the most precision is gonna be were its needed, right next to the player.
@jacobmartinelli7496
@jacobmartinelli7496 Жыл бұрын
thanks for explaining it in english. i figured it down to warping and stretching/unstretching condensed images. the if then else of layered images
@rayredondo6349
@rayredondo6349 Ай бұрын
Technical correction: usually, in 2D games and 3rd-person 3D games, the player actually does move on the screen some amount. There is a camera that tracks close to the player that moves instead.
@GabyTM1
@GabyTM1 Жыл бұрын
Is the tool you use to visualize the vectors available somewhere on the internet, or it was all made by yourself? Very great video, vectors were something very hard for me to understand since I've relatively skipped over them for the past few years, but with this short video you helped me a lot to realize they are not that hard! Thank you so much!
@JoshsHandle
@JoshsHandle Жыл бұрын
I'm using Blender, but it requires a fair amount of setup to get it to visualize vectors, they are unfortunately not built in to the software.
@Marvin-qp1se
@Marvin-qp1se Жыл бұрын
Well I don't know, but the title might be a little bit misleading. During view transform and projection, yes the "scene" is changing according to the location and view angle of the player. However, in the beginning of the whole rasterizatin, the player does move to get his final object coordinate. You may say the player doesn't move in the drawing pipeline but not that he doesn't move at all.
@mr_sauce_cooks
@mr_sauce_cooks Жыл бұрын
Holly hell i had this theory in my head for so long thanks for confirming it
@agxryt
@agxryt Жыл бұрын
Kinda unrelated, but really nice voice for narration. Very buttery. Mmmmm Subbed for the butter
Better Mountain Generators That Aren't Perlin Noise or Erosion
18:09
Josh's Channel
Рет қаралды 239 М.
How Ray Tracing (Modern CGI) Works And How To Do It 600x Faster
32:06
Josh's Channel
Рет қаралды 538 М.
When Your Game Is Bad But Your Optimisation Is Genius
8:52
Vercidium
Рет қаралды 1,3 МЛН
Is the Future of Linear Algebra.. Random?
35:11
Mutual Information
Рет қаралды 180 М.
Two Decades of Hardware Optimizations Down The Drain
10:20
Lavafroth
Рет қаралды 58 М.
The Math behind (most) 3D games - Perspective Projection
13:20
Brendan Galea
Рет қаралды 358 М.
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,3 МЛН
Optimizing my Game so it Runs on a Potato
19:02
Blargis
Рет қаралды 274 М.
Blazingly Fast Greedy Mesher - Voxel Engine Optimizations
23:35
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 670 М.
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 494 М.