Hexel
Hexel
  • 3
  • 163 607
Minecraft... but dithered (C++ OpenGL)
I forked a C++ OpenGL Minecraft Clone and implemented various dithering algorithms (Floyd-Steinberg Dithering, Bayer Dithering which are also called Error Diffusion Dithering and Ordered Dithering respectively).
Project GitHub: github.com/MartensCedric/Pointcraft
Dithering Resources:
surma.dev/things/ditherpunk/
caca.zoy.org/study/part2.html
blog.42yeah.is/rendering/2023/02/18/dithering.html
Chapters:
00:00 Minecraft Dithering Showcase
00:48 Dithering Explained
02:12 Minecraft Fork
02:47 Floyd-Steinberg Dithering (Error Diffusion)
04:55 Making stuff look good
06:47 Bayer Dithering (Ordered Dithering)
09:20 Outro
CREDITS:
ALL Music: massobeats
th-cam.com/video/tEzzsT4qsbU/w-d-xo.html
th-cam.com/video/J8n0zKQe35U/w-d-xo.html
th-cam.com/video/YFuAgsA4bNI/w-d-xo.html
th-cam.com/video/23Yj0EgZ_VM/w-d-xo.html
EXTENDED CREDIT:
Music track: lucid by massobeats
Source: freetouse.com/music
No Copyright Vlog Music for Video
Music track: midnight by massobeats
Source: freetouse.com/music
Royalty Free Music for Videos (Safe)
Music track: chamomile by massobeats
Source: freetouse.com/music
Royalty Free Background Music
Music track: peach prosecco by massobeats
Source: freetouse.com/music
Free To Use Music for Video
Screen angles picture: Cmglee
RGB: ImmanuellePixels: Photo by 🇻🇪 Jose G. Ortega Castro 🇲🇽 on Unsplash
Pixel Art: @thisislux
Leaf Picture: www.baeldung.com/cs/convert-rgb-to-grayscale
Thumbnail Arrow: www.textures4photoshop.com
มุมมอง: 4 657

วีดีโอ

Making my own 3D GAME ENGINE and GAME in 48 HOURS? C++ OPENGL
มุมมอง 141K9 หลายเดือนก่อน
For GMTK2023 I made my own game engine using C and OpenGL and then made my own game. Itch: martenscedric.itch.io/portable-par GitHub: github.com/MartensCedric/portable-par Chapters: 00:00 Intro 00:43 Window 01:16 OpenGL Basics 02:40 First Triangle Done 03:23 Textures Done 04:21 Technologies used 04:59 Lighting and Shading 05:55 Game Ideas 06:30 Golf Ball 07:01 Terrain 07:40 OpenCV and Physics 0...
A Decade of Gamedev: My Journey in 25 Projects
มุมมอง 18Kปีที่แล้ว
In the video, I'm sharing my story of how I got into programming and game development, and I'm showing off all the projects I've worked on over the last 10 years, every success and failure. My GitHub: github.com/MartensCedric Ludum Dare Entries: ldjam.com/users/martenscedric/games Chapters: 00:00 Fast-forwarded Showcase 00:30 Coin Eater 01:01 Learning Programming 01:32 Cells 01:56 FishEco 02:35...

ความคิดเห็น

  • @lars-xi2re
    @lars-xi2re วันที่ผ่านมา

    can i get the game engine

    • @hexeldev
      @hexeldev 19 ชั่วโมงที่ผ่านมา

      the GitHub link is in the description, the engine is highly coupled with the game though

  • @upd1ate
    @upd1ate 4 วันที่ผ่านมา

    Baldi's Basics also has the same dithering for sprites and even the pause animation and even a lot more!

  • @Enderkruemel
    @Enderkruemel หลายเดือนก่อน

    i would like to see such thing implementet in an actual shader for minecraft

  • @FA18_Driver
    @FA18_Driver หลายเดือนก่อน

    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

  • @vytah
    @vytah หลายเดือนก่อน

    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.

  • @PersonManManManMan
    @PersonManManManMan หลายเดือนก่อน

    This looks cool

  • @PersonManManManMan
    @PersonManManManMan หลายเดือนก่อน

    [1910]

  • @doce3609
    @doce3609 หลายเดือนก่อน

    very very cool

  • @howyay
    @howyay หลายเดือนก่อน

    yo fire video 🔥please make more computer graphics vids

  • @jet_mouse9507
    @jet_mouse9507 หลายเดือนก่อน

    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.

    • @hexeldev
      @hexeldev หลายเดือนก่อน

      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

  • @ircluzar
    @ircluzar หลายเดือนก่อน

    nice, floyd-steinberg sounds like a good mid-way point in a grayscale image to ascii converter

  • @Shlaboza
    @Shlaboza หลายเดือนก่อน

    someone gotta put this on a flip display

  • @DynoIstryingtowriteasmuchaspos
    @DynoIstryingtowriteasmuchaspos หลายเดือนก่อน

    awesome

  • @bramhenstra5448
    @bramhenstra5448 หลายเดือนก่อน

    but whyyyyyyy, it hurts my brain when looking at it

  • @7thgeneration903
    @7thgeneration903 หลายเดือนก่อน

    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.

    • @howyay
      @howyay หลายเดือนก่อน

      could you elaborate? Im not quite getting the connection to aphantasia - not to be antagonistic, im genuinely curious

    • @7thgeneration903
      @7thgeneration903 หลายเดือนก่อน

      @@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

    • @davidhuculak1099
      @davidhuculak1099 หลายเดือนก่อน

      what's the connection between the video and Aphantasia?

    • @7thgeneration903
      @7thgeneration903 หลายเดือนก่อน

      @@davidhuculak1099 the way he described the shader at 0:14

  • @NiceHyper01
    @NiceHyper01 หลายเดือนก่อน

    This video was really well made

  • @claytonhiggins7526
    @claytonhiggins7526 หลายเดือนก่อน

    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.

    • @hexeldev
      @hexeldev หลายเดือนก่อน

      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

  • @WinterAlexander
    @WinterAlexander หลายเดือนก่อน

    Would there be a way to get a smoother newspaper halftoning effect using some antialiasing?

    • @hexeldev
      @hexeldev หลายเดือนก่อน

      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)

  • @subzeroinshorts
    @subzeroinshorts หลายเดือนก่อน

    Imagine a game made fully rendered with dithering. Would make a cool horror game with retro vibes

    • @darakken
      @darakken หลายเดือนก่อน

      check obra dinn

    • @user-wv5po2dp4h
      @user-wv5po2dp4h หลายเดือนก่อน

      return of obra din

  • @JoshuaGlazer
    @JoshuaGlazer หลายเดือนก่อน

    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?

    • @hexeldev
      @hexeldev หลายเดือนก่อน

      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.

  • @penguino118
    @penguino118 หลายเดือนก่อน

    Wish there was a proper way of doing the Floyd method in parallel, I don't like how Bayer ends up looking

  • @elpanatv2537
    @elpanatv2537 หลายเดือนก่อน

    really nice project

  • @davidhuculak1099
    @davidhuculak1099 หลายเดือนก่อน

    The C++ engine-in-a-weekend Chad strikes again

  • @Isti00105
    @Isti00105 หลายเดือนก่อน

    Amazing video, congrats! It feels amazing to see others building on something I created, thanks! :)

  • @falconsy3014
    @falconsy3014 3 หลายเดือนก่อน

    The level that i want to reach

  • @factorish
    @factorish 3 หลายเดือนก่อน

    you have a french accent

  • @kalaherty
    @kalaherty 4 หลายเดือนก่อน

    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

  • @discotecc
    @discotecc 4 หลายเดือนก่อน

    Getting into graphics programming is a humbling experience to say the least

  • @JohannaMueller57
    @JohannaMueller57 4 หลายเดือนก่อน

    "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)

  • @orca1361
    @orca1361 5 หลายเดือนก่อน

    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

    • @hexeldev
      @hexeldev 5 หลายเดือนก่อน

      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.

    • @orca1361
      @orca1361 5 หลายเดือนก่อน

      @@hexeldev alright, thank you

  • @DokkeMapper
    @DokkeMapper 5 หลายเดือนก่อน

    Bro is that even possible

  • @OriginalC0dePr0xy
    @OriginalC0dePr0xy 6 หลายเดือนก่อน

    Yo, nice KDE Plasma setup btw. I love the Sweet GTK theme.

  • @grandpabazi3332
    @grandpabazi3332 6 หลายเดือนก่อน

    Legendary bro🎉

  • @hucancode9
    @hucancode9 6 หลายเดือนก่อน

    You got a new fan lol. I never actually implement shadow myself. Looks cool I have to try it some time

  • @ojasneelabh2599
    @ojasneelabh2599 6 หลายเดือนก่อน

    as a beginner, this is terrifying me

  • @Roy_335is
    @Roy_335is 6 หลายเดือนก่อน

    I’m taking c++ in college rn and I. Honestly love it I hope to be as good as this one day

  • @IsaacDyck-cs8iy
    @IsaacDyck-cs8iy 6 หลายเดือนก่อน

    What operating system does he use? Really cool

    • @hexeldev
      @hexeldev 6 หลายเดือนก่อน

      Arch Linux

  • @st4ndby
    @st4ndby 7 หลายเดือนก่อน

    And here am I, struggling with collision algorithm 😂

  • @user-ze7nw9ud7m
    @user-ze7nw9ud7m 7 หลายเดือนก่อน

    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 )

  • @blacklistnr1
    @blacklistnr1 7 หลายเดือนก่อน

    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

    • @hexeldev
      @hexeldev 7 หลายเดือนก่อน

      or "roles reversed: the player writes the game"

  • @ChrisM541
    @ChrisM541 7 หลายเดือนก่อน

    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!

  • @tefyergames28
    @tefyergames28 7 หลายเดือนก่อน

    Bro what Linux distribution were you using

    • @hexeldev
      @hexeldev 7 หลายเดือนก่อน

      Arch Linux (btw)

    • @tefyergames28
      @tefyergames28 7 หลายเดือนก่อน

      Nice

    • @tefyergames28
      @tefyergames28 7 หลายเดือนก่อน

      Also what gui did you use?

    • @hexeldev
      @hexeldev 7 หลายเดือนก่อน

      @@tefyergames28 do you mean desktop environment? KDE

  • @ThomasTheCoolerVersion108
    @ThomasTheCoolerVersion108 7 หลายเดือนก่อน

    bro went from an orange triangle to a 3d masterpiece

  • @ljxiv
    @ljxiv 7 หลายเดือนก่อน

    what IDE did he use?

    • @hexeldev
      @hexeldev 7 หลายเดือนก่อน

      nvim first then clion

    • @ljxiv
      @ljxiv 7 หลายเดือนก่อน

      @@hexeldev ohh right thanks! i’m to broke for CLion lol

    • @hexeldev
      @hexeldev 7 หลายเดือนก่อน

      I have a free license with my school

    • @ljxiv
      @ljxiv 7 หลายเดือนก่อน

      @@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

  • @samuelpope7798
    @samuelpope7798 7 หลายเดือนก่อน

    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.

  • @Verschrecktes
    @Verschrecktes 7 หลายเดือนก่อน

    „I use Arch BTW“ got me rolling 😂

  • @Brmngm
    @Brmngm 7 หลายเดือนก่อน

    Amazing! Short and detailed.

  • @m_mdi0
    @m_mdi0 7 หลายเดือนก่อน

    Can you tell me where you learn opengl? is there good source for learning??

    • @hexeldev
      @hexeldev 7 หลายเดือนก่อน

      learnopengl.com

    • @m_mdi0
      @m_mdi0 7 หลายเดือนก่อน

      @@hexeldev thanks bro👍

  • @honzosaurus42069-no_furry
    @honzosaurus42069-no_furry 7 หลายเดือนก่อน

    13:44 - "I use Arch btw" .