I Made a Graphics Engine

Поділитися
Вставка
  • Опубліковано 26 вер 2024
  • Graphics Engine. Since you guys loved the video about me making a physics engine I made this. I try out a bunch of awesome stuff like rendering 2D, & 3D shapes, object loading, textures, materials, shaders, terrain generation and much more!
    Me Making a Physics Engine: • I Made A Physics Engine
    ➤My Links:
    Discord: / discord
    Instagram: / gabzxd
    Twitch: / officialzyger
    Twitter: / zygerdesigns
    Patreon: / zyger
    ➤Similar Videos:
    jdh - Making my web game engine - • Making my web game engine
    Guilherme Teres - I Made a GAME ENGINE in 30 HOURS! (from Scratch) - • I Made a GAME ENGINE i...
    n8dev - I Made My Own Game Engine - • I Made My Own Game Engine
    ➤Ignore:
    I created my own graphics engine engine. I tried implementing as many features as I could. I began by rendering 2D shapes onto the screen and realized how much work it is to calculate all eh vertices and indices hand. I then moved onto 3D shapes which was even harder. I created materials and textures which I would apply onto the objects. Then I moved onto implementing shaders such as transparency, fog, water, displacement, sin waves and more. I also took a quick break to add a skybox. As a final feature I added terrain generation based on a height and noise map. This was really difficult and it took a while to get it working but wow is it beautiful.
    Finally I added some camera controls, optimizations and the engine was finished.
    #gamedev #zyger #gameengine

КОМЕНТАРІ • 362

  • @predopogdois
    @predopogdois Рік тому +563

    I love the "My game suddenly disappears in front of my eyes" feature, it adds so much to the aesthetic.

    • @cuppa_joe935
      @cuppa_joe935 Рік тому +14

      I especially loved the “it’s 3 AM and I’m staring at a wall of code it burns my eyes so much“ feature, it really gives a sense of realism.

    • @halfbakedproductions7887
      @halfbakedproductions7887 Рік тому +2

      You get that in Unity when you have the wrong Z-coordinate or the camera isn't set up properly.

  • @Chamerli
    @Chamerli Рік тому +750

    Be prepared Unity and Unreal, cuz we have a new challanger

    • @macaaris1018
      @macaaris1018 Рік тому +8

      😎

    • @somebody_2837
      @somebody_2837 Рік тому +14

      It looks cool and all, and I get the joke, but to be realistic, Unity and Unreal have better graphics and UI.

    • @JustJory
      @JustJory Рік тому +58

      @@somebody_2837 u ruined it

    • @somebody_2837
      @somebody_2837 Рік тому +7

      @@JustJory Guess you didn't read it properly

    • @bu3778
      @bu3778 Рік тому +9

      @@somebody_2837 😐💀

  • @microdavid7098
    @microdavid7098 Рік тому +176

    I like devlogs like these. Doing things that people are scared of and actually making them is something I respect

  • @HeroBabaa
    @HeroBabaa Рік тому +61

    3:26 I love how it says "Mom I programmed this all by myself" as the title of the window.

  • @sakamocat
    @sakamocat Рік тому +244

    directx is a good option for performance on windows but honestly i think opengl/vulkan is better since it runs on almost everything
    great job!

    • @ZygerGFX
      @ZygerGFX  Рік тому +73

      ooh I've never tried vulkan maybe I should then

    • @SylvanFeanturi
      @SylvanFeanturi Рік тому +122

      @@ZygerGFX Just remember who told you to "try Vulkan" so you can ban them from your channel later ]:->

    • @MatheusKlSch
      @MatheusKlSch Рік тому +28

      Just remember: it takes around 1k lines of code just to clear the screen in Vulkan, meanwhile OpenGL, despite being older (but not deprecated yet, at least on non-apple platforms) you can do the same with around 200 lines
      Good luck

    • @DFPercush
      @DFPercush Рік тому +34

      Vulkan is a much lower level API. It more closely represents what GPU hardware is doing than OpenGL, so it's more explicit and introduces some new concepts like pipelines and attachments. Consequently it can be much faster than OpenGL. But there is a learning curve. It takes a thousand lines to set it up, but about 3 lines to actually draw stuff. The pain is all at the beginning. ;)

    • @salbertus2578
      @salbertus2578 Рік тому +17

      @@ZygerGFX listen to the masses. Avoid Vulkan for your mental health

  • @gabitheancient7664
    @gabitheancient7664 Рік тому +37

    I love how it all looks like 2000s game graphics and general vibes

  • @chesspaws
    @chesspaws Рік тому +16

    Programming, gaming, and Vivaldi. There is _hope_ for humanity. Thanks for sharing.

  • @cyborgryno6038
    @cyborgryno6038 Рік тому +257

    Man, this would of been revolutionary in 1992!

    • @neix.2298
      @neix.2298 Рік тому +16

      god damn! are we going to have tetris in real life?!?!

    • @moya_mama
      @moya_mama Рік тому +2

      ehh, then I wonder what century unity3d users live in....

    • @ryonagana
      @ryonagana Рік тому +5

      there's no DX in 1992

    • @DAOXINNo15
      @DAOXINNo15 Рік тому

      Bruh, you didn't have to massacre my girl like that. She is not my girl but still, bruh. Lol (I know you didn't mean it in a spiteful way)

  • @aminrezaie976
    @aminrezaie976 Рік тому +16

    i just really like that this video ended with "no" and nothing else XD

  • @temz7460
    @temz7460 Рік тому +11

    That's impressive work ! Great job imprementing all that !

  • @noel1522
    @noel1522 Рік тому +4

    I stumbled upon your video in my feed and I wasn't expecting to be this entertained. You are a great coder with great comedic timing. This one liked and subscribed. Keep it up!

  • @ughughboi
    @ughughboi Рік тому +12

    I ONCE AGAIN LOVE VEHICULAR MANSLAUGHTER

  • @novadea1643
    @novadea1643 Рік тому +7

    Great work and I hope the best of luck in discovering more about game engines through writing your own, it's usually a futile endeavor since making a game engine != making a game, but I'm the kind of person that was mostly interested in the former and in that case I think it's absolutely one of the best ways to learn about game engines and why they're designed the way they're etc.

  • @ElaBaasel
    @ElaBaasel Рік тому +2

    Amazing work! You understand the basic functionality of an renderer, planes, shapes, textures, camera and object matrix, scenes, controls and a lot more. I'am impressed. Not everyone understands such these thing.

  • @sceplecture2382
    @sceplecture2382 Рік тому +2

    1:19 that sound is from maplestory! Memories...

  • @marcinsolecki1732
    @marcinsolecki1732 Рік тому +1

    0:07 Snail dying xD

  • @BEN-ys6gu
    @BEN-ys6gu Рік тому +1

    Nice to see a girl in this community. the voice took me by surprise. Also this is a pretty good channel wth, you must be about to blow up to at least 300K subs

  • @darkzeroprojects4245
    @darkzeroprojects4245 Рік тому +4

    Congrats on that.
    I am trying to make couple of my own for my first few game projects when I reach to a beta stage.

  • @LHInstrumentals
    @LHInstrumentals Рік тому +2

    "Was it worth it? No" 😂

  • @GingerNingerish
    @GingerNingerish Рік тому +7

    Nice, that looks like it would give me a headache trying to figure out. Maybe one day.

    • @mr_confuse
      @mr_confuse Рік тому +2

      It is, but wait till you learn about Vulcan, boi are you in for a treat :)

  • @gorilaoz6514
    @gorilaoz6514 Рік тому +12

    Every step that u take is worth if u learned something. keep the great work +1sub

  • @KiewieGames
    @KiewieGames Рік тому +2

    Me when terraria Music 2:53 💃🕺💃🕺💃🕺

  • @unraveledultimatefate
    @unraveledultimatefate Рік тому +2

    That's what i like about acquiring knowledge, you can also use SDK of other engines and modify them to support for instance all CPU Cores, and the latest computer hardware in optimized way, but more speculatively. For example, i'd like to see Crysis make potential of all 10 CPU Cores to preserve power for the GPU, etc, I doubt the Remastered uses more than the original Crysis.

  • @That_0ne_Dev
    @That_0ne_Dev Рік тому +5

    This reminds me of one of my modules I did at uni where we was using cpp and dx11 to render terrain... although I made mine infinite and wrote my own obj model because I didn't wanna use ASSIMP lol anyway nice work. I know this kind of thing is a nightmare

  • @dietrichdietrich7763
    @dietrichdietrich7763 11 місяців тому

    4:07 is important to me because I learned from you that a Sine Wave creates Wave Effects

  • @korypeters2059
    @korypeters2059 Рік тому

    im blown away by how smart people are!!!

  • @-Engineering01-
    @-Engineering01- Рік тому +1

    i don't know in which way should i describe my thoughts but here is: literally %99 of UA-camrs who s do make these gaming or graphics related videos but none of them is actually working in the game industry, they're just UA-camrs, except Freya Holmer.

    • @JoeJabby
      @JoeJabby Рік тому

      Zyger works for rare.inc

  • @ThatGamePerson
    @ThatGamePerson Рік тому +4

    Zyger, why do you do this to me?
    You make a video showing something cool and then, my smooth brain is like "Better yeet all my projects and do something similar but more different" So now here I go to do some Vulkan stuffs. Thanks.

  • @TimelessGamingSoftware
    @TimelessGamingSoftware 7 місяців тому

    The more projects you make the more ideas you can come up with
    I’m learning patience andnetwork powerful

  • @erik9817
    @erik9817 Рік тому +1

    Nice! Which DirectX version are you using?

  • @gametram6139
    @gametram6139 Рік тому +5

    Cool Video!
    now make ambient occlusion, depth of feild, motion blur, emmision, baked global illumintation, and post process shaders.

    • @ZygerGFX
      @ZygerGFX  Рік тому +2

      thanks to be fair I have made post processing shades,and lighting stuff before . Haven't tried depth of feild, emission or motion blur, so need to give that a go. good idea :)

    • @lowlevelhaunt
      @lowlevelhaunt Рік тому +3

      bro got a list of demands lol 💀

    • @Itsme-wt2gu
      @Itsme-wt2gu Рік тому +1

      Try unreal and you will have a great idea , also implement lods system for mesh

  • @kanpekiken2481
    @kanpekiken2481 Рік тому +2

    Love to see this sort of content :)
    I was hoping you did Vulcan not directX since no one uses it anymore lol

  • @scooterboom4157
    @scooterboom4157 9 місяців тому

    what the hell!?!? this is better then any tutorial on c++ 3d engine I could find!

  • @KoruxTV
    @KoruxTV Рік тому

    What is used for water effect is called a tesselation shader or a geometry shader and it adds vertices to the triangles you send to it and displaces it using various displacement functions (sin waves would not give a convincing water effect)

    • @ZygerGFX
      @ZygerGFX  Рік тому

      Yes that is very true sin waves don't look good. And this is definitely something I want to try at one point.

  • @LunarcomplexMain
    @LunarcomplexMain Рік тому +2

    I remember doing stuff like this in JS via the canvas, tons of fun, but man, when you start having to worry about performance and create strategies for loading and unloading objects, that's gonna be loads of fun, gl

  • @NoobSvCy
    @NoobSvCy Рік тому

    That exit music tho :3

  • @piyushsingh8361
    @piyushsingh8361 Рік тому +1

    i liked the video even tho i got sick of the graphics but couldnt deny the fact that im also building my mind for c++

  • @dsnahogaragames
    @dsnahogaragames Рік тому +3

    I just started the other day with Vulkan and wanted to die inside! heheh, fantastic video

    • @thinkingspace3438
      @thinkingspace3438 Рік тому

      @@h..h yes, opengl can work on a lot of platforms and can be used with other multiplatform framework like sdl, so if you want to make an engine for a game from scratch that's the only think you can use nowadays imo. raw directx will only work on windows, and you don't want to make the compat layer yourself... maybe we'll get some stuff to work with vulkan easily but for now just go with opengl, even if its not the most modern thing

    • @wrmusic8736
      @wrmusic8736 Рік тому

      @@h..h OpenGL is easy to learn and use, but it won't provide you with parallelism like Vulkan would. One really cool thing in Vulkan is that you can create an asynchronous compute pipeline and offload a lot of stuff to it (like post processing / physics calculations) which will be calculated by the GPU while you are gathering data for the frame instead of waiting on compute shader to be done like it would be in case of OpenGL.
      Vulkan isn't hard to learn per se, it's just hard to track. I mean try to remember which descriptor set for which descriptor layout with which bindings did you create and did you assign them to pipeline? Oh boy.

  • @tanama84
    @tanama84 10 місяців тому

    OMG!! that was awesome, I can only slap png image to screen with SDL and make the moving. I will learn how to render 3D later ... great job!!

  • @runrajrun
    @runrajrun Рік тому +1

    Happy to find your channel! Really enjoyed the video 🔥

  • @StormyYay
    @StormyYay 7 місяців тому

    The terraria music in the background is amazing

  • @sohaib_t
    @sohaib_t Рік тому +1

    There is smth soothing abt the accent (assuming it's like British or Australian) it makes me feel like I understand what you are saying when I don't lok
    av never dabled in custom "engines" seems interesting tho

  • @landueled
    @landueled Рік тому +2

    Way to go, you're gonna be a new Tim Sweeney!

  • @preludelight
    @preludelight Рік тому

    your window titles absolutely slay me

  • @kensclark
    @kensclark 8 місяців тому

    I dare you to use Vulkan. One thousand lines of code just to render a triangle. I love it though.

  • @student99bg
    @student99bg Рік тому +1

    Why not continue working on it or making a game in it, like jdh made a Minecraft clone

  • @Samhutkinsu
    @Samhutkinsu 7 місяців тому

    wasn't expecting a skylanders reference

  • @FazedSoul
    @FazedSoul Рік тому +2

    You sound just like my small sister.🙂

  • @thephoenixsystem6765
    @thephoenixsystem6765 Рік тому +1

    That was awesome, just started learning OpenGL yesterday
    So I chase now

  • @Sammysapphira
    @Sammysapphira Рік тому

    I love your maplestory slime/mushroom death sounds

  • @blockshift758
    @blockshift758 Рік тому +2

    i forgot i was watching this video because you got me side tracked to wikipedia. then I got lost now looking at why is there so much Cebuano articles. almost non of it are even related to philipines

  • @TheDiamondLemon
    @TheDiamondLemon 28 днів тому

    5:14 smiley face! :D

  • @Bonnie20402
    @Bonnie20402 Рік тому

    Amazing video that popped up in my recommended tab a few days ago. Nice UA-cam algorithm, subscribed.

  • @Itsme-wt2gu
    @Itsme-wt2gu Рік тому +1

    Learning is that don't mess just use the pre-existing for sake of simplicity

  • @emoneydev8684
    @emoneydev8684 Рік тому +4

    Did this a few years ago and almost killed my self

  • @beau101023
    @beau101023 Рік тому

    Relatable dev content

  • @Axelvad
    @Axelvad Рік тому +1

    "Was it worth it.. no!" 😁 Thinks the same everytime i close godot. At least its fun kind of.

  • @MenkoDany
    @MenkoDany Рік тому

    I think you sea of STOLE my HEART I mean good job

  • @datcanard4
    @datcanard4 Рік тому +1

    Great artistitic value to our world, thx

  • @humdrum5408
    @humdrum5408 Рік тому +1

    I challenge you to make a game in it!

  • @jasimwani
    @jasimwani Рік тому +1

    After the great titan war ended, Gabi moved to the woods of Marley and decided to make games for rest of her life😀

  • @baumstamp5989
    @baumstamp5989 Рік тому +2

    any engine written outside of C/C++ (or assembly for that matter) is bad. imho. so you did that REALLY RIGHT :D
    very impressive job!
    adding vulkan render output to the existing dx one could be a cool side project and make the engine really cross compatible with lots of platforms.

    • @astroid-ws4py
      @astroid-ws4py Рік тому

      Engines can be written with Rust too 😊 (maybe Zig and Nim also), Also best to use a cross platfrom rendering abstraction layers such as BGFX, WPGU or Sokol so no need to write in each devices' APIs.

  • @hasanshafy_
    @hasanshafy_ Місяць тому

    Are there any caveats using OpenGL? Considering you're using DirectX.

  • @JoshtynDotTV
    @JoshtynDotTV Рік тому

    i heard a very handsome whistle in that background music!

  • @beo1863
    @beo1863 3 місяці тому

    thank you , so cool !

  • @GoogleDothBetray
    @GoogleDothBetray Рік тому +2

    Isn't this just a part of the Uni course?

  • @swrcPATCH
    @swrcPATCH Рік тому

    2:20 "I made is spin :)"

  • @airman122469
    @airman122469 7 місяців тому

    “I made a graphics engine… by importing a bunch of libraries that implement much of the hard stuff”

  • @alexclaz
    @alexclaz Рік тому

    Nice! you created the next Cyberpunk

  • @Dynamic155
    @Dynamic155 Рік тому

    Wow, I can barely make a PowerPoint presentation, and this person just made a graphics engine. I think I need to reconsider my career choices.

  • @rbxzy
    @rbxzy Рік тому

    Grammer go hard 2:22🤙🤙

  • @AlbertRyanstein
    @AlbertRyanstein Рік тому

    Good stuff! How long u been learning dx?

  • @philltheotherguy1868
    @philltheotherguy1868 Рік тому +2

    We all know what comes next: custom game engine.

  • @Kartik-dp4jf
    @Kartik-dp4jf Рік тому +2

    Hey, I was trying to implement something similar a while ago but got stuck in.. clipping. Can anyone explain or site any sources I can study to understand the implementation. It will be very helpful

  • @frosty7674
    @frosty7674 Рік тому

    I see so zyger is becoming the "I made my own" stuff user

  • @Terandium
    @Terandium Рік тому

    Love the sound effects

  • @speedlight7678
    @speedlight7678 Рік тому

    "i just made a window open, there is nothing in it." The code: Line 456

  • @fourlion_everywhere
    @fourlion_everywhere Рік тому

    I like the name "I AM LOSING MY MIND" as a name of the engine.

  • @menaced.
    @menaced. Рік тому +1

    Im doing this too but ive been working on it for nearly 3 months and have half the functionality

  • @frahohen
    @frahohen Рік тому +1

    DirectX is not a physics engine. Its a framework/library for 3D/2D computer graphics.

  • @RitterderRedlichkeit
    @RitterderRedlichkeit Рік тому

    You should try vulkan -
    soooooo good

  • @wiktorwiktor12
    @wiktorwiktor12 Рік тому

    game of the year

  • @henrikd.8818
    @henrikd.8818 Рік тому +1

    nice work. Love it!

  • @itstommymate
    @itstommymate Рік тому

    This is cool :D Now make a PBR shader with Global illumination, ambient occlusion. Screen Space Reflections, Bloom and HDR. Don't worry, I belive you on this one 😎😎😎

  • @krishnanspace
    @krishnanspace Рік тому +1

    Crazy!! Can you point me to some good resources to get started into graphics programming?

  • @JonathanSteadman2003
    @JonathanSteadman2003 Рік тому

    That is pretty awesome! Well done. 😀

  • @azul2856
    @azul2856 Рік тому

    can you please answer what's the name of the background musics?

  • @soupborsh6002
    @soupborsh6002 Рік тому +1

    Use Vulkan btw. I use GNU/Linux I dont have that DirectX bloatware.

  • @yluigizindev4907
    @yluigizindev4907 Рік тому +1

    now make a 3d game using opengl or directx for good content

  • @Humble_Electronic_Musician
    @Humble_Electronic_Musician Рік тому +1

    Impressive!

  • @muuubiee
    @muuubiee Рік тому

    "did I learn anything?"
    - Well kind of, I mean technically I guess?
    That's pretty much the spirit of many CS courses.
    Took a "computer graphics" course, but turned out most of the work was getting things to work on windows and linux, which is just not at all worth spending time on.
    The theory is decent though, but I think it's generally not worth learning anything real computer graphics stuff, since the game engine deals with it anyway. If you know the theory it's probably enough.

  • @NeoShameMan
    @NeoShameMan Рік тому

    You are not dead!

  • @bitmasked
    @bitmasked Рік тому

    Ah yes, a story after my own heart: Approximate British Engineering. 🇬🇧

  • @lukiraq
    @lukiraq Рік тому

    Now make a video: Making an FPS game using my game and graphics engine

  • @Overlycomplicatedswede
    @Overlycomplicatedswede 5 місяців тому

    The terraria music goes hard

  • @NihongoWakannai
    @NihongoWakannai Рік тому

    4:06 aren't those gerstner waves?

    • @ZygerGFX
      @ZygerGFX  Рік тому +1

      Maybe probably . I was pretty tired when making that part on the video so I most likely got the wrong clip.

  • @NotBubZ
    @NotBubZ Рік тому

    parts of the terraria background music🥹

  • @uke9999-v7x
    @uke9999-v7x 9 місяців тому

    I'm curious, what game language did you use? C++? Python? Java?

  • @apIthletIcc
    @apIthletIcc Рік тому

    subbed cuz I can tell from this video already i'm around like minds lol
    you explained alot of this in a way that my adhd brain sees a clear process it would take. I'm currently trying to learn some modeling and stuff related to building physics based vehicles for a vehicular combat sim/ extraction shooter set in a dark gritty cyberpunk 1930's california but with accurate soft body physics like beam ng and looter/shooter style dungeons underground.

  • @DylanMatthewTurner
    @DylanMatthewTurner Рік тому

    You should switch it to Vulcan