the GitHub link is in the description, the engine is highly coupled with the game though
@Enderkruemel2 ай бұрын
i would like to see such thing implementet in an actual shader for minecraft
@FA18_Driver2 ай бұрын
You’re S tier. Subbed. You code with the same passion I drive Hornets with in DCS. And all high skill programmers are so adept at language and optimization it shines through in your excellent narrative. No wasted words proper compressor on the music. 10/10
@vytah2 ай бұрын
Return of Obra Dinn has a really nice dithering shader, one of the goals of it was to stop pixels of non-flat textures from shimmering when you move - dithering dots instead of staying where they were on the screen, try to stay where they were in the world.
@PersonManManManMan2 ай бұрын
This looks cool
@PersonManManManMan2 ай бұрын
[1910]
@doce36092 ай бұрын
very very cool
@howyay2 ай бұрын
yo fire video 🔥please make more computer graphics vids
@jet_mouse95072 ай бұрын
This is really cool! I wanted to run the Floyd Steinberg algorithm at a higher resolution, and I figured out you just have to edit lines 41 and 42 of src/Scene/Effects/FloydSteinbergEffect.h. I couldn't run it at 1080p though. I got around 40 fps at 540p. It reminds me of my e-ink tablet. I bet they use similar algorithms.
@hexeldev2 ай бұрын
Yeah, I explain a bit later in the video where this algorithm cannot run in parallel, so it's fully on the CPU and is slow. You should be able to run bayer 60fps on higher resolution
@ircluzar2 ай бұрын
nice, floyd-steinberg sounds like a good mid-way point in a grayscale image to ascii converter
@Shlaboza2 ай бұрын
someone gotta put this on a flip display
@DynoIstryingtowriteasmuchaspos2 ай бұрын
awesome
@bramhenstra54482 ай бұрын
but whyyyyyyy, it hurts my brain when looking at it
@7thgeneration9032 ай бұрын
0:14, have you heard of Aphantasia? well its actually a scale. 1-5: 1 being photo-realistic, 5 being nothing at all. If thats how your thoughts look your probably a 3-4 on that scale. does this matter? No, but it does make that analogy non-universal. Disregard this if you were being metaphorical or otherwise abstract.
@howyay2 ай бұрын
could you elaborate? Im not quite getting the connection to aphantasia - not to be antagonistic, im genuinely curious
@7thgeneration9032 ай бұрын
@@howyay Your not being antagonistic at all, I used aphantasia because its widely known and a good starting point since people with aphantasia aren't fundamentally different while still demonstrating the fact that peoples ability to imagine can vary. it itself isn't relevant and I also forgot to mention anything below a 5 is no longer aphantasia
@davidhuculak10992 ай бұрын
what's the connection between the video and Aphantasia?
@7thgeneration9032 ай бұрын
@@davidhuculak1099 the way he described the shader at 0:14
@NiceHyper012 ай бұрын
This video was really well made
@claytonhiggins75262 ай бұрын
Is there a dithering technique where you just randomly choose any pixel to be black or white, weighted by its original shade? It seems like it would be a fast technique.
@hexeldev2 ай бұрын
I'm sure this would work for a single image, but for a video, any shade that has 50% chance to be black or white would flicker like crazy, as every frame it would need to randomly determine it's color based off the weight
@WinterAlexander2 ай бұрын
Would there be a way to get a smoother newspaper halftoning effect using some antialiasing?
@hexeldev2 ай бұрын
We see in the video some artifacts because the matrix doesn't tile properly. It should be possible to fix that with better values. I don't think AA is required, as AA would defeat the purpose of dithering (we're using two colors only)
@subzeroinshorts2 ай бұрын
Imagine a game made fully rendered with dithering. Would make a cool horror game with retro vibes
@darakken2 ай бұрын
check obra dinn
@user-wv5po2dp4h2 ай бұрын
return of obra din
@JoshuaGlazer2 ай бұрын
How did you know to use Gamma Correction or to multiply by a constant, was that something you knew about already from video game graphics or something else?
@hexeldev2 ай бұрын
I knew about gamma correction from taking a computer graphics course. I knew I needed to use it because the output was garbage. The multiplying by a coefficient was something I came up, a bit by trial and error. It just worked and looked good.
@penguino1182 ай бұрын
Wish there was a proper way of doing the Floyd method in parallel, I don't like how Bayer ends up looking
@elpanatv25372 ай бұрын
really nice project
@davidhuculak10992 ай бұрын
The C++ engine-in-a-weekend Chad strikes again
@Isti001052 ай бұрын
Amazing video, congrats! It feels amazing to see others building on something I created, thanks! :)
@falconsy30143 ай бұрын
The level that i want to reach
@factorish4 ай бұрын
you have a french accent
@kalaherty5 ай бұрын
I liked the "I use Arch, btw" reference. Nice. Very nice work for 48 hours... I would of just coded a very simple platformer engine, but I'm pretty simple. I think my favourite part was the collision detection/physics. I've found 3D collision to be quite the pain to debug, so I really like how you simplified it to what you specifically needed for the project. Very neat :D
@discotecc5 ай бұрын
Getting into graphics programming is a humbling experience to say the least
@JohannaMueller575 ай бұрын
"do i want to spend the rest of the time by making the game look better by adding shadows or make the game more fun? of course .. i added shadows" i'll never understand this. why is everybody thinking like this? why are GAMERS even thinking like this? why would it ever NOT be the choice to make the game more fun? (although in your case both targets incidentally overlap because the shadows help to understand the terrain)
@orca13616 ай бұрын
If I wanted to make a engine like the build engine but able to use 3d models like quake or heretic 2. What would be the way to start for a complete newbie? I want to make a retro shooter but without all the bloat that some game engine come with lol
@hexeldev6 ай бұрын
Assuming you know C++ well, OpenGL is the best graphics api (to learn graphics programming) in my opinion, it's a bit old now so Vulkan is better but Vulkan should be learned after understanding opengl.
@orca13616 ай бұрын
@@hexeldev alright, thank you
@DokkeMapper6 ай бұрын
Bro is that even possible
@OriginalC0dePr0xy6 ай бұрын
Yo, nice KDE Plasma setup btw. I love the Sweet GTK theme.
@grandpabazi33327 ай бұрын
Legendary bro🎉
@hucancode97 ай бұрын
You got a new fan lol. I never actually implement shadow myself. Looks cool I have to try it some time
@ojasneelabh25997 ай бұрын
as a beginner, this is terrifying me
@Roy_335is7 ай бұрын
I’m taking c++ in college rn and I. Honestly love it I hope to be as good as this one day
@IsaacDyck-cs8iy7 ай бұрын
What operating system does he use? Really cool
@hexeldev7 ай бұрын
Arch Linux
@st4ndby7 ай бұрын
And here am I, struggling with collision algorithm 😂
@user-ze7nw9ud7m8 ай бұрын
13:39 Same problem every time 😄I'm always surprised by the fact people still use Windows ( I use Fedora most of the time, sometimes - Ubuntu )
@blacklistnr18 ай бұрын
6:05 "All ideas we're pretty bad" I like all of them, the most meta slap joke would be 6 by forking an open source chess game and changing 1 line
@hexeldev8 ай бұрын
or "roles reversed: the player writes the game"
@ChrisM5418 ай бұрын
Let's be perfectly honest here, you were 'very, very well prepared beforehand' here ;) Still, huge kudos on showing how games used to be created. Infinite kudos if you could do this in 100% assembler!
@tefyergames288 ай бұрын
Bro what Linux distribution were you using
@hexeldev8 ай бұрын
Arch Linux (btw)
@tefyergames288 ай бұрын
Nice
@tefyergames288 ай бұрын
Also what gui did you use?
@hexeldev8 ай бұрын
@@tefyergames28 do you mean desktop environment? KDE
@ThomasTheCoolerVersion1088 ай бұрын
bro went from an orange triangle to a 3d masterpiece
@ljxiv8 ай бұрын
what IDE did he use?
@hexeldev8 ай бұрын
nvim first then clion
@ljxiv8 ай бұрын
@@hexeldev ohh right thanks! i’m to broke for CLion lol
@hexeldev8 ай бұрын
I have a free license with my school
@ljxiv8 ай бұрын
@@hexeldev I wish I had that too, unfortunately CLion says you cant use it for anything other than educational purposes, if i ever got my hands on it from school i ain’t following that lmao
@samuelpope77988 ай бұрын
Game engines like Unity and Godot etc are great but often times you will be struggling to get what you have in mind implemented. They are not magic bullets. Sometimes they can actually get in the way. I highly recommend anyone with a serious interest in game dev try making a few games using only OpenGL. Its harder yeah but i don't think its as hard as most people that have nt done it think. I love and use game engines as well but ive always got a hand in a opegl only project. Ive written a couple of different model loaders for use in those projects that support pbr materials and skeletal anim for dae and gltf in windows and one for android. Qoite a piece of work but not as hard as i would have initially thought.
@Verschrecktes8 ай бұрын
„I use Arch BTW“ got me rolling 😂
@Brmngm8 ай бұрын
Amazing! Short and detailed.
@m_mdi08 ай бұрын
Can you tell me where you learn opengl? is there good source for learning??
Пікірлер
6:47 this how is called the app?
can i get the game engine
the GitHub link is in the description, the engine is highly coupled with the game though
i would like to see such thing implementet in an actual shader for minecraft
You’re S tier. Subbed. You code with the same passion I drive Hornets with in DCS. And all high skill programmers are so adept at language and optimization it shines through in your excellent narrative. No wasted words proper compressor on the music. 10/10
Return of Obra Dinn has a really nice dithering shader, one of the goals of it was to stop pixels of non-flat textures from shimmering when you move - dithering dots instead of staying where they were on the screen, try to stay where they were in the world.
This looks cool
[1910]
very very cool
yo fire video 🔥please make more computer graphics vids
This is really cool! I wanted to run the Floyd Steinberg algorithm at a higher resolution, and I figured out you just have to edit lines 41 and 42 of src/Scene/Effects/FloydSteinbergEffect.h. I couldn't run it at 1080p though. I got around 40 fps at 540p. It reminds me of my e-ink tablet. I bet they use similar algorithms.
Yeah, I explain a bit later in the video where this algorithm cannot run in parallel, so it's fully on the CPU and is slow. You should be able to run bayer 60fps on higher resolution
nice, floyd-steinberg sounds like a good mid-way point in a grayscale image to ascii converter
someone gotta put this on a flip display
awesome
but whyyyyyyy, it hurts my brain when looking at it
0:14, have you heard of Aphantasia? well its actually a scale. 1-5: 1 being photo-realistic, 5 being nothing at all. If thats how your thoughts look your probably a 3-4 on that scale. does this matter? No, but it does make that analogy non-universal. Disregard this if you were being metaphorical or otherwise abstract.
could you elaborate? Im not quite getting the connection to aphantasia - not to be antagonistic, im genuinely curious
@@howyay Your not being antagonistic at all, I used aphantasia because its widely known and a good starting point since people with aphantasia aren't fundamentally different while still demonstrating the fact that peoples ability to imagine can vary. it itself isn't relevant and I also forgot to mention anything below a 5 is no longer aphantasia
what's the connection between the video and Aphantasia?
@@davidhuculak1099 the way he described the shader at 0:14
This video was really well made
Is there a dithering technique where you just randomly choose any pixel to be black or white, weighted by its original shade? It seems like it would be a fast technique.
I'm sure this would work for a single image, but for a video, any shade that has 50% chance to be black or white would flicker like crazy, as every frame it would need to randomly determine it's color based off the weight
Would there be a way to get a smoother newspaper halftoning effect using some antialiasing?
We see in the video some artifacts because the matrix doesn't tile properly. It should be possible to fix that with better values. I don't think AA is required, as AA would defeat the purpose of dithering (we're using two colors only)
Imagine a game made fully rendered with dithering. Would make a cool horror game with retro vibes
check obra dinn
return of obra din
How did you know to use Gamma Correction or to multiply by a constant, was that something you knew about already from video game graphics or something else?
I knew about gamma correction from taking a computer graphics course. I knew I needed to use it because the output was garbage. The multiplying by a coefficient was something I came up, a bit by trial and error. It just worked and looked good.
Wish there was a proper way of doing the Floyd method in parallel, I don't like how Bayer ends up looking
really nice project
The C++ engine-in-a-weekend Chad strikes again
Amazing video, congrats! It feels amazing to see others building on something I created, thanks! :)
The level that i want to reach
you have a french accent
I liked the "I use Arch, btw" reference. Nice. Very nice work for 48 hours... I would of just coded a very simple platformer engine, but I'm pretty simple. I think my favourite part was the collision detection/physics. I've found 3D collision to be quite the pain to debug, so I really like how you simplified it to what you specifically needed for the project. Very neat :D
Getting into graphics programming is a humbling experience to say the least
"do i want to spend the rest of the time by making the game look better by adding shadows or make the game more fun? of course .. i added shadows" i'll never understand this. why is everybody thinking like this? why are GAMERS even thinking like this? why would it ever NOT be the choice to make the game more fun? (although in your case both targets incidentally overlap because the shadows help to understand the terrain)
If I wanted to make a engine like the build engine but able to use 3d models like quake or heretic 2. What would be the way to start for a complete newbie? I want to make a retro shooter but without all the bloat that some game engine come with lol
Assuming you know C++ well, OpenGL is the best graphics api (to learn graphics programming) in my opinion, it's a bit old now so Vulkan is better but Vulkan should be learned after understanding opengl.
@@hexeldev alright, thank you
Bro is that even possible
Yo, nice KDE Plasma setup btw. I love the Sweet GTK theme.
Legendary bro🎉
You got a new fan lol. I never actually implement shadow myself. Looks cool I have to try it some time
as a beginner, this is terrifying me
I’m taking c++ in college rn and I. Honestly love it I hope to be as good as this one day
What operating system does he use? Really cool
Arch Linux
And here am I, struggling with collision algorithm 😂
13:39 Same problem every time 😄I'm always surprised by the fact people still use Windows ( I use Fedora most of the time, sometimes - Ubuntu )
6:05 "All ideas we're pretty bad" I like all of them, the most meta slap joke would be 6 by forking an open source chess game and changing 1 line
or "roles reversed: the player writes the game"
Let's be perfectly honest here, you were 'very, very well prepared beforehand' here ;) Still, huge kudos on showing how games used to be created. Infinite kudos if you could do this in 100% assembler!
Bro what Linux distribution were you using
Arch Linux (btw)
Nice
Also what gui did you use?
@@tefyergames28 do you mean desktop environment? KDE
bro went from an orange triangle to a 3d masterpiece
what IDE did he use?
nvim first then clion
@@hexeldev ohh right thanks! i’m to broke for CLion lol
I have a free license with my school
@@hexeldev I wish I had that too, unfortunately CLion says you cant use it for anything other than educational purposes, if i ever got my hands on it from school i ain’t following that lmao
Game engines like Unity and Godot etc are great but often times you will be struggling to get what you have in mind implemented. They are not magic bullets. Sometimes they can actually get in the way. I highly recommend anyone with a serious interest in game dev try making a few games using only OpenGL. Its harder yeah but i don't think its as hard as most people that have nt done it think. I love and use game engines as well but ive always got a hand in a opegl only project. Ive written a couple of different model loaders for use in those projects that support pbr materials and skeletal anim for dae and gltf in windows and one for android. Qoite a piece of work but not as hard as i would have initially thought.
„I use Arch BTW“ got me rolling 😂
Amazing! Short and detailed.
Can you tell me where you learn opengl? is there good source for learning??
learnopengl.com
@@hexeldev thanks bro👍
13:44 - "I use Arch btw" .