suggestion, for anyone who happens onto this: when doing this, move the horizon/center line in a sinewave up and down when walking. it's whack how that'll even make really low rez raycasting *feel* realistic, from just "more pep in your step"
@huistelefoon5375
Жыл бұрын
Can you please elaborate on what you mean by a horizon/center line? Are you simply talking about trying to replicate a head bobbing effect? Or Y shearing?
@christophernoneya4635
Жыл бұрын
@@huistelefoon5375 They're just referring to headbobbing, this would in practice essentially just slide your view up and down slightly which gives a nice effect. Its just a nice way to add some game-feel, doom does this to nice effect
@huistelefoon5375
Жыл бұрын
@@christophernoneya4635 Ah I was thinking it would be something like that, I was only a bit confused though as it would also require shifting the ground and ceiling. So I wasn't sure what he meant with horizontal line, and wether it was an implementation detail.
@deayancentenoellisca1237
2 жыл бұрын
I appreciate how there’s no ads, thanks.
@stnsninja
6 ай бұрын
I literally read this while watching an ad
@b3nj4m1nyt
2 жыл бұрын
I love it. You could use this technique to make an old-school game in a horror style. The shadows look like horror, so it would fit together. Good job!
@barrettkepler7618
4 жыл бұрын
Hey, nice looking raycaster!
@PickentCode
4 жыл бұрын
Thanks!
@tails_the_god
3 жыл бұрын
@@PickentCode source code please? :)
@yassin_eldeeb
2 жыл бұрын
@@tails_the_god And they never reply.
@PeterKilian
6 ай бұрын
@@yassin_eldeeb Some people have lives dummy.
@HeyzDexy
2 жыл бұрын
this looks really impressive
@Sknoodle
2 жыл бұрын
i swear he made the backrooms
@5ilver42
Жыл бұрын
I appreciate you keeping your columns drawn with distance and not messing with depth calculations. The curvilinear perspective, I always thought better suited first person game play because you can actually use higher FOVs and not have the center shrink to an unusable size.
@semplar2007
Жыл бұрын
ohh, i wondered what is this weird artifact at screen borders, and it's intended
@melon6507
Жыл бұрын
i remember seeing a game theory video about this as a kid and it blew my mind
@giosee_
6 ай бұрын
best raycaster ive seen
@skuttlestudios5548
2 жыл бұрын
Nice! that looks insanely good!
@Vofr
2 жыл бұрын
Good work man. Now make a sphere
@huistelefoon5375
Жыл бұрын
Voxels!
@vincentpresscod7531
2 жыл бұрын
With these minecraft textures it looks like Kremlin Underground.
@stewartzayat7526
2 жыл бұрын
I've noticed that straight lines appear slightly curved. Why do you think would that be?
@joederpington
2 жыл бұрын
may be how the distance is calculated, absolute length of the ray (causes effect as in video i think) versus distance in the direction of the camera (dot product). check this kzitem.info/news/bejne/xoV5t5qui4Njo44
@eugenesamrinov5771
Жыл бұрын
Good jod, my respect👍
@kanizan
2 жыл бұрын
Used it for someone who said DOOM was 3D, thanks
@AschKris
2 жыл бұрын
Doom is 3D, you may not be able to jump, but you can fall, Cacos can go up and down etc
@AschKris
2 жыл бұрын
Now Wolfenstein, that's 2D
@huistelefoon5375
Жыл бұрын
DOOM uses a BSP rendering technique and is not under the same limitations as a DDA raycaster. Besides, while mostly 2D calculations are used in this rendering method, it still generates a 3D image and can therefore be considered a 3D game. This is a late comment, but please do not misinform anyone.
@Leaper8674
7 ай бұрын
Your Dumb. All it took was a 1 second google search to prove that incorrect. Raycasting was NOT used in Doom it was a Custom BSP Rendering technique which had limitations but was still 3D. Wolfenstein was psuedo 3D meaning all it did was give a 3D effect. Real 3D gives off real 3D that is transformed into 2D pixels.
@willyomnom8400
2 жыл бұрын
Looks good, one thing I would add to this is linear ray distribution.
@danthiel8623
Жыл бұрын
Interesting 🤔
@NStripleseven
Жыл бұрын
It do be fisheyein’ a lil bit
@westonnemitz1093
2 жыл бұрын
Question: I notice that your number of rays is very low, however, you still have a very clear image? How lol
@AntonioNoack
2 жыл бұрын
The preview only shows every k-th ray, probably.
@westonnemitz1093
2 жыл бұрын
@@AntonioNoack oh
@ConfusedNDazed
2 жыл бұрын
The resolution is 1 cell, not one pixel. A ray hits a wall cell and that whole cell is drawn
@huistelefoon5375
Жыл бұрын
@@ConfusedNDazed The resolution consists of vertical lines on the screen, not the cells. There is no perspective calculations or projection of the walls. The image is clear because it's a narrow resolution, so not as many rays are needed to render a clear image. Another possibility, only every Nth ray is showcased in the preview, as it is suggested above.
@crazydave6787
2 жыл бұрын
I'm confused. Is the environment being generated each frame based on the positions and angles of the ray hits?
@crakaweazol
2 жыл бұрын
It's like an eye, see the rays as the lightwaves it sees.
@huistelefoon5375
Жыл бұрын
Hi there, I don't know if you still want this answered, but in case anybody else stumbles across this, here's how it works: Rays are casted from the player perspective, and once a ray hits a wall, a vertical line is drawn on the screen. The size of this vertical line amounts to the distance the ray traveled. Therefore, the further away the ray hit, the smaller the line appears on screen. Likewise, the closer the ray hit, the larger it will appear, making it appear closer. This generates a perspective, and is how our world is rendered as 3D. A bit more about the algorithm: In order to know whether a ray has hit a wall we can check for a collision every few pixels the ray travels. This is rather expensive however, as not only are there many checks, the ray can also skip over/between walls entirely, as well as collide a few pixels in to a wall, causing inaccuracies. To get around this problem, we use a tile based system. Now that we're working under a grid, we only have to check for collisions on grid lines, as collisions will only ever happen on grid lines. This uses way less checks, and also allows us to always be fully accurate. This rendering method uses only 2D calculations, and was used in various early 3D games such as Wolfenstein 3D. (Sorry if this explanation is confusing, I am not a native English speaker)
@pstotto
Жыл бұрын
The secret knowledge can only be there and it is the height and width of the visual field, which is a constant. The second constant is the geometry of perspective i.e. 2D shape represents 3D form. The third constant, 2D shape represent 3D form ,across the whole of the visual field. All visual chaos is form representative, therefore and as such, has transcendental object imagery to it. Therefore atheism has no philosophical basis.
@t3st3d
2 жыл бұрын
nice raycaster
@pauls4522
Жыл бұрын
I would love to see someone to program a ray casting engine faster than john carmack. Program one so fast it could run smoothly on an 8086. I know there have people that hacked wolfenstein 3d to run on an 8086 at like 3fps.
@RottenRockstar
3 жыл бұрын
why did i think of minecraft
@samuelhedrick356
3 жыл бұрын
How do you racast on texures, I can only get stuff like that to work with solid color and shading.
@GOATPONnY
3 жыл бұрын
3Dsage did tutorial on this! You should check it.
@crungushakooter
3 жыл бұрын
Once you have the raycast info, you can figure out the distance of that hit point to the start point of the grid cell (on whichever axis you hit) and then you use that value to sample the texture horizontally. Vertically, you just map the texture up the wall by ( (screenPixelY - columnFloorHeight) / columnWallHeight), assuming you're going bottom -> top. And of course you can implement an error-accumulating method to avoid doing that division for every pixel, but that's conceptually what you do
@TimeTravelingFetus
2 жыл бұрын
You can probably take the position if a ray in relation to the wall it is hitting and use that info to draw the corresponding column of the texture instead of a solid color. There's probably some really simple maths to help you with that which I do not know :D
@farhanhakim2189
3 жыл бұрын
It looks like game maker project
@Shimomaro
Жыл бұрын
wow
@did3d523
Жыл бұрын
DOOOOOOOOOOOOOOMMMMMMMMMMM
@Jkauppa
2 жыл бұрын
try this with plane-ray casting in opengl shaders
@ZayJayPlays
Жыл бұрын
How does one achieve this?
@user-xs9bk3lj7b
Жыл бұрын
Bro how do you texture floor?
@loud6467
2 жыл бұрын
what software were you using??
@xenasBS
2 жыл бұрын
There are two words in the title and one of them is your answer.
@DevineInnovations
2 жыл бұрын
I'm going to leave this here for anybody who was confused like me en.wikipedia.org/wiki/Processing_(programming_language)
@jakes-dev1337
Жыл бұрын
This is in processing??
@Chevifier
2 жыл бұрын
Would be less process intensive to have just 3 and have the middle one rotating locally back and forth in between the outer edges quickly but that can cause new problem depending on how accurate you want it to be. Its just something I wonder no one never tries
@huistelefoon5375
Жыл бұрын
Are you talking about the rays? The lines are not laser pointers, they indicate where rays have been casted. "Rotating" a ray is really rotating the source of where the ray is casted from. Checks still have to be done to find where the ray will collide with the wall.
@SiliconValey79
Жыл бұрын
and the code ? explication ?
@sontapaa11jokulainen94
2 жыл бұрын
Source code please? Otherwise a great video!
@knovi_916
Жыл бұрын
Это случаем не отрисовка графики из игры doom ?
@matheusf.ladislau9530
4 ай бұрын
ola
@Tentin.Quarantino
2 жыл бұрын
Slightly disheartening to see so many minecraft comments and nothing about Doom. Didn’t IdSoftware pioneer this technique to make doom at a time when 3d games weren’t viable?
@huistelefoon5375
Жыл бұрын
This is a DDA raycaster, used in Wolfenstein 3D. Doom used a BSP rendering method, and is not restricted by the same limitations as this rendering technique.
@GCKteamKrispy
2 жыл бұрын
Do you always generate level wherever the camera looks at, or it is just generated already?
@qualle987123
2 жыл бұрын
It most likely calculates the view from the rays that are sent out in the left view.
@R3TR0--93
2 жыл бұрын
is this a dos game?
@Darconet92
3 жыл бұрын
hello could you share a tutorial with the code, please
@shanebarrett91
2 жыл бұрын
It's Minecraft lol
@aintNexus
2 жыл бұрын
lol you used minecraft texture for the floor and streched it out, but cool ngl
Пікірлер: 86