Coding Challenge 145: 2D Raycasting

  Рет қаралды 644,702

The Coding Train

The Coding Train

Күн бұрын

Пікірлер: 522
@discreet_boson
@discreet_boson 4 жыл бұрын
This man is an international treasure and should be protected at all costs
@atrumluminarium
@atrumluminarium 5 жыл бұрын
Omg this video is so coherent and organised unlike the live stream. Your editor needs a raise Dan hahah
@MattRose30000
@MattRose30000 5 жыл бұрын
That's why I always wait for the edited versions, they are just so much nicer to watch.
@taba1950
@taba1950 5 жыл бұрын
@@MattRose30000 while true the live stream still have a unique entertaining value
@LuisHansenNH
@LuisHansenNH 4 жыл бұрын
Showing your code VS coding live. That's why I hate coding interviews. It's like they say: the worst part of parallel parking are the witnesses.
@vintyprod
@vintyprod 4 жыл бұрын
@@taba1950 while(true)
@MizhiBirb
@MizhiBirb 4 жыл бұрын
more like a RAYS
@dkkoala1
@dkkoala1 5 жыл бұрын
The ray.cast method is already calculating the relative distance to each intersecting object in the form of "u", so an optimization would be to use it instead of the p5.vector.dist function. This is more efficient because p5.vector.dist uses euclidean distance, and therefore calculates square roots each time it is called, which is a heavy calculation. But great video as always!
@TheCodingTrain
@TheCodingTrain 5 жыл бұрын
Thanks for the feedback!
@dkkoala1
@dkkoala1 5 жыл бұрын
​@@TheCodingTrain No problem, i always love your videos because they remind me that coding can still be beautiful. Im a machine learning master student, so your project with the self driving car interests me very much, even though i am more of a supervised learning guy. Please feel free to contact me if you need some resources for how to approach the subject. In any case you should definitely check out Arthur Juliani's Medium article about Q-learning, it is a very good resource to reinforcement learning.
@likeyou3317
@likeyou3317 5 жыл бұрын
So smaller "u" means dist is smaller?
@TheCodingTrain
@TheCodingTrain 5 жыл бұрын
@@dkkoala1 Indeed, such a great reference!
@dkkoala1
@dkkoala1 5 жыл бұрын
@@TheCodingTrain Another thing that could maybe speed up your training is the concept of curriculum learning. It is done by starting out training with the simplest version of your problem and then as the AI gets better raise the difficulty of your training. An example could be starting with training the AI to drive in a straight line, and when it can do that then add a bend to the track. Multiple objective functions could also be useful, first prioritizing getting to the end of the by having the distance to the goal as your loss, and afterwards using the speed at which the AI can get there instead. In this way you first ensure a basic understanding of the task and then you can optimize it make the model better and faster at the task. Unity has a great blog for curriculum learning blogs.unity3d.com/2017/12/08/introducing-ml-agents-v0-2-curriculum-learning-new-environments-and-more/
@nehoymenoy3845
@nehoymenoy3845 5 жыл бұрын
It's awesome when a feature can be implemented for both visual and functional purposes.
@MSecYT
@MSecYT 5 жыл бұрын
6:59 "I didn't forget this time"... immediately forgets to add this to the dir.x, and dir.y
@TheFlamingWaldo
@TheFlamingWaldo 4 жыл бұрын
I program in Python -- I used C++ back when I was in college, but it didn't sit well with me -- and I was inspired by this to try to program some raycasting *in* python, despite my limited experience with trigonometry. I tried my best to construct as many of the math-related functions as I could from scratch, which means I made my own function for finding magnitude, normalizing lines, for projecting lines out at a specific angle, etc etc. I was worried it was going to run awful, but it's actually pretty smooth! It was difficult for me, as I've never taken a trigonometry course and I actually managed to fail remedial math once, but something about wanting to accomplish something makes me learn more. I feel really happy with myself, even if I have what would probably have been easier if I had just used built-in library functions to do my work for me. Your work always inspires me, and this is the third project I've made based off of the suggestions in your videos, so thank you so much!
@matiascollado9926
@matiascollado9926 2 жыл бұрын
How did you make the ray extend to infinity in one direction?
@adammoore4359
@adammoore4359 Жыл бұрын
@@matiascollado9926 did you figure this out?
@matiascollado9926
@matiascollado9926 Жыл бұрын
@@adammoore4359 I did not extend it to infinity, rather I extended it far enough that the user never sees the end of the rays
@izangomez6806
@izangomez6806 5 жыл бұрын
3:25 Code bullet will help you, sure
@mariovelez578
@mariovelez578 5 жыл бұрын
Tokyo drifting!!!
@abdulalhazred5924
@abdulalhazred5924 5 жыл бұрын
NANI! Train Dorifto!
@DamageMaximo
@DamageMaximo 4 жыл бұрын
I remembered of him!
@cassioschneider922
@cassioschneider922 5 жыл бұрын
i've never coded anything. don't know why i watched the entire video. still, this is AWESOME thanks! cheers
@TheCodingTrain
@TheCodingTrain 5 жыл бұрын
You can start learning here! kzbin.info/aero/PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
@cassioschneider922
@cassioschneider922 5 жыл бұрын
@@TheCodingTrain Thanks for replying! i'll definitely try it out :D
@cassioschneider922
@cassioschneider922 5 жыл бұрын
@@nerasure actually I watched the entire playlist with the starting tutorials! I made some really cool stuff, made 3d pong, moon phases shown in 3d, a few simple games and other simple stuff just to try out p5js and learn a little I would definitely recommend it, Daniel is an awesome teacher, always so positive and ready to a swerve questions!
@kenan2386
@kenan2386 3 жыл бұрын
:)
@aleksszukovskis2074
@aleksszukovskis2074 4 ай бұрын
sleep watching?
@squirrel1620
@squirrel1620 5 жыл бұрын
When I was coding with unreal 2 and 3 engine, the Trace and FastTrace were used for ray tracing. It worked more or less the same, mathematics wise anyways. They pull more tricks to avoid multiplication or division because it saves time.
@rolandferguson1209
@rolandferguson1209 2 жыл бұрын
I haven't been programming in a while and jumping back in to your tutorials I get to see how much comedy you've added! it's great to see you so expressive
@DenerWitt
@DenerWitt 5 жыл бұрын
I like the light like effect at the end. when math and programming become art. Pretty.
@ValleyOfWillows
@ValleyOfWillows 3 жыл бұрын
Making the boundaries into letters with the same color as the background and then having the lightsource just randomly go around the canvas would probably make a cool screensaver.
@zelioz848
@zelioz848 Жыл бұрын
Yo that is sick, i'm gonna learn how to change my desktop background to something like that and program it myself
@justiceforsethrichwwg1wga160
@justiceforsethrichwwg1wga160 5 жыл бұрын
I’ve been watching your channel for awhile now....you’ve gotten way better at your presenting! Really great content! Easily one of my favorite channels.
@thegoodhen
@thegoodhen 5 жыл бұрын
This really reminds me of SLAM (simultaneous localization and mapping) visualizations in robotics. You have a robot with a LIDAR scanner and it sees the environment in exactly this way, as it casts multiple laser rays.
@batonator
@batonator 5 жыл бұрын
i love your enthusiasm, you make me wanna code more. I can't wait to get a PC
@thebrickccentric3728
@thebrickccentric3728 7 ай бұрын
2 cases that the line segment intersection check here forgets to consider (which become more apparent in the next video): -If the ray is parallel with the wall, but also directly in line with it, the intersection check here will return empty when it should return the closer of the 2 endpoints of the wall (and the distance to it) -If the particle/vehicle is sitting directly on a wall (or if a wall has the same start and endpoint / 0 length), then the intersection check should return the ray's origin point (0 distance) no matter what Great video though; this stuff is super useful
@nkheart4
@nkheart4 5 ай бұрын
My first goal is to learn what you teach, but I also enjoy seeing your reactions when you start coding. I see myself in you, so I love your channel because I feel the same joy you get when coding graphics like this.
@wlockuz4467
@wlockuz4467 Жыл бұрын
This video is simply amazing! I always used to think of Raycasting as this very complicated topic which requires a good understanding of Math but at not point did it feel like I didn't understand this video. I am blown away!
@HellTriX
@HellTriX 5 жыл бұрын
The end result to this one was absolutely beautiful. I think its my favorite one yet. I also cannot wait to see some NNs applied to this!
@husseinshukre3828
@husseinshukre3828 3 жыл бұрын
Great video helped me build openGl program that recolor the selected polygon
@HoneyDustTheReal
@HoneyDustTheReal 3 жыл бұрын
i'm just putting my idea here but i think it would be really cool and entertaining to combine the maze generator algorithm with the a* pathfinding algorithm to solve it and finally this one that could be implemented by redirecting the "light source" to the mouse cursor and be able to explore the maze (which would be all dark at first) and just seeing the light making it's way to the edges of the paths as we move along them, like some sort of dark exploration game
@Mabeloid
@Mabeloid 2 жыл бұрын
sounds like 2d scanner sombre
@sushicook816
@sushicook816 4 жыл бұрын
This channel is a gold mine for researchers.
@brianbrooks4448
@brianbrooks4448 4 ай бұрын
Very interesting subject matter. Love the quirky presentation style. Sub added. I'm interested in using this type of algorithm, but converted to an electronic system using ultrasonic emitters and sensors. This video was good inspiration though, so thanks for that.
@yourteacher4353
@yourteacher4353 5 жыл бұрын
So basically there are two kinds of people: 1) people and 2) people who brighten your day up. You Daniel is the king of kind 2.
@ivankorytko1964
@ivankorytko1964 5 жыл бұрын
The best explanation of the work. Interesting, understandable, not boring and I was impressed that it is easy. I do not know JS, but the idea and logic is quit simple. Thanks for your videos.
@catherinebernard3282
@catherinebernard3282 4 жыл бұрын
Thanks to this I managed to get a version of this working in gamemaker (studio 2). Was a lot of fun.
@NinjarioPicmin
@NinjarioPicmin 5 жыл бұрын
Yay for Nicky Case. I love a lot of their work
@7cle
@7cle 5 жыл бұрын
Keeping this that simple, given the complexity of the subject is the mark of a rare gift Dan : intelligence! Thank you for sharing it with us. It is a pity so many are not fussed to share stupidity on social media though.
@soejrd24978
@soejrd24978 5 жыл бұрын
That plan on this project is insane!! I"m so hyped!!
@Apoorvpandey
@Apoorvpandey 5 жыл бұрын
Coding train : " Making world a better place to live in "🌼🌼🌼
@cidie1
@cidie1 2 жыл бұрын
Thanks so much, I'm half watching for the subject and half watching because you are just so fun!
@shaileshrana7165
@shaileshrana7165 4 жыл бұрын
Light also diffuses around edges. Maybe that can be added.
@andrewweller5119
@andrewweller5119 Жыл бұрын
Great, thanks fo rthis. i re wrote it all to work in Game Maker Studio and have learned soo much.
@CYXNIGHT
@CYXNIGHT 5 жыл бұрын
I used to code on Gamemaker, and was transitioning to Unity, but I came across your channel and Java is now my favourite language. I was getting discouraged from coding as Gamemaker couldn't do what I wanted, but since your channel popped up in my recommended I have sinced been coding almost every day as I never cease to find something to code, I can't thank you enough. I love your channel and your vibrance, I hope you never stop these videos, and live-streams!
@33KK
@33KK 5 жыл бұрын
He uses JavaScript
@TheCodingTrain
@TheCodingTrain 5 жыл бұрын
Thanks for this nice feedback!
@garychap8384
@garychap8384 4 жыл бұрын
More efficiently, when trying to identify the whole area "visible" from a point ... For all obstacle endpoints, take their angle. Sorting the endpoints by these angles gives you a clockwise (or anticlockwise) list of points. Now it's easy to evaluate each point in turn, working around the circle to construct a convex region of points. You can then gradient fill that region, or use the region to apply dynamic lighting/shadows. You can even do some fairly complex stuff with this region/origin ... particularly if your 2D tiles have an extra map for a simplified 'normal' and 'height'. The height lets you suspend lighting (for some distance) along the ray, giving you tiles that cast shadows onto tiles, to cast composite shadows on floors. Orientation and Slope values per pixel let you modulate how a dynamic light affects the base texture. But, at its very simplest, you can just use a very weak alpha with a circular gradient to give a very subtle effect which, although it's not accurate, is subtle enough that people don't notice. You can have lots of fun with these regions.
@DodaGarcia
@DodaGarcia 2 жыл бұрын
That ending made me SO happy I can't even describe it
@_jonathancollins
@_jonathancollins 4 жыл бұрын
This is the first time I've watched your videos, and frankly, I'm a bit disturbed by how excited you are. It's contagious...
@mihaisolomon2893
@mihaisolomon2893 5 жыл бұрын
I did something like this 1 month ago, but my code wasn't so explicit, thank you for the explanation
@julianirmer5854
@julianirmer5854 5 жыл бұрын
The only channel for which I activated notifications.
@Couchwurst
@Couchwurst 4 жыл бұрын
Thank you for this awesome Coding Challenge! And for bringing up the reference to Nicky Case - his game and ideas are fantastic!
@TSPxEclipse
@TSPxEclipse 4 жыл бұрын
Personally I would have loved for there to be a segment added into the code for reflection/refraction, but with a simple ray vs. boundary setup on a 2D plane that would have been complete overkill.
@dalegriffiths3628
@dalegriffiths3628 4 жыл бұрын
Fantastic - can't wait for the self driving vehicle you mentioned you'd like to do with this!
@elendil4543
@elendil4543 2 жыл бұрын
This guy can make whole game engine with processing
@proxy1035
@proxy1035 5 жыл бұрын
2:34 when your parents ask you to do anything
@masonhunter2748
@masonhunter2748 4 жыл бұрын
I would give a like but it’d overflow
@Csc5csc5
@Csc5csc5 5 жыл бұрын
Bruh, that's a lot of energy before noon. Coffee or Red Bull?
@OrangeC7
@OrangeC7 5 жыл бұрын
Wow! I've seen and been to basically everything he referenced at the start of the video. Does this mean I'm finally good at the internet!?
@Apoorvpandey
@Apoorvpandey 5 жыл бұрын
You're cool !
@KDSBestGameDev
@KDSBestGameDev 2 жыл бұрын
t basically is where on the line is the hit. 0 means it is on point a, 1 means it is on point b. Higher than 1 means beyond point b and lower than 0 before point a. That also means t > 0 should be t >= 0 and t < 1 should be t
@MagnaKay
@MagnaKay 4 жыл бұрын
The enthusiasm is so contagious ahah. Good job!
@Edd4324
@Edd4324 Жыл бұрын
I love your sticker on your laptop says never forget the this dot and you forgot it in the first part of the code! Great Video as usual!
@sonik382
@sonik382 5 жыл бұрын
I am trying to code the AI car as well...awesome you suggested that! Can't wait for the next challenge! Greetings from Italy!
@run4thewin357
@run4thewin357 4 жыл бұрын
This is the most interesting video i saw this year
@WzzupDaAwsome
@WzzupDaAwsome 5 жыл бұрын
What if you made the light that hits the walls reflect back at whatever angle it hit the wall? I've seen videos of rooms where there is a single point where light can't reflect to, it would be cool to test that out with this program.
@FazpyDev
@FazpyDev 2 жыл бұрын
This video is so useful, I'll for sure have a look at it!
@DIProgan
@DIProgan 5 жыл бұрын
Cave searching game where items or monsters appear only when rays hit it. Limited angle of rays for the flashlight effect controlled by mouse while the character is controlled by keyboard
@avi12
@avi12 5 жыл бұрын
Dan, from Chrome 74, when initializing values in a certain class - you no longer need the constructor. Just initialize them Unless, of course, your constructor receives parameters
@TheCodingTrain
@TheCodingTrain 5 жыл бұрын
Thanks for the tip!
@8bit_pineapple
@8bit_pineapple 4 жыл бұрын
♫When A Grid's Misaligned With Another Behind That's a Moiré♫
@masonhunter2748
@masonhunter2748 4 жыл бұрын
You stole it
@8bit_pineapple
@8bit_pineapple 4 жыл бұрын
@@masonhunter2748 Yea. Credits to xkcd comics, that everyone here should read ;)
@masonhunter2748
@masonhunter2748 4 жыл бұрын
8bitpineapple what’s the number
@-Burb
@-Burb 4 жыл бұрын
@@masonhunter2748 1814
@jojolafrite90
@jojolafrite90 4 жыл бұрын
I think what we call rasterization is a natural evolution of raycasting. You do cast rays to determine if a triangle is on a pixel, or an edge of triangle or a point.
@eddieh7962
@eddieh7962 4 жыл бұрын
Or is the evolution the other way around, from rasterization to ray tracing
@ai_zj
@ai_zj 5 жыл бұрын
And Dan said, "Let there be light," and there was light.
@ViciousVinnyD
@ViciousVinnyD 7 ай бұрын
Every time this thumbnail shows up in my recommended it does this thing where it moves as I scroll
@jonmichaelgalindo
@jonmichaelgalindo 4 жыл бұрын
I just tried doing this last week, and I also arbitrarily picked cast(). :-) Although I first intersected the ray with a polygon's bounding-box (polygons had translation/rotation/scale), then transformed the ray into the polygon's local space, then calculated the intersect depth (if any), then transformed that depth back out to the ray's space. That way I didn't have to convert all the polygons' vertices to global space, since I only need the ray's collision point for drawing.
@jonmichaelgalindo
@jonmichaelgalindo 4 жыл бұрын
Also, it looks like you're using p5 for vector stuff, but I was just using JS.
@alexmattheis
@alexmattheis 4 жыл бұрын
Very good explanation and coding.
@artistpw
@artistpw 2 жыл бұрын
This would make a great night light on a screen.
@bluepixelmusic9463
@bluepixelmusic9463 5 жыл бұрын
finally a channel that doesnt expect me to be a master brain
@elliotressler4201
@elliotressler4201 5 жыл бұрын
Your enthusiasm got me excited as well. I'm sure it was worth a sub (:
@abazur7742
@abazur7742 5 жыл бұрын
now after this video i can tell that you are a genius
@wumbl3
@wumbl3 4 жыл бұрын
24:23 first sighting of the covid-19 virus. May 8th 2019.
@hungrypasta
@hungrypasta 4 жыл бұрын
colourised
@massimogiardina9138
@massimogiardina9138 5 жыл бұрын
You helped me so much with this. How could I ever thank you?
@Jeff-Vader_head_of_catering
@Jeff-Vader_head_of_catering 5 жыл бұрын
Very cool! My brain melted about 1/4 of the way into the video, but, cool.
@Damian_Stefann
@Damian_Stefann 5 жыл бұрын
Dude i am making videogame and i needed this! Thanks :)
@MemoryPrimeMinister
@MemoryPrimeMinister 4 жыл бұрын
Coding a line would send me off the wall. Then here you are making ray casts
@medhavimonish41
@medhavimonish41 4 жыл бұрын
wow , you never fail to amaze
@ratdn
@ratdn 4 жыл бұрын
damn you did all this in less than an hour and it took me like 20 hours to recreate this in python using tkinter
@scatheroy
@scatheroy 4 жыл бұрын
Just awesome. Great video. Thanks, man.
@OrangeC7
@OrangeC7 5 жыл бұрын
You should check out CodeParade's videos on ray marching as well. There are a lot of cool things you can do with the technique! :D
@imvickykumar999
@imvickykumar999 5 жыл бұрын
You are my inspiration 🤘🤘
@therealstillie
@therealstillie 5 жыл бұрын
That was unbelievably enjoyable to watch!!!! Thank you
@qiucyshi8397
@qiucyshi8397 5 жыл бұрын
Why I still got the last bug even I put the “let record = Infinity;” outside.
@My-video123
@My-video123 3 жыл бұрын
At first I thought you are very strange guy. After several your videos I just realized it’s a gold material to be taught and implemented. Thank you mate
@nqkhanhskewb
@nqkhanhskewb 4 жыл бұрын
Maybe among us uses this concept for the vision of the player
@pauhull
@pauhull 4 жыл бұрын
you can make it much more efficient by just shooting rays at the edges of objects
@mr.budders8740
@mr.budders8740 3 жыл бұрын
My man, I want to give you the highest honor I can bestow for teaching me in 20 minutes (only the first portion of video) how to detect ray intersection when everywere else says that you gotta to a bunch of tan() cos() and sin() functions with some more advanced trigonometry within and hour. A subscribe BTW I litterally spent 4+ hours trying the other method and it never worked
@homelikebrick42
@homelikebrick42 3 жыл бұрын
BTW that is actually what p5 is doing for you inside p5.Vector
@bovineox1111
@bovineox1111 3 жыл бұрын
I've been doing this with a vertex shader that projects the shadow volume into the distance generating a render texture. This method uses the whole GPU but consumes all of the objects within the orthographic view of a top down camera. Boundaries are cheap mind (rarely more than 8 triangles per boundary) but I then have to multiple the resulting shader fragment by a pick from this shadow render target. I wonder if hand crafting just the nearest shadow volumes is faster.
@RedMasterJV
@RedMasterJV 6 ай бұрын
LMAO that "this dot" tune is great
@anotherdimension97
@anotherdimension97 5 жыл бұрын
Grandioso, saludos desde Perú.
@alfcnz
@alfcnz 3 жыл бұрын
Impressive! 🤯🤯🤯
@itoverview-awesomeandroida1492
@itoverview-awesomeandroida1492 4 жыл бұрын
Congrats on 1 million! :)
@reggy698
@reggy698 5 жыл бұрын
Love your video style. Going to have a play with this tonight see if I can make 2 rays interact with gravity and merge say red and blue to make a purple singularity that then bursts with gamma
@h00db01i
@h00db01i 4 жыл бұрын
the thumbnail creates strong moiré effects on my 60hz screen when moving it by scrolling, but it's barely noticeable on a 240hz one
@makingzebraop
@makingzebraop 3 жыл бұрын
THE BEST
@socolovalexandr
@socolovalexandr 5 жыл бұрын
It would be interesting to calculate this for semi-transparent walls...
@silvertakana3932
@silvertakana3932 3 жыл бұрын
15:08 Him: Now, it’s time for me to get YOU! Me: *running out of my room*
@WilliamLDeRieuxIV
@WilliamLDeRieuxIV 4 жыл бұрын
5:36 I have always heard people complain about the use of this.member versus just referencing the member directly (saying that using "this" to qualify an in-class member is redundant). In short, It depends on the language -- probably just better to always use "this" and be done with it....
@kenan2386
@kenan2386 3 жыл бұрын
5:40 I still do this mistake too You're not alone
@notgate2624
@notgate2624 5 жыл бұрын
I would love a video on ray tracing! Great video!
@kosiak10851
@kosiak10851 5 жыл бұрын
also would be much better for "cast" method to return not only point of intersect, but also "u" parameter of the solved intersection. then find min of all casted u's.
@TheCodingTrain
@TheCodingTrain 5 жыл бұрын
Thanks for this tip!
@Xenro66
@Xenro66 5 жыл бұрын
HMMMMMMM. This could be a beautiful (albeit a little laggy) way of any-surface hit detection. If you draw a polygon with n vertices, you could use those vertices in succession and store them as "line" segments on the perimeter of the polygon. Then, when the closest ray intersection is < the designer's intent, make something happen. It's not perfect, just for simple things like checking if a space ship is crashing into a wall, but it's the best option I've seen that doesn't use libraries.
@mickyr171
@mickyr171 2 жыл бұрын
I used a PImage for my raycaster program, can draw on the screen and play with the rays directly, no complicated math needed for any line detection
@Xenro66
@Xenro66 2 жыл бұрын
@@mickyr171 I've not done anything raycasting since making this comment, but I've also used PImage in this way, but even more stripped down. If a pixel under the "player" is a certain alpha value, then register a hit. Still doesn't tell you about the geometry though
@mickyr171
@mickyr171 2 жыл бұрын
@@Xenro66 I do similar, but use an array of points I that shoot out from the player, run them through a loop and any that hit a certain color breaks the loop for that ray, if that makes sense lol, took me a couple hours to get it working
@Xenro66
@Xenro66 2 жыл бұрын
@@mickyr171 That's also a really smart solution. Give an array of points of some arbitrary polygon (like every vertex) and you've got a really light weight hit detection based on colour. However if you wanted to make it more advanced and get angles and physics reactions involved, that's where I fall apart lol
@jojolafrite90
@jojolafrite90 4 жыл бұрын
Volumetric ray marching may be the most commonly used technique with some next gen of hardware.
@frankie_goestohollywood
@frankie_goestohollywood 3 жыл бұрын
Brilliant video!!!! Thank you :-)
@janne_kekalainen
@janne_kekalainen 4 жыл бұрын
Really cool, also I have spent about 6 hours recreating this in WPF C# It isn't the best and a resource hog, but it does mostly the same thing.
@quosswimblik4489
@quosswimblik4489 4 жыл бұрын
in extreme sudoku or larger grids isn't it better than with one cell or three cells to use 2 cells and see if some possible partial solutions from the possible paths of each of the cells match up like pairs and bigger then snap.Therefore P=NP
Coding Challenge #146: Rendering Raycasting
28:52
The Coding Train
Рет қаралды 254 М.
Coding Challenge 180: Falling Sand
23:00
The Coding Train
Рет қаралды 1 МЛН
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 2,5 МЛН
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 57 МЛН
Coding Challenge 171: Wave Function Collapse
1:18:37
The Coding Train
Рет қаралды 554 М.
Coding Challenge #71: Minesweeper
53:46
The Coding Train
Рет қаралды 531 М.
Coding Challenge #86: Cube Wave by Bees and Bombs
30:09
The Coding Train
Рет қаралды 630 М.
Super Fast Ray Casting in Tiled Worlds using DDA
30:03
javidx9
Рет қаралды 188 М.
what happens when your CPU has a bug? (GhostWrite)
9:58
LaurieWired
Рет қаралды 30 М.
Coding Challenge #85: The Game of Life
38:20
The Coding Train
Рет қаралды 691 М.
Coding Challenge #139: Calculating Digits of Pi with Collisions
31:42
The Coding Train
Рет қаралды 412 М.
Coding Challenge 181: Weighted Voronoi Stippling
28:59
The Coding Train
Рет қаралды 175 М.
Coding Challenge #98.1: Quadtree - Part 1
38:08
The Coding Train
Рет қаралды 314 М.
Coding Challenge 166: ASCII Text Images
22:42
The Coding Train
Рет қаралды 1,1 МЛН
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 2,5 МЛН