Тёмный

Making my own 3D GAME ENGINE and GAME in 48 HOURS? C++ OPENGL 

Hexel
Подписаться 2 тыс.
Просмотров 146 тыс.
50% 1

Наука

Опубликовано:

 

24 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 202   
@1devm0
@1devm0 Год назад
BRO. Making a game engine and a game in 48 hours is on a completely different level.
@emii6199
@emii6199 11 месяцев назад
yea
@OGtonkemonke69
@OGtonkemonke69 11 месяцев назад
This is second reply
@dwarfda
@dwarfda 11 месяцев назад
To be fair, there's nothing about this that make it really "an engine", the title is just pure clickbait. It's just few of the most common classes that are absolutely necessary to make any kind of 3D game.
@LuxTheWizard
@LuxTheWizard 11 месяцев назад
@@dwarfda which is all an engine is? It's just a collection of tools and classes that are necessary to make a game, he wasn't going to implement a complex physics engine, audio, animation, etc. all within 48 hrs. But what he built was still an engine...
@ChrisCarlos64
@ChrisCarlos64 11 месяцев назад
​@@dwarfdaif you consider it to be on the level of Unity and whatnot, sure it isn't "a game engine" but that is also a bit short sighted. An application is an application regardless of how it holds up. That scrutiny only matters when you're trying to ship a product. It is still a game engine but is it a versatile or well documented and modern game engine? No not really yet it isn't trying to be for now.
@azus5576
@azus5576 11 месяцев назад
If you don't want to watch the full video, here's the steps to create your own game engine: 1. create a hello world program and make sure it compiles 2. build your engine Happy coding!
@Shywizz
@Shywizz 9 месяцев назад
r/restofthefuckingowl moment.
@muggzzzzz
@muggzzzzz 9 месяцев назад
It's like a famois tutorial on how to draw an owl. 1. Draw two ovals to form a head and body outline. 2. Draw the rest part of the owl.
@ThetaRabbit
@ThetaRabbit Год назад
Writing your own game engine is impressive, but as a game dev, I find the completeness of the game for jam even more important. Therefore, these two aspects together makes your work amazing. Maybe it is not perfect in terms of game design, but it's very cool anyway!
@zacharychristy8928
@zacharychristy8928 11 месяцев назад
I still give him credit for coming up with a complete loop with a theme-appropriate mechanic given the tools he has to work with. Sometimes it's an interesting exercise to think of the simplest possible thing that's mechanically fun or interesting. It could build good practices to prevent feature creep too.
@kalaherty
@kalaherty 6 месяцев назад
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
@jumbledfox2098
@jumbledfox2098 Месяц назад
i'm currently thinking about building my own platformer engine.. and let me tell you i wish i could call myself simple for doing that! physics is pretty hard and so is good movement. good luck with your projects, internet stranger! :3
@Ausprechender
@Ausprechender 11 месяцев назад
I can't even make a game in Unity in 48 hours and you made your own game engine + game. This is insanely cool
@szigo3211
@szigo3211 11 месяцев назад
Bro said "I use arch by the way" unironically 💀💀💀
@SpencerYonce
@SpencerYonce Год назад
BROO I LOVE YOU AND THIS VIDEO AND YOUR GAME AND YOUR SKILLS. you got a new sub for life my dude. Fellow game dev here. Thinking about doing a game jam soon and filming it for y’all
@manget9016
@manget9016 11 месяцев назад
Impressive work 👏! A gameplay loop could be that you get a higher score the longer path the ball rolls before it land in the hole. So you could play it safe by putting the hole closer to the starting point, or try to get a high score by placing the hole far from the starting point.
@hexeldev
@hexeldev 11 месяцев назад
Excellent idea!
@notLord0
@notLord0 11 месяцев назад
Great video! Really liked it. I participated in the jam ( top 2k ), and I have made my own game engine in the past, though it was in Java, pretty hard, Great job!
@efeloteishe4675
@efeloteishe4675 9 месяцев назад
JAVA?!
@Brmngm
@Brmngm 9 месяцев назад
Amazing! Short and detailed.
@chrisauh
@chrisauh 11 месяцев назад
I like how you walk us through each bug you experience, as well as your breaks. It's good to take breaks and know that bugs are something that ultimately plague every software dev!
@hmbpnz
@hmbpnz Год назад
Outstanding. What a fun view!
@Skeffles
@Skeffles 11 месяцев назад
Fantastic! Not many people make their own engines, especially in game jams. Really well done.
@robtheidiot1
@robtheidiot1 11 месяцев назад
Really good video, i could see you becoming big in the future. Keep having fun man!
@Banaaani
@Banaaani 11 месяцев назад
Wow, that is truly impressive. There is always this certain good feeling in freshly made game engines, sort of nostalgic, because of the graphics and lack of detail in the environment. I love it!
@JackPotniy
@JackPotniy 11 месяцев назад
Thank you, Your video inspired me! Keep it up, mate!
@on-hv9co
@on-hv9co 11 месяцев назад
Renderdoc really out here saving lives.
@lln6123
@lln6123 11 месяцев назад
08:45 that blew my mind just from watching. great commentary, thanks!
@hexeldev
@hexeldev 11 месяцев назад
Glad you enjoyed it!
@hucancode9
@hucancode9 8 месяцев назад
You got a new fan lol. I never actually implement shadow myself. Looks cool I have to try it some time
@erictrinque6513
@erictrinque6513 11 месяцев назад
absolute madman.. keep it up
@ScorgeRudess
@ScorgeRudess 10 месяцев назад
This is crazy! Congrats
@raghavgohil2004
@raghavgohil2004 10 месяцев назад
Loved the video dude! I want to reach this level of game programming :>
@independentclone
@independentclone 11 месяцев назад
wow, I can't imagine how much things you need to know to do this and how much familiarity one must have had to implement all these within 48 hrs.👍👍👍👍
@hassesponnys8433
@hassesponnys8433 11 месяцев назад
Great video, you should definitely make some tutorials or more in-depth videos about it!
@OriginalC0dePr0xy
@OriginalC0dePr0xy 8 месяцев назад
Yo, nice KDE Plasma setup btw. I love the Sweet GTK theme.
@whoandrejsirbu
@whoandrejsirbu 11 месяцев назад
great video 😀
@morejpeg
@morejpeg 11 месяцев назад
Seriously epic!
@hbfl3x50
@hbfl3x50 11 месяцев назад
Congratulations on the job well done ✅
@anon_y_mousse
@anon_y_mousse 11 месяцев назад
Definitely get an upvote for the comedy. The Windows or browser requirement is why I'll never enter the GMTK game jams, though I just might use it as inspiration and write a game anyway.
@hexeldev
@hexeldev 11 месяцев назад
Enter Ludum Dare!
@hexeldev
@hexeldev 11 месяцев назад
Glad you thought it was funny, my humor is extremely dry so I didn't expect many to laugh.
@anon_y_mousse
@anon_y_mousse 11 месяцев назад
@@hexeldev I think I've heard someone mention that before, but didn't know it was a game jam. Now that I've finally looked it up, I can see myself entering the Extra category, since I am a tad slow and can't always devote time to things outside of work. Might be time to finally join one of the public git websites and publish something as open source.
@Aryan_Divyanshu_000
@Aryan_Divyanshu_000 11 месяцев назад
Wonderful project
@FA18_Driver
@FA18_Driver 3 месяца назад
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
@Roy_335is
@Roy_335is 8 месяцев назад
I’m taking c++ in college rn and I. Honestly love it I hope to be as good as this one day
@Canilho
@Canilho 11 месяцев назад
Cool small project, deffenitely with great iteractions. I feel like if you have enough iteractions you'll create an awesome game. Subscribed to see more of your stuff :D
@SergeyLergDev
@SergeyLergDev 11 месяцев назад
Very cool, you’ve done amazing job finishing the game by the deadline! Any feature cuts you’ve decided to make during the development?
@hexeldev
@hexeldev 11 месяцев назад
I wanted to make the ball bounce like real golf, I also wanted a skybox (cubemap) like Unity so the sky isn't a single color and I wanted a nicer map but these features had to get cut for the sake of shadows
@efeloteishe4675
@efeloteishe4675 9 месяцев назад
@@hexeldev for the skybox you could've easily just added in a big (really big) cube with a texture (the actual skybox) and made it move with camera
@grandpabazi3332
@grandpabazi3332 8 месяцев назад
Legendary bro🎉
@MonLes-xt7gc
@MonLes-xt7gc 11 месяцев назад
Keep doing it!
@CurioQ_42
@CurioQ_42 10 месяцев назад
wow bro. i loved your skill. great
@orangomango
@orangomango 10 месяцев назад
Great job on your submission, yeah 48h is not much time I had some time problems too
@atlifreysi
@atlifreysi 11 месяцев назад
nice !
@gomatamaditya
@gomatamaditya Год назад
THIS IS EPIC
@Kaiphusha
@Kaiphusha 11 месяцев назад
Long time ago I made a red circle in C, that could be rotated with the WASD keys.
@catedoge3206
@catedoge3206 11 месяцев назад
insane!
@HatmanDev
@HatmanDev 11 месяцев назад
Honestly that is some amazing work! 48 hours to do a game and a 3d game engine sounds almost impossible to me. can't wait to see what you will do in the future!
@wint3rxxx
@wint3rxxx 11 месяцев назад
We need a tutorial on how all these great tools can be used to together please
@blacklistnr1
@blacklistnr1 9 месяцев назад
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 9 месяцев назад
or "roles reversed: the player writes the game"
@honzosaurus42069-no_furry
@honzosaurus42069-no_furry 9 месяцев назад
13:44 - "I use Arch btw" .
@davidmc971
@davidmc971 11 месяцев назад
Honestly pretty impressive for just 48 hours :D
@Verschrecktes
@Verschrecktes 9 месяцев назад
„I use Arch BTW“ got me rolling 😂
@discotecc
@discotecc 6 месяцев назад
Getting into graphics programming is a humbling experience to say the least
@RandomGuyyy
@RandomGuyyy Год назад
If you move the flag outside of the terrain you get a crash with a POSIX WinThreads error message box. Maybe it's trying to look up a point on the heightmap and gets null?
@hexeldev
@hexeldev Год назад
I'm assuming POSIX WinThreads means the Windows version. On Linux the ball bounces as far as I can tell.
@hexeldev
@hexeldev Год назад
code for this logic: github.com/MartensCedric/portable-par/blob/fea79ac39c5b8542fbe53afbbcff08a887b1d520/src/main.cpp#L457 Maybe there's a bug
@RandomGuyyy
@RandomGuyyy Год назад
@@hexeldev Yeah the ball bounces ok. But if the flag is moved outside the terrain it crashes. Excellent work though especially within the jam timeframe!
@hexeldev
@hexeldev Год назад
@@RandomGuyyy ah good catch. I didn't even read your comment properly, you said "flag" not ball. I honestly didn't even think about it, completely forgot. Its funny because if I fixed the ball going OOB but not the flag.
@dailydoseofshtposts6891
@dailydoseofshtposts6891 11 месяцев назад
WoW just came across your video and I must say that youre such a underrated programmer my guy
@user-uk9er5vw4c
@user-uk9er5vw4c 11 месяцев назад
this man actually built a 3d engine in 24 hours, the day after just played with Blender and shadows. Remarkable
@ThomasTheCoolerVersion108
@ThomasTheCoolerVersion108 9 месяцев назад
bro went from an orange triangle to a 3d masterpiece
@GuilhermeTeres
@GuilhermeTeres 11 месяцев назад
Based. I do this stuff too. Subscribed!
@CLOUDEE33
@CLOUDEE33 11 месяцев назад
How do you only have 435 subs???? I subbed btw
@Dizzykitty817
@Dizzykitty817 11 месяцев назад
I... I need to learn openGL...
@cryptigo
@cryptigo 11 месяцев назад
Great video! I would recommend using GLAD instead of glew however, as glew is extremely old.
@efeloteishe4675
@efeloteishe4675 9 месяцев назад
No, it supports OpenGL 4.6 (latest) and works really great, glad is sh*t to get working while glew is just a simple library.
@cryptigo
@cryptigo 9 месяцев назад
@@efeloteishe4675 You are right! Sorry, I confused glew with glut for some reason. I like glad, it works well for me and i dont see how its hard to get working. Can you elaborate?
@OnyxIdol
@OnyxIdol 11 месяцев назад
I haven't worked in c++ in over a decade and this looks scary now
@orca1361
@orca1361 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
@@hexeldev alright, thank you
@khengari77
@khengari77 11 месяцев назад
A new jdh is born 😅
@samuelpope7798
@samuelpope7798 9 месяцев назад
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.
@mad4me
@mad4me 11 месяцев назад
I strugelled making a calculator in 48 hours and i still didnt finished it yet, and this bro just makes a freaking game engine like it was nothing.
@marco_martin
@marco_martin 15 дней назад
All the APIs compatibility with other systems really saved your ass...
@marcombo01
@marcombo01 11 месяцев назад
@CedricMartens what OS are you using? Linux? Just for curiosity
@hexeldev
@hexeldev 11 месяцев назад
Arch Linux
@alexrobbins2288
@alexrobbins2288 11 месяцев назад
This is incredible. Can you talk about how and why you used python as a wrapper around the c++ functions?
@hexeldev
@hexeldev 11 месяцев назад
To clarify, I did not use python as a wrapper for C++ functions. I created a 3d model of a terrain in blender, then exported a heightmap png from blender. Then I made a python script that calculates the gradient of this image and outputs the result as another png. Then Portable Par, loads this gradient image on startup and uses it for physics. So the python is a script to convert one png to another before loading in the game
@-yahya--
@-yahya-- 10 месяцев назад
so there's basically no python interpreter overhead at runtime. cool
@wildtom
@wildtom 11 месяцев назад
Do you use KDE plasma? also, do you have any tips for programming (I am self teaching my self c++)?
@hexeldev
@hexeldev 11 месяцев назад
Yes I am using KDE plasma. My best tip is just to practice a lot (do hobby projects)
@wildtom
@wildtom 11 месяцев назад
@@hexeldev thanks, I also use kde plasma, but I use Debian
@randith87
@randith87 10 месяцев назад
This is super cool. My question is, how did you know that those were the steps to make a game engine? I really want to make one for a 2d sandbox game, but I'm stuck.
@hexeldev
@hexeldev 10 месяцев назад
I had taken a computer graphics class at university and I had already done some small projects with opengl. I used the khronos doc and learnopengl.com as references
@randith87
@randith87 10 месяцев назад
@@hexeldev Thank you.
@kulwindersingh-gc4bh
@kulwindersingh-gc4bh 10 месяцев назад
Great Man where you learn this
@hexeldev
@hexeldev 10 месяцев назад
learnopengl.com
@Danonasss
@Danonasss 11 месяцев назад
Unity fan: Linear algebra enjoyer:
@alebud1403
@alebud1403 Месяц назад
6:47 this how is called the app?
@infas_mhd
@infas_mhd 11 месяцев назад
Real Programmer not just a frame work toddler... Hats off sir❤
@thekonfa
@thekonfa 11 месяцев назад
He still used libraries instead of writing EVERYTHING from scratch like a real prehistoric ape would do
@infas_mhd
@infas_mhd 11 месяцев назад
@@thekonfa Bro, so you want him to code in 0s and 1s? He is doing better coding than using frameworks, like ReactJS and libraries on top that for event just waving hands. Btw I think you have no idea what it feels like to use OpenGL.
@thekonfa
@thekonfa 11 месяцев назад
@@infas_mhd, bro it was obvious satire, read the second part of my comment.
@flameofthephoenix8395
@flameofthephoenix8395 9 месяцев назад
​@@infas_mhdNo, of course he didn't want him to code in 1s and 0s, that's ridiculous! He wanted him to create it using his own hardware.
@XENON2028
@XENON2028 6 месяцев назад
​@@flameofthephoenix8395 bro is out there collecting sand for his next video where he makes his own computer from silicon
@pytipssmle1970
@pytipssmle1970 10 месяцев назад
kde plasma lets goo!!!
@7Dev.
@7Dev. 11 месяцев назад
Arch❤
@sucbsakulmehi4261
@sucbsakulmehi4261 10 месяцев назад
Idk if u were trying to make a pun with those “Future” words. Daft Punk ref? Awesome job btw
@hexeldev
@hexeldev 10 месяцев назад
No reference intended haha
@sjb8178
@sjb8178 11 месяцев назад
this is beautiful... im actually crying. now make couter strike 1.6
@otso648
@otso648 11 месяцев назад
"I use arch btw" :D
@lloydbush
@lloydbush 10 месяцев назад
"Unfortunately it didn't immediately work, so I had to spend some time solving the bug. But then it worked." - every programmer ever
@m_mdi0
@m_mdi0 9 месяцев назад
Can you tell me where you learn opengl? is there good source for learning??
@hexeldev
@hexeldev 9 месяцев назад
learnopengl.com
@m_mdi0
@m_mdi0 9 месяцев назад
@@hexeldev thanks bro👍
@Simpfey
@Simpfey 11 месяцев назад
I got a simple question, what os are you using in this video?
@hexeldev
@hexeldev 11 месяцев назад
Arch Linux
@Simpfey
@Simpfey 11 месяцев назад
@@hexeldev Yea I posted the Comment and 2 seconds later I got the answer :)
@Fasyle
@Fasyle 11 месяцев назад
Those shadows tho.
@st4ndby
@st4ndby 9 месяцев назад
And here am I, struggling with collision algorithm 😂
@highjoyjackio
@highjoyjackio Год назад
what a video
@jeffmccloud905
@jeffmccloud905 11 месяцев назад
it's a weird thing about game dev that so many are willing to just waste their time with no expectation of ever making money. Imagine thinking "I want a website for all my cat photos. I need to build a browser first".
@nyssc
@nyssc 9 месяцев назад
I am that kinda guy.I built my own browser with qt, web server with my own socket library and thread pool in c++, and also made myself a website to stare at and just feel absolutely happy about it when all the things are working just fine
@gamertech4589
@gamertech4589 11 месяцев назад
can make small serries on making game engine. simple feature 3d game.
@naptimusnapolyus1227
@naptimusnapolyus1227 11 месяцев назад
I use arch BTW and I felt it when they said make it on windows 💀
@hexeldev
@hexeldev 11 месяцев назад
thankfully my friend is a windows expert
@GD_good_
@GD_good_ 10 месяцев назад
from the beginning you sit and think about what you will write and then what you will come up with (game idea)
@Kae____
@Kae____ 11 месяцев назад
Makes a game from scratch in two days Names it PP Refuses to elaborate Legend
@ryanshea5221
@ryanshea5221 11 месяцев назад
How many years experience do you have with C++ and OpenGL?
@hexeldev
@hexeldev 11 месяцев назад
For opengl, I basically just took an undergraduate course in computer graphics + a couple minor projects. In that course, we did everything you saw in this video, so I was already familiar. For the C++, checkout my other video
@jumpergamer1913
@jumpergamer1913 11 месяцев назад
I extracted the zip file of the game on a folder called game of the century, the experience was as follows I used my wits to try to predict where the ball would land and after three of those I let the flag go out of the map and the game crashed, 10/10 would unzip again
@AOTONOB
@AOTONOB 11 месяцев назад
This man just created his own game engine (in 24 hours) while I’m having tough times just to learn Python basics
@abdou.the.heretic
@abdou.the.heretic 10 месяцев назад
He probably has +10 years experience in previous endeavours.
@IsaacDyck-cs8iy
@IsaacDyck-cs8iy 9 месяцев назад
What operating system does he use? Really cool
@hexeldev
@hexeldev 9 месяцев назад
Arch Linux
@swapnildeshmukh5900
@swapnildeshmukh5900 11 месяцев назад
Which version of operating system you use?
@hexeldev
@hexeldev 11 месяцев назад
I use Arch Linux with KDE plasma
@swapnildeshmukh5900
@swapnildeshmukh5900 11 месяцев назад
@@hexeldev ok
@bruhnah4life
@bruhnah4life 11 месяцев назад
I thought you were using android studio at first the UI looks the same😂
@amlan9120
@amlan9120 10 месяцев назад
BRO, did u go the game school or something? Where did u learn the physics? I knew those math equations but didn't knew they can be applied like that. It was really cool how a single equation define a whole behaviour. 😍
@hexeldev
@hexeldev 10 месяцев назад
I have a bachelor's in Software Engineering
@amlan9120
@amlan9120 10 месяцев назад
@@hexeldev oh, wow. I m pursuing bachelor in physics so, most of the math looks similar.
@suki4410
@suki4410 11 месяцев назад
Wow, now i am able to see how dumb i am. Thank you!
@suki4410
@suki4410 11 месяцев назад
Btw. if you know Qt or want to learn it, you can jump right into development of pencil2D, which needs an experienced coder, at least for some weeks. You are on another level!
@mhm6421
@mhm6421 11 месяцев назад
How can making your own game engine help?
@hexeldev
@hexeldev 11 месяцев назад
it's fun
@Ismail_Al_Sayah
@Ismail_Al_Sayah 5 месяцев назад
The level that i want to reach
@ojasneelabh2599
@ojasneelabh2599 8 месяцев назад
as a beginner, this is terrifying me
@deadsi
@deadsi 18 дней назад
Not really, you can pretty much copy and paste bits and pieces and stitch em together into a game of sorts in very little time. It's once you want to expand your game to have multiple levels and objects with different properties and menus and so on that it gets a lot more complicated, cause you have to organise everything
@lars-xi2re
@lars-xi2re 2 месяца назад
can i get the game engine
@hexeldev
@hexeldev 2 месяца назад
the GitHub link is in the description, the engine is highly coupled with the game though
Далее
Dear Game Developers, Stop Messing This Up!
22:19
Просмотров 696 тыс.
I made a better Ray-Tracing engine
17:38
Просмотров 248 тыс.
🤔
00:28
Просмотров 1,2 млн
Maybe i need to add instructions @popflexactive
00:14
2000 HOUR 2D Game Engine! // Code Review
32:01
Просмотров 80 тыс.
I'm FINALLY a Game Dev!!
11:58
Просмотров 2,6 тыс.
3 Months of Game Programming in 20 Minutes
20:32
Просмотров 595 тыс.
Introduction to shaders: Learn the basics!
34:50
Просмотров 304 тыс.
Giving Personality to Procedural Animations using Math
15:30
I Made a Graphics Engine (again)
8:27
Просмотров 163 тыс.
Здесь упор в процессор
18:02
Просмотров 394 тыс.