I Made A Blob Shooting Game With Ray Marching

preview_player
Показать описание
Today we're going to create a blob shooting game with raymarching / sphere tracing 🎃.
I'm going to share my learning journey with you with as much detail as possible.

Final Game Play:

Source Code (have fun):

Corrections:
At 07:10 : I said that we're calculating the world position of the intersection point.
But we're not. The cameraToPixel vector is relative to the camera.
So it's not the world position of the intersection point.

BASICALLY Everything in this video:

Clouds:

Rain Forest:

Counter Strike 2 Smoke:

Smooth Min With Colors:

Smooth Min Algo:

Raymarching visualization:

Enhanced Sphere Tracing:

Unreal Engine Footage:

Water Footage:

Support this channel 💖
ETH Wallet:
0x61621F0cE4665789863569C6211af4Ea7e08FC82

Chapters:

00:00 Intro
00:38 Basic Setup
01:09 Sphere Tracing
03:38 Magical Number
04:20 Same Cubes Wrong Images
07:51 The Power Of Ray Marching
08:47 Lets Make It Look Good
10:38 Physics
11:00 Making It Fast
12:40 Final Result
13:03 Outro

--------------------

Visionary 3D:

Follow me:

Discord Community:

Shaders Crash Course:

My Shaders Playlist:

My VsCode Config:

#raymarching
#raytracing
#shaders
#threejs
#3d
#3danimation
#glsl
Рекомендации по теме
Комментарии
Автор

What color is your game engine ?

Ok, I know that this isn't even close to being a game engine.
But it's a cool hybrid rendering workflow which I'm definitely going to use in the future.
Hope you enjoyed. 🙏

Corrections:

At 07:10 : I said that we're calculating the world position of the intersection point.
But we're not. The cameraToPixel vector is relative to the camera.
So it's not the world position of the intersection point.

visionary__d
Автор

Here are a couple things I especially appreciate about your video:

1. Music choice is interesting, contrasting with the bland upbeat "I'm selling you something" music in a lot of other gamedev and graphics programming videos (especially in the ones where you can tell the author is very full of themselves)

2. You refer to all these existing techniques without subtly (or blatantly) implying that you invented them, contrasting with a lot of other graphics programming videos (especially the ones where you can tell the author is very full of themselves - noticing a theme here).

3. You aren't playing up the fact that you made a rendering engine as somehow being a cosmic miracle of an achievement that proves your own genius, again contrasting with "those" people, who I don't have to describe yet again.

So thank you for not being an obnoxious egomaniac. It feels like that's getting rarer and rarer the more I talk to people with custom engine projects. Especially any engine projects relating to unconventional rendering, or voxels, or... well, I'll end up actually naming people if I go on too long.

delphicdescant
Автор

Damn that's quality content, I feel like you always post stuff I'm interested in, good job!

ThePouetman
Автор

7:17 To avoid as many computations as possible you can just provide a vector of one corner from the engine (or two opposite corners if the FoV may not be asymmetric) to the shader, and just do a normalize(mix(corner0, corner1, vec3(coords, 0.0))) (where coords are 0, 0 with corner0 and 1, 1 with corner1)

DiThi
Автор

hey, you're really good at explaining and you are concise, keep it up.

gabrielecocchieri
Автор

Thanks for making a video to get these demoscene techniques out there to inspire gamedevs. I've been so tired watching indie gamedevs keep making the same stuff for the last 10-15 years, not exploring what's actually possible. Even with raymarching, this is just scratching the surface of what's possible with such a highly parallelized compute resource as a GPU. I predict we'll start seeing some really awesome stuff that could've been done at any point over the last decade, but nobody had the idea for it before. Like a boxy Minecraft voxel world - that likely could've been done 23 years ago, but nobody thought of it back then. Indie devs, especially, should be exploring the unexplored, and pioneering new stuff that nobody has seen in an interactive game before. I feel like VR is also a great new gaming medium that is thoroughly untapped as well. More indies need to get into VR, because it's the future, and it's indies that will build it - not AAA devs.

CharlesVanNoland
Автор

This is incredible. What an amazing awesome thing.

Splarkszter
Автор

keep it up cant wait for the next video👍

miguelmyers
Автор

Awesome video! I hope the algorithm god blesses your channel

SomeRandomPiggo
Автор

Thank you for this; I won't even pretend to claim that I''ve grokked this all on the first attempt, but I'm feeling a lot happier about how this works now and am already starting to build a bit of an intuitive mental model now - Thank you for this, can't wait to learn more!!

suvetar
Автор

Thats the most awesome thing i saw for a long time

Trooperos
Автор

cool video! tho the transitions between screens could be better perhaps decrease the delay and also maybe make the corners less rounded also i notice a pattern that artifacts mostly happen at edges image compression creates artifacts at edges spheretracing creates artifacts at edges and i notice artifacts when i look at the (probably lcd) screen at a angle perpendicular to the screen normal :)

Monkeymario.
Автор

Nice work ! Lately I've heard of another method of achieving similar results as ray marching but faster, If I remeber correctly it's called cone marching or cone tracing, maybe you could gain even more performance with it

mykle
Автор

Love the content !!! Too bad the music is super stressful

yacinezahidi
Автор

The magic number was literally the first two non-zero components of the perspective projection matrix which I almost immediately recognized after trying for one year to make a 3d engine on my own.

randospawn
Автор

Thank you for making this you inspired me to make my own engine! I have been kinda depressed and frustrated lately especially BCS I started to feel not being able to work with the current engine I am working with (Roblox studio) BCS of it's limitations and kind of BCS of the lack of my knowledge but this for sure cheered me up. Also since I am still learning C++ and idk typescript...I will be using python, any tips or suggestions to help me

neut_ro
Автор

Wow, this video is like a cold drink of water in a sea of YouTube garbage. Thank you this video was really great!

gravity_mxk
Автор

This is cool. Comment for the algorithm because a lot of effort went into editing this and the result is great!

clonkex
Автор

How did you add physics to the virtual objects?

stephendaedalus
Автор

no way its the cave johnson who invented gels

privatenope
welcome to shbcf.ru