Is it hard to make a 3D Game in my Custom C++ Engine?

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ธ.ค. 2024

ความคิดเห็น • 88

  • @NiklasAndersson7
    @NiklasAndersson7 ปีที่แล้ว +61

    I am currently writing my game engine in html.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +45

      bro you on the next level don't take my job please 💀😭

    • @NiklasAndersson7
      @NiklasAndersson7 ปีที่แล้ว

      @@lowlevelgamedev9330 😀

    • @decknowstupid
      @decknowstupid ปีที่แล้ว

      It is possible? I mean, it is possible to make a whole game engine in HTML?

    • @Just_go_gg
      @Just_go_gg 11 หลายเดือนก่อน +5

      💀🔫

    • @hmmmidkkk
      @hmmmidkkk 11 หลายเดือนก่อน +3

      💀💀

  • @mteo6391
    @mteo6391 ปีที่แล้ว +6

    I was really helped by your tutorial 🙏🏼

  • @rezabani9904
    @rezabani9904 3 หลายเดือนก่อน +2

    As I see in 02:08 you are making game in Zig? with Raylib? that's sound awsome and cool !

  • @tomtravis858
    @tomtravis858 ปีที่แล้ว +9

    For hobbyists looking to make games, I would ALWAYS recommend using an existing engine, I find with basically anyone who tries to make their own engine, they end up working on it more than the actual game.
    Hell, you could even use an existing C++ engine and modify it for your needs.

    • @solidnywonsz
      @solidnywonsz 4 หลายเดือนก่อน +2

      what open source C++ engine do you recommend, apart from UE?

    • @joshgordon7299
      @joshgordon7299 3 หลายเดือนก่อน +2

      People make engines because they want to. Like if your a hobbyist build what ever you want

  • @cxngo8124
    @cxngo8124 ปีที่แล้ว +6

    This is so cool. Making a game engine sounds so cool, but is also so intimidating, especially since the only languages I know are Rust and Python.

    • @luckerooni1153
      @luckerooni1153 ปีที่แล้ว +3

      Game engines require heavy optimization since they will provide a framework for games which depending on the scale can really annihilate computer resources. You can make smaller games on Python though and if you don't want to learn a C language to make a game engine, a Python engine based on some that are already made so you have a reference could probably make you really good at Python for game dev. Just a thought. Rust is probably not impossible but it's very uncharted territory compared to Python game development, plus using Python could help you to frame your focus a bit smaller so you actually finish the thing. I will warn you though, there is a very good reason why almost all game engines are written in a C language, and that is because the game framework takes advantage of a C language's power while refining on its weaknesses such as being "difficult" to use in and of itself compared to other languages. Small scale, Python will still work though.

    • @BoardGameMaker4108
      @BoardGameMaker4108 ปีที่แล้ว +4

      Rust is a very complex programming language, if you know Rust you are already more than capable of making a game engine. Some people make game engines in C which is a much simpler language than Rust.

    • @lanchanoinguyen2914
      @lanchanoinguyen2914 ปีที่แล้ว

      ​​@@BoardGameMaker4108 rust and c++ may be the same at complexity.But you are confused between the language complexity vs the programming complexity.More simple languages such as c wouldd require you very high intelligence to solve the problem.I use c++ but i program in c mode most of the time,i built everythings from scratch,from bitmap loader to 3d loader,skeletal animations,optimization that combine all textures into one...etc very insane if i only used c.

    • @plrc4593
      @plrc4593 หลายเดือนก่อน +1

      @@BoardGameMaker4108 Why is Rust that difficult?

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

      @@plrc4593 Rust introduces some new concepts - Rust has a "borrow checker" that analyses your source code and ensures that there's no bugs from managing your own memory. This is better than using a garbage collector because it is all done at compile-time and there's no runtime cost. The downside is, this "borrow checker" is very restrictive and does not let you alias pointers in many circumstances. You can't implement a linked list in Rust because the borrow checker will see aliasing pointers and stop you from making it.
      Essentially it's restrictive and safe, often unnecessarily so, but it performs very well. You can use unsafe mode to break the rules occasionally but then you have to deal with the boundary between safe/unsafe. When the compiler is optimizing your code it will make certain assumptions to optimize things better (this is called undefined behavior). If these assumptions are wrong then there's a bug in your program. So part of Rust is dealing with the assumptions that the compiler _might_ make and designing around them (this is the same in C and C++ btw). This problem gets worse when there's a boundary between safe/unsafe, because you need to ensure that the assumptions that the language might make (whatever they are) are upheld across both sides. You can have aliasing pointers in unsafe, but you need to ensure that they are not aliasing in safe, otherwise the compiler might do problematic things.
      There's currently a language war between C++ and Rust developers, but I actually really like Rust. It's slightly safer than C++ at the cost of developer sanity. Rustaceans will argue "the borrow checker never slows me down" but it's not just friction -> when you are forced/strongly encouraged by the language to make things a certain way, quite often it will not be the most efficient method, even if it is "safer" as far as the language is concerned. Rust gives me more analysis paralysis than any other language I have used.Sometimes I feel that it is a nerd _sniper_ making me think about interesting problems instead of completing the task.

  • @VAUIENLET
    @VAUIENLET 8 หลายเดือนก่อน +2

    Incredible!

  • @barti1316
    @barti1316 ปีที่แล้ว +6

    I love your videos, you inspire me so much 😊❤

  • @VioletGiraffe
    @VioletGiraffe 22 วันที่ผ่านมา +1

    That's a damn cool engine and editor! How is the GUI done? Your engine is not open-source, by any chance?

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  22 วันที่ผ่านมา

      yo the gui is made in imgui and yes it is open source, search meemknight/pika on github

  • @ScarPunk
    @ScarPunk 9 หลายเดือนก่อน +1

    So cool thanks for inspiring me

  • @CloudlessStudio
    @CloudlessStudio ปีที่แล้ว +1

    dude you are incredible

  • @vincententity5647
    @vincententity5647 ปีที่แล้ว +4

    Hey man, really like your videos, I want to make a Game Engine myself for 3D games. What stack would you recommend (or what stack do you use?). I thought about SDL2 with OpenGL maybe or do you have any suggestions? Would love to hear from you and keep up the good work!

    • @GabrielxC
      @GabrielxC ปีที่แล้ว +1

      I used javid pixel game engine

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +3

      I am using opengl and glfw I think tha this is a solid stack but you can use whatever you like in the end 💪

    • @vincententity5647
      @vincententity5647 ปีที่แล้ว +1

      @@lowlevelgamedev9330 thank you so much for the answer!

  • @dinodubin9241
    @dinodubin9241 ปีที่แล้ว +16

    Thats amazing, i wish i was able to do something remotely as cool but im stuck at understanding how to detect collisions

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +9

      😂 yeah that is ammoying, I haven't done collisions for this project. Check out javidx9 's videos on collision 💪

    • @mhdta_dev
      @mhdta_dev ปีที่แล้ว +4

      Just use bullet physics lib

    • @alphenex8974
      @alphenex8974 ปีที่แล้ว +5

      You dont do collision stuff yourself, especially complicated collisions. Just use a physics library like ODE or Bullet etc

    • @bluesillybeard
      @bluesillybeard ปีที่แล้ว

      lol I spent a week on trying to get collision working for my game.
      I just gave up and used Box2D lol

    • @dinodubin9241
      @dinodubin9241 ปีที่แล้ว +2

      Thanks for the advice everyone

  • @xenonlu1
    @xenonlu1 ปีที่แล้ว +5

    I am doing the same thing: C++ opengl , my own engine and my script language. Hope to learn more from u.

  • @PashaDefragzor
    @PashaDefragzor 2 หลายเดือนก่อน +1

    Water cooling systems ^__^

  • @Alkaris
    @Alkaris 4 หลายเดือนก่อน +3

    Some would try Godot because it's free and open-source and can be adapted to your workflow by changing how it functions as a game engine, which I think is cool that you can reuse the base of Godot and then add your own implementations to it as needed.

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

      I am actully curious how many people actually modify the source code of Godot :))

  • @d4r1u5-pk7zr
    @d4r1u5-pk7zr 3 หลายเดือนก่อน +1

    do you use a laptop for making all of this?
    if yes that is a big thumbs up

  • @muyvello4646
    @muyvello4646 ปีที่แล้ว +2

    Hi, how did you able to do that graphics engine? :)

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +2

      you can learn that if you spend enough time. I have some videos on my channel walking you through the process if you are curious 💪

  • @quantumgamer6208
    @quantumgamer6208 11 หลายเดือนก่อน +1

    Can you use python to make a game engine IDE with C compiler to complie your python code? I am currently making a game engine in python with C/C++ game dev library but I am using the python version of the C/C++ game dev library like imgui, jolt physics engine, ogre graphics rendering engine, vulkan, bullet physics engine and other C/C++ library and I am using pygame pyglet for 2D and 3D game framework for the game engine. The game engine will be for simple 2D and complex 3D games.

    • @Ahbekasmrs
      @Ahbekasmrs หลายเดือนก่อน +1

      Python is too slow, use C++ or C

    • @Ahbekasmrs
      @Ahbekasmrs หลายเดือนก่อน +1

      sorry i didnt elaborate, even if its a 3d framework your using in python it wont be that fast as it would if you use it in C

  • @computercodelearning
    @computercodelearning ปีที่แล้ว +2

    whats causing the fps to be stuttering?

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +3

      the obj is kinda struggling on my laptop with my engine running, my gpu is quite old I have to upgrade my setup at some point

  • @Dostofei44
    @Dostofei44 7 หลายเดือนก่อน +1

    What game engine do you use?

  • @whiteingale
    @whiteingale 3 หลายเดือนก่อน +2

    makes me just want to use Unity.... :D
    oh my xdddd

  • @jonesy_b
    @jonesy_b ปีที่แล้ว +3

    i really want to make my own game engines too, but im already struggeling on understanding how to get a triangle on the screen. I have limited time and cant spend every day on learning rendering. Am i maybe spending too much time on knowing every detail of how all those buffers and stuff?
    Can you give me some advice? I think im a quite capable programmer and program already for a few years.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +2

      The beginning is quite difficult, I have a lot of the resources that you need on my discord channel and on my learn opengl video. Unfortunatelly you need to know all of those details but try to see some progress, aproach the beginning from a practicle point of view and try to render one triangle and experiment. Step by step youll get confortable and things will get easier. Good luck 💪💪

    • @ChrisCarlos64
      @ChrisCarlos64 ปีที่แล้ว +1

      Getting that triangle can take a while for your first time, but it's pretty worth it to get going, then spinning, then textured, then you add more triangles to make a pyramid or cube and soon you are on your way.
      Honestly, if there's one thing I can say, start with some of the "easier" APIs. That means do DirectX 11 versus DirectX 12 or OpenGL over Vulkan but even more, if you're on Windows for example, don't focus on getting either of those. Stick to what you can figure out. If that means making a triangle with Windows API, do it. If you are looking for 3D, I recommend 2D first, then move into 3D. There are also other graphic APIs you could look into like Irrlicht, or Ogre or some others.
      I find that going with 2D first helped me focus less on the 3D complexities that I made larger than needed to be. (It's just one more dimension after all) As I wasn't understanding the DirectX/OpenGL (for the time) API stuff. In the end, going back to 2D allowed me to learn how to do basic things and understand concepts of a frame buffer (how to swap frames and render to the back buffer). How to do input, timing for animations, etc. After you get a good understanding, you'll then look at the DirectX API or OpenGL stuff with the intent to do something you already are familiar with and with intent. (I want to draw my 3D object on the screen, I have the points and data, but how do I get it on the GPU? etc.)

    • @jonesy_b
      @jonesy_b ปีที่แล้ว

      ​@@lowlevelgamedev9330 thanks mate! also can you look at the comment i made for ChrisCalos64? those questions are for you too:)

  • @jayachandrank2875
    @jayachandrank2875 ปีที่แล้ว +2

    Do u know which country famous for computer graphics programming ??

  • @h-bgaming6241
    @h-bgaming6241 9 หลายเดือนก่อน +1

    WoW man you are the ChadPP Jesus...

  • @human-ft3wk
    @human-ft3wk ปีที่แล้ว +2

    really cool but why is it so laggy?

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +2

      my laptop is kindia struggling with the recording software 😫 I kinda need to buy a new one :((

  • @arl-t8d
    @arl-t8d ปีที่แล้ว +2

    Based

  • @RuedigaTheSecond
    @RuedigaTheSecond ปีที่แล้ว +3

    🐝

  • @KoltPenny
    @KoltPenny ปีที่แล้ว +2

    You say you're low level dev, then you only use C++ 👀

    • @blockify
      @blockify ปีที่แล้ว +2

      A low level programming language is one that has very little abstraction and is close to machine code/assembly. C++ is a low level language. Definitely counter intuitive 😅 low level = harder

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +4

      eh I don't use inheritance or polimorphism or exceptions in cpp so it is kinda low level 🤣😂

    • @KoltPenny
      @KoltPenny ปีที่แล้ว +2

      @@blockify Nah, C++ is high level. Assembly is the only thing that could be considered low level.
      Even C has a big chunk of abstractions. I'd argue that Holy C is the closest without going into assembly because it does not do any optimizations.

    • @shu3684
      @shu3684 ปีที่แล้ว +3

      @@KoltPenny in 2023 pretty much every compiled language is considered low level, deal with it

  • @yigithanion
    @yigithanion ปีที่แล้ว +1

    👍

  • @javiertrevino5535
    @javiertrevino5535 ปีที่แล้ว +2

    people should just use unity but also learn blender really well, I find that the engines to more than enough when it comes to programming and physics, logic, etc. but there is a lack of good game devs because they don't know how to model so they try to use asset packs or AI or hacks here and there instead of learning how to make their own low poly assets..which gives you a lot of creative freedom

  • @zipiro8942
    @zipiro8942 ปีที่แล้ว +2

    Oho, this romanian accent!

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +2

      exposed again 🤣😅

    • @zipiro8942
      @zipiro8942 ปีที่แล้ว +1

      @@lowlevelgamedev9330 Da si daca intru la despre canal scrie Romania. Oricum imi place foarte mult cea ce faci si ma motivezi cumva. :)

  • @JakubSK
    @JakubSK 2 หลายเดือนก่อน +1

    The problem with using a game engine are “politics”.. not worth it at all.

  • @Cyb11893
    @Cyb11893 วันที่ผ่านมา

    The graphics are worse than in unity. No thanks

  • @lanchanoinguyen2914
    @lanchanoinguyen2914 ปีที่แล้ว +1

    So slow,bad engine you just put everything together without thinking.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  ปีที่แล้ว +6

      eh actually the lag is because my pc can't handle both the game and the recording software 😫