Пікірлер
@borealisaristocles4825
@borealisaristocles4825 8 күн бұрын
Where I download it?
@france976
@france976 8 күн бұрын
20 years i ve waited for this video
@gdclemo
@gdclemo 12 күн бұрын
How do you avoid the portal clipping the near plane as you pass through it? Also doesn't Quake use PVS, so are you doing PVS lookup for the viewpoint transformed into the portal destination space (which might be behind a wall) or from the portal itself somehow?
@keiyakins
@keiyakins 17 күн бұрын
Does the pre-calculated expanded collision hulls mean that everything that moves has to be either a point, player sized, or ogre sized? I mean... you can do tricks like calculating as a point and then backing off a bit to handle stuff like grenades landing on floors, but the vore and shambler don't seem so easy.
@stardustmotion
@stardustmotion 21 күн бұрын
this animation/teaching is 50 years ahead of university course
@Go_Coup
@Go_Coup 27 күн бұрын
"Purpose"? Where we're going, we don't need purpose!
@edmundhuber9780
@edmundhuber9780 27 күн бұрын
Great breakdown, thank you. Having done my own reading of the Black Book, and other of Abrash's articles (which seem to be the most time capsule-y articles available on the Quake engine development) I'm struck by how pragmatic many of the choices made in building the engine were. For example, the PVS doesn't eliminate overdraw by itself, but it greatly reduces it. Carmack knew it was stupid to try to get the PVS perfect (in fact, fine-grained PVS is still an open problem today). PVS as implemented in quake gets the set of polygons low enough that span buffers can be used -- span buffers being even for the time a slightly outdated algorithm, that was designed in a time when writing a pixel was very, very slow, to completely eliminate the remaining overdraw. Overdraw in drawing the world was very expensive because every pixel had to be textured and lit, and world polygons tend to be large. But then at model drawing time, Carmack just said fuck it, the polys are small enough that we'll just the z-buffer.
@Go_Coup
@Go_Coup 27 күн бұрын
Do you have any videos of your/a 'humanized' bot completing a Defrag map? I've seen a non-humanized one during a Defrag tournament, but I have wanted to see one performing something that could potentially be done by a human (not cyborg.)
@vladimirryabtsev6184
@vladimirryabtsev6184 29 күн бұрын
It is actually not hidden.
@ciCCapROSTi
@ciCCapROSTi Ай бұрын
Yes. I had no idea how that TAS thing worked, I assumed it switches back and forth too fast to see, but that didn't sound right, rendering would show the flicker, there is no smoothing in Quake. But if it directly controls wishdir, then yeah, that explains it.
@datwolfe3512
@datwolfe3512 Ай бұрын
I'm sorry but what does quantizing mean
@arnaudloche2725
@arnaudloche2725 Ай бұрын
This is excellent
@HardToBeAPoopGod
@HardToBeAPoopGod Ай бұрын
i know exactly 0% about codes and scripts, and yet i 100% understood this! i've always been curious as to how wallrunning specifically works super well done ♥
@FitterSpace
@FitterSpace Ай бұрын
How would you calculate the optimal wishdir values given the player’s velocity? The table you showed in the video looks great, what is the formula for that?
@rinkachi-rinkitata
@rinkachi-rinkitata Ай бұрын
Could you explain how the objects are rendered?
@3DSage
@3DSage Ай бұрын
I really hope this gets more views. You skilled visual explanation are amazing.
@LordFers
@LordFers Ай бұрын
Are you sure about if is the Minkowski difference used in Quake? Why is it that they never mention this in Michael Abrash's black book? I mean... I understand that Bruce Naylor went to id Software in 1994 to explain to Carmack how to take advantage of BSP Tree for Collision Detection (Doom doesn't use that approach), but I don't know if he explained to him that he could use the Minkowski difference (as what we now know as GJK). It would make me very happy to know where you got the idea that they used Minkowski Difference in Quake, or if it was just an approach you came up with for the video. Thank you so much and great video!
@ninjacat230
@ninjacat230 2 ай бұрын
I wonder if ericw tools can be made to to work in goldsrc, or mabye ACTUAL quake
@tomyoungblood9175
@tomyoungblood9175 2 ай бұрын
What is your education?
@tomyoungblood9175
@tomyoungblood9175 2 ай бұрын
Excellent video! I’ve been playing for 10 years and ironically the day after I finished my grad school linear algebra final project I see this video! Loved it.
@hetias
@hetias 2 ай бұрын
Carmack you're a genius
@grafzhl
@grafzhl 2 ай бұрын
Watching this almost 20 years after I discovered Defrag is pretty nostalgic :>
@SensSword
@SensSword 2 ай бұрын
The Black Book is one of my favorite things from childhood. It was always just out of reach but I still learned things that helped me in my career. Good stuff.
@kerryhall
@kerryhall 2 ай бұрын
Love your videos! Can I request a video discussing how Quake stores the actual polygon data used for drawing? Not so much the bsp, but moreso the surfaces / triangles / verts / polygons used for drawing the walls of a map, etc, and how does this differ from other full 3d engines of the time? (ie System Shock, Unreal, etc)
@charlieking7600
@charlieking7600 2 ай бұрын
From what I know, all Quake store their surface not as polygons, but as surfaces. The surface equation is A*x + B*y + C*z + D, where A, B, C are coordinates of orthogonal vector to the surface, x, y, z are coordinates of any point on surface, and D is coefficient, determining the offset of surface in 3D space. All surfaces with equal normal vectors (A, B, C) are parallel each to other. For surface storage in .map file you need only 4 numbers (A, B, C, D), so you can create later polygons in map compiling stage to .bsp file.
@user-ft1er1ql6n
@user-ft1er1ql6n 2 ай бұрын
Just ran through RTCW at 144 (matching monitor). Started a new playthrough and remembered capping at 333 FPS from W:ET. The difference is so huge in game that I had to look it up. Interesting video!
@VideoGamesCompleted
@VideoGamesCompleted 2 ай бұрын
Hello Mike, would you briefly explain why holding forward while in the air in Quake causes you to lose speed when attempting to bunny hop? It's one of the difficult transitions for me is going from Quake 2 or Quake 3 asd having to let go of forward while in the air because you want to keep holding forward in Q2/Q3. I always wondered what it is that causes the speed loss in Quake 1 when holding forward.
@mrshodz
@mrshodz 3 ай бұрын
Great video.
@JathraDH
@JathraDH 3 ай бұрын
Its amazing how much game programming boils down to the simple dot product ie: backface culling check. You can do SOOO much with it its insane.
@sibvrv
@sibvrv 3 ай бұрын
Awesome! Implementation as in Duke Nukem 3D ))) There where lot of custom levels in use with non-euclidean geometry, the most fun experience for multiplayer setups.
@antonaparin
@antonaparin 3 ай бұрын
Love your videos and style, Matt! Right now, I'm learning about shaders and have no idea how I would even approach making a video like this. The arrows and the grid look gorgeous and flow really well with the graph. Do you use a program, or did you make the shaders yourself? I see you put in a lot of effort into this, and it'd be very interesting to know how you did it
@nicolamarchesan4597
@nicolamarchesan4597 3 ай бұрын
Amazing video
@BmikroB
@BmikroB 3 ай бұрын
An amazingly detailed, yet still easy to follow. You've explained it exceptionally well, thank you for this video!
@nicolamarchesan4597
@nicolamarchesan4597 3 ай бұрын
This video is a pearl. Awesome. Although I didn't get some of the concepts, I gotta say the animations are perfect and explanation very clear. Question: how did the compiler find a good portal? And how did carmack arrive to all those ideas?
@nicolamarchesan4597
@nicolamarchesan4597 3 ай бұрын
Really thanks for this ultra very well done video. I'm almost 40 now, but when I tried to study this stuff in the 2000s it was very difficult. Can't even believe you can find this kind of videos today, showing the unmatchable brilliance of Carmack. I didn't even know there were more thatn one BPS tree, made just for collision detection. When I was writing my own 3D engine back in 2000s, I had the very same problem, solved by expanding the geometry (an idea I had along with a friend of mine), but the final result was not stable. How could Carmack come up with this idea? thanks!
@GammaRain
@GammaRain 4 ай бұрын
you don't deserves a coffee, you deserves a hole building with a cafeteria inside.
@mihailazar2487
@mihailazar2487 4 ай бұрын
I don't understand why you chose green as the solid color and gray as the empty color it's so counter-intuitive
@psychoedge
@psychoedge 4 ай бұрын
Honestly I'd love to see you look at the overlaps with wheel modifier like dirt and ice on entering tarmac. I assume it's a value averageing the two surfaces it involves but still would be nice to have it confirmed.
@GabrielxC
@GabrielxC 4 ай бұрын
What a bug!
@er-GOD-ic
@er-GOD-ic 4 ай бұрын
someone tell me why accelerate is not clipped to zero? why they can be negative number??( ・・?)
@purityspiral662
@purityspiral662 4 ай бұрын
It's great to see a visual example of what BSP splitting looks like using 3D volumes instead of just 2D areas
@paulbunyangonewild7596
@paulbunyangonewild7596 4 ай бұрын
So beautiful to see how neat and tidy this system is.
@PDivision1
@PDivision1 4 ай бұрын
The animation is amazing! How did you make them? I mean splitting the level in chunks.
@antivanti
@antivanti 5 ай бұрын
I seem to remember that the original Unreal engine had support for portals like this?
@grahamesmith9139
@grahamesmith9139 5 ай бұрын
You assume that we know what an iteration is 🎉😂😂❤
@cesario04
@cesario04 5 ай бұрын
isnt easier to use instead goldsrc
@charlieking7600
@charlieking7600 2 ай бұрын
It's proprietary.
@appalling22
@appalling22 5 ай бұрын
Did you try using this technique to make reflective surfaces? I think this is how duke nukem and Unreal did mirrors, IIRC
@hansdietrich83
@hansdietrich83 5 ай бұрын
Small correction at 2:54 : affine is not a linear transformation, as it includes shifting the origin
@sinphy
@sinphy 5 ай бұрын
the fan maps on the same level as the source maps where youll go "wait thats [engine]?"
@jollygrapefruit786
@jollygrapefruit786 5 ай бұрын
Look who's back!
@TheUKNutter
@TheUKNutter 5 ай бұрын
One video you could try and do is explain why you could have only 5 or so enemies in one screen.