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.
@@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...
@@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.
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!
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!
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.
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
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
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
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.
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!
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!
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!
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 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.
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
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
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
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!
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 Yeah the ball bounces ok. But if the flag is moved outside the terrain it crashes. Excellent work though especially within the jam timeframe!
@@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.
@@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?
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.
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.
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
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.
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
@@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.
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".
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
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
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
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. 😍
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!
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