my friend in class told me that he wants to learn in rust , by the time he told me that i was interested in C. Few months later he didnt even download the rustc compiler and i started building my engine. He asked me what am i doing after school , i told him that im working on my engine, he laughed and told me that i am not going to make next version of Unreal Engine (which lets be honest their way of doing some things is just bleh), i told him that my goal isnt to make game and publish it (even tho i would love to go away from the "dev projects" to a real shipped stuff), my goal was to just learn and do the code right, do the build system like "pack and go" type of style ( i dont download prebuilt libs, i have the source code of the libraries built along the project + i self host git with gitea in docker cuz aint no way i want my project to be in control of microsoft with github.). Then i asked him what is he going to do.... "I will go home and play dota and sleep". But i am the stupid for trying to create something i guess.
@lowlevelgamedev9330Ай бұрын
most chad person here, it is insane that you learned all of this things in only a few months and that you have such cool mentality like learning and also the libs stuff💪💪 good luck with your engine and don't worry about others, you can tell them I personally told you that you are cooler than them 😎
@martinjakabАй бұрын
Te be honest, I'm thorn between C and Rust, because I love C for it's simplicity, but also find the lack of proper package management, features like pattern matching, and borrow checking kind of discouraging. I mean, I love C until I have to build somethong bigger in it.
@Ghorda9Ай бұрын
@@martinjakab use C++, inheritance can help simplify things. just don't go overboard with it
@_.Infinity._Ай бұрын
That's their way of saying " I can't do it, so you can't either." Pay no heed to him and do your thing.
@rnts08Ай бұрын
Easy, you win
@nein9420Ай бұрын
Telling somebody that they limit their learning potential by not using an engine is wild. This is probably obvious but by increasing the depth of your knowledge you gain a proper understanding of why and how something works and you will be able to debug more easily. Yes, you will be less productive, but in my opinion the knowledge gained is more than worth it.
@alexale5488Ай бұрын
Because everyone uses game engines and assets store new games look alike, run poor and are boring
@lowlevelgamedev9330Ай бұрын
yes, I think he thought there isn't much to learn there and that's even wilder :))
@insentia8424Ай бұрын
Honestly, for a simple game.... you will be less productive trying to learn an engine to make it. Learning a simple framework will let you make the game quicker. In higher quality. And let you learn more on top of all that.
@adamrushfordАй бұрын
I appreciate the testimonial long live AlmondEngine
@santitabnavascues8673Ай бұрын
Game engines are made in c++. From my point of view, having 'no engine' just gives you the space to make everything you want because there is nothing limiting you.
@zoeherriotАй бұрын
AAA Game engine dev here. In all seriousness, if you want a job in the games industry - you need C++ and you need to have a pretty decent idea of how to write game engine code. Make a portfolio of projects, games, renderers, audio engines etc. Whatever it is - but make just make it. Do use engines - you need to understand the problems they solve. But custom engines are still a (big) thing in the games industry - and even if a studio isn't using a custom engine, I've seen studios rewrite Unity's renderer, and I know most UE studios will eventually have to add features / plugins or fix engine bugs in UE. If anyone tells you not to use C++ - ignore them.
@lowlevelgamedev9330Ай бұрын
thank you for the comment bro 💪
@mjfortnite9243Ай бұрын
Currently I'm learning and using ue5 for my graduation project after that I'll go deep with C++ and making low level stuff, thanks for your advice!
@JamesKelly89Ай бұрын
It seems like the entire industry is consolidating onto UE5. This is somewhat disappointing as it seems that using inhouse engines encouraged more out of the box thinking.
@Im_The_OverLord10 күн бұрын
Hello, i am learning to become a dev of applications multi platforms studying java and c# but my always goal is to become a game développer. I would appreciate some guidance to start learning the needed stuff to become a game dev. I hope you answer me. And accept to guide me little bit. I am seeking for knowledge.
@Alche_mist9 күн бұрын
That's why UE is source available - the smart people at Epic know that when making big projects, people WILL inevitably have to make some custom changes to the engine itself. They make sure the devs can (while Epic keeps their market powerful position with the engine itself).
@xbmarxАй бұрын
Writing an engine helps you even if you end up using a commercial engine later. I wrote several toy engines in the past. Now I am using Godot, not by choice, but because my team wanted to. All my experience writing my own engines in the past helped me see what Godot was trying to do, I was productive in Godot in like an hour, meanwhile everyone else was struggling lol.
@SnakeEngineАй бұрын
Which professional company is using Godot? Sounds cool, but also not very serious.
@TankLCDxАй бұрын
@@SnakeEngineAll it takes is a good game coming out of it for it to be considered serious
@nicolaspace1182Ай бұрын
@@SnakeEngine Mega Crit is using Godot to make Slay the Spire 2.
@ultimaxkom8728Ай бұрын
@nicolaspace1182 Note: Unity's run-time fiasco made them run-away.
@SnakeEngineАй бұрын
@@TankLCDx They probably have then a professional engineer dedicated a full time job for exploring and bug fixing the engine. In that case, I can imagine how it is used for serious business.
@CinarbayramicАй бұрын
the only problem is finding time for it especially if you have other responsibilities too
@h2_ail44Ай бұрын
very true
@insentia8424Ай бұрын
Unless all your time is already spent on your responsibilities and necessities to survive, there is always time you can make for it. Now, whether you want to repurpose that time is a different matter, but then the issue isn't a lack of time, but whether you actually care enough about making games to use your time for it.
@GamingForLifeGFАй бұрын
That's my main problem too. Right now, I am trying to build my Medium account and a gaming KZbin channel for the future as a side income just in order for me to be able to quit overtime in the long term. And after that I will continue with my other plans and continue to build another KZbin account. And slowly build my freedom and my exit to do the "Quit quitting".
@JaceFuseАй бұрын
I used to believe this, too. I finally solved it by not being hard on myself based on the "amount" I get done every day. Even if I don't get something done every day, I make it a point to at least look at what I've done, and try to do at least one thing no matter how big or small. I find that if I sit down to do at least do one thing, more often than not I end up doing more. And if I don't that's fine, too. As long as you learn something every day you gradually become better than you were. You progress even if your project doesn't.
@TheCommunistRabbitАй бұрын
Close the KZbin
@vncntjms0Ай бұрын
"I took the one less travelled by, And that has made all the difference." - Robert Frost
@CastleReneАй бұрын
C++ Indie devs will one day be recognized, trust me.
@ProfShibeАй бұрын
@CastleRene what are you talking about? those are the people that end up writing everything that everyone else uses. theyve never been "unrecognized" lol. Companies know that
@CastleReneАй бұрын
@@ProfShibe Well, I'm just saying maybe one day it'll be a more popular choice to make a C++ engine from scratch than use somebody else's.
@What-he5prАй бұрын
What's complicated is the garbage you have to write using unity or unreal. You are a hero.
@lowlevelgamedev9330Ай бұрын
thank you 💪💪
@tnt3tАй бұрын
Bro chill
@Cactusman-e1dАй бұрын
Right I feel like you spend MORE time just learning how to use a tool. To make something than you do actualy just making the thing your wanting to create.
@What-he5prАй бұрын
@Cactusman-e1d exactly
@bryanedds8922Ай бұрын
top truth.
@peter8261Ай бұрын
Dude the lighting in the minecraft clone at around 1:45 was really good. That was shocking.
@lowlevelgamedev9330Ай бұрын
thank you 💪💪
@peep25100Ай бұрын
What I see as a plus in C++ is that there is a lot of legacy software out there. And there will be definitely many things I can take over from making a simple game to writing a code for 20 years old industrial machine that needs a new sensor to be coded in.
@lowlevelgamedev9330Ай бұрын
hm those kind of things will probably be written in c, cpp is used tho for a lot of nowadays software, the servers and services for google are written in cpp for example (the heavy and important parts at least), and also other languages but there is a lot of cpp there for sure
@Henry-sv3wvАй бұрын
Arduino uses C++
@compsciwins-p4dАй бұрын
I am still tryin to make my own engine but ppl discouraged me thank you I will keep going
@RodrigoSpacecppАй бұрын
Building a game without an engine (a framework is ok) teach us the fundamentals of how games works behind the scenes, letting us solve problems faster and in more efficient ways. I have seen the source of a few small games made using a engine and they are often a huge mess, exactly because the devs didn't really knew what they were doing, resulting in a software full of bugs, poor performing, and hard to mantain.
@mastaone26 күн бұрын
a framework like pygame ?
@eternalnerd_Ай бұрын
Finally, someone who tells it how it is. I am so tired of seeing C++ gamedev youtubers boast about how difficult it is. That mindset is so harmful to beginners, because it increases the intimidation factor 10 fold. Love your videos man!
@josephbrandenburg4373Ай бұрын
Difficulty is, in general, a myth. People never have more than a certain amount of time to dedicate to learning something. But lots of people can do things well and many people can do lots of things well. Basically if some other chump could do it, you can too. You just have to find stepping stones to get there a little bit at a time. It seems difficult if you try to jump there directly. But all the individual stepping stones the other guy took to get there were easy.
@maroofshah3276Ай бұрын
This is a reassuring video. I decided to focus my learning efforts in C programming because I'm interested in low level programming but was worried about if I should be spending my learning time on other things, but I'm sure now that I want to focus on C and then eventually move on to C++
@clray123Ай бұрын
Learning for fun is usually different from learning to obtain a marketable skill. For example, I learn game programming for fun, and I earn my living with enterprise databases. It is important not to confuse what the market demands with what you find amusing to learn.
@maroofshah3276Ай бұрын
@@clray123 Yeah youre right. The main reason I was worried is that, as how I have just begun my course, im still far away from a job, so its not like I have any stable income or anything yet. But going to continue down this path for fun while doing my best on my degree
@trentcox9239Ай бұрын
this perspective is right up my alley. well done mate for sticking to it. ive personally become incredibly disenfranchised with the global dev community as of late. we've become an over-glorified pack of third party junkies. just composing together a never ending pile of third party packages in the interest of shipping quickly and often we've lost sight and scope of what it meant to be a genuine problem solver. the 'why make it? library 'x' already does it' attitude is creating more lego builders and less developers in my opinion...
@kidmoseyАй бұрын
After 20 years and a few dozen times rewriting a game engine from scratch, I've gotten to the point that I struggle to make a game without creating an engine first, and it's almost always the same engine. Now I just use Godot, but I sometimes miss just architecting the engine.
@mohammadzaid7429Ай бұрын
Hey man can you drop some resources on that
@kidmoseyАй бұрын
@@mohammadzaid7429 The best one I've seen lately is a series from TheCherno on youtube
@cweasegaming2692Ай бұрын
Here's the problem I am facing. I like C++, AND I want to make games for a living one day. I don't like game engines like unity, godot or unreal (I've given each a fair shot), but I worry I may spend too much time reinventing the wheel (also, I don't like raylib either lol).
@insentia8424Ай бұрын
Try looking up handmade hero. He shows how to do stuff, from the ground up without using any libraries at all. It might help you reinvent the wheel quicker. As for your worries spending too much time reinventing the wheel: As long as you are not reinventing algorithms for well established problems, you aren't spending too much time. You are investing time going slowly at first to go quick later. And on the case you are reinventing algorithms... that will be valuable experience for once you encounter a problem the common solution don't work for, because some nuanced condition makes them not viable. Basically, spend the time you spend worrying about it by doing more work on/thinking on how to advance your project(s) instead. Because that time... is definitely being wasted.
@alexale5488Ай бұрын
How can you not like Raylib what ?
@cweasegaming2692Ай бұрын
@@alexale5488 Simple: I don't like it
@giovand6354Ай бұрын
Raw dog OpenGL my guy
@AliceErishechАй бұрын
@@cweasegaming2692 I think they were hoping for an explanation of why you don't like it rather than you simply repeating what you already said. If you were to explain why you don't like it, you might just give someone else an important insight into something that they hadn't considered before.
@C_CorpzeАй бұрын
As someone who does use game engines, hearing that "not using a engine limits your learning potential" blew me away because even I know that making things from scratch makes you learn a lot. I stick to engines typically because I want to focus on game making and not re-invent the wheel but I've entertained (and tried) doing graphics rendering in different languages. I didn't succeed but I did learn a lot from it.
@GenericInternetterАй бұрын
Thank you! I feel like I've been searching for this video for years! Excellent info, subscribed!
@zockerwelt4936Ай бұрын
that's so true. I'm programming for a really long time and I still love to use scratch. It's kinda like C++ where you make the physiks by yourself, tile engine and sometimes even graffic rendering.
@AlexMG54Ай бұрын
I think the stigma against making your own engine is dying off now that people really saw the danger of being a slave to a commercial engine's license terms. And C++ is now easier to use than ever, and there's a ton a very useful open source libraries for every game system that can get you running in a day with a good amount of those having friendly licenses (not all for sure). Also having access to the full source is so useful, I've worked Unity jobs for many years and it always came to trying to hack around the black box trying to get it to do something custom.
@nedmurryАй бұрын
I agree with the idea at 3:20, but measuring a projects worth in lines of code isn't always indicative of it's learning value. For example, I'm working on a simple interpreter in Go which isn't even 500 lines yet, but I've still learned heaps and have a functioning project.
@TyGadzieTYАй бұрын
Good video :D Maybe I will try create game in C++, but right now want to finish my first game in UE ;) Maybe I will back to this video and channel in February when my first game will be finished :)
@rmt3589Ай бұрын
Ppl who think C++ will be replaced are goofy.
@lowlevelgamedev9330Ай бұрын
goofy ahh developers 💀😫
@JonathanEngels-g6pАй бұрын
People who say AAA games can be made 100% by blue prints is like saying I can write an OS in scratch
@rmt358929 күн бұрын
@JonathanEngels-g6p Can, vs will. I believe Scratch is Turing Complete. But I doubt anyone will ever make an OS in Scratch. If they ever do, it's just to prove a point, and probably will be a terrible OS. At least use something like HolyC.
@JasonChampionGamedevАй бұрын
Thank you for the reminder. I really enjoy Unity and Unreal, but some things are overcomplicated. Before making games I worked professionally in C++ and this is a great reminder that a certain 2D project I'd ike to do but dread doing in an engine would be FAR simpler to build with C++ and SDL.
@DynestiGTIАй бұрын
Currently learning OpenGL (GLFW) in VSCode, finally able to render TrueType text using a texture atlas to display an FPS counter, moving an object with the keyboard and making input independent of frame rate, V-sync, and screen recording with FFmpeg. Just this seemingly basic stuff took so long to implement, the learning was a massive uphill battle, getting all the dependencies, header files and static library files linked was a nightmare, and the debugging was painful, but in the end it feels much more useful and I feel I’ve learnt way more than had I used an engine.
@sushiConPorotosАй бұрын
The good thing of knowing how things work under the hood is that when you use high level langs/frameworks you really understand what you are doing, you are a much better programmer. People who do not know the math involved here and/or the low level implementation details have no a clue what they are doing.
@creepermods464120 күн бұрын
Yeah it's not. Fun fact: *Fixing & Finding* bugs are not a joke.
@TryboBikeАй бұрын
I am 60k loc of C++ into my own game engine I wrote in raw vulkan. That includes my own matrix algebra lib and a functional windowed UI. Doing it is like accelerating freight train - at first it is hard and progress is slow, but as features and systems get added, it starts to take shape pretty quickly. After a year from writing 'main' I now have a complete content editor and now am implementing actual game systems.
@AzureBeornYTАй бұрын
I use zig for my, still very early in development engine but I 100% have to agree, the skills you learn will help you learn a lot more than just running Unity or Godot since you also learn how each engine feature works under the hood, it helps that engine dev is also pretty fun
@lukebierbaumАй бұрын
Super valuable advice. Good managers would hire someone who has built a game using an engine, but great managers hire people who have built their own game engine (even if more simple) from scratch. It just means you understand what goes into the game engine, rather than just being able to use one. Then when you run into problems just using one, you understand the background processes and could likely debug way faster.
@VisniiАй бұрын
I work fulltime as a webdev and I'm trying to be a fulltime indie dev, so its take a lot of my free time, unfortunately I have to use an engine to maximize my productivity and realease small games while I cant afford a bigger game, but I do mess around with a little cmake and c++ whenever I get more time, untimely I want to be onwer of inhouse products and making my engine is the way
@Calbac-SenbreakАй бұрын
I've identified myself with your path. Good luck, bro! Also fulltime webdev, also have this dream.
@lowlevelgamedev9330Ай бұрын
it is very hard to succeed in gamedev I'll tell you that but good luck bro 💪 also you should probably also do yt or something so people can see your games
@hammadnadeemxАй бұрын
I agree. I miss the old days when every game studio had their own game engine !
@maximumeffort1689Ай бұрын
I kind of want to make my own game engine using c++ and opengl, i just think it would be a massive flex and really cool to make your own way of doing things.
@TheCommunistRabbitАй бұрын
Instead of jumping in head first, you should first learn making a game using a regular graphics Library like raylib. Once you understand how it works you can make your own using opengl
@lowlevelgamedev9330Ай бұрын
yes that is true, but you should also make a game from scratch with it or make a game from scratch first as the other comment here says, because you will make a better engine like so
@maximumeffort1689Ай бұрын
I've spent the morning learning raylib, I'm making snake with it and I'm already making notes on how my engine will do rendering, once I've finished my game in raylib, I will try to make a basic engine that can make simple games like snake and pong.@@lowlevelgamedev9330
@deadshot9640Ай бұрын
omg tysm for this video i need it soo much
@stanleyparksАй бұрын
I've made all my games from scratch and everything has worked out for me! Knowing how game engines work is invaluable and it isn't something you can learn through just slapping together pieces in Unity or Unreal. +1 to all solo engine makers!
@dsuess9 күн бұрын
The person saying, "limiting learning potential" for creating your own game from scratch. They're limited themselves. Good for you!! As lead architect for devices used for rehabilitation, medical robotics, IoT, etc. we use C and C++ A LOT!
@lowlevelgamedev93309 күн бұрын
thank you for your comment it's great to have people confirming what I say here 💪
@luisgarces13356 күн бұрын
Hello there! Im just starting to program game things with C++ and SDL... But I have many knowledge about C++ in desktop dev, nice videos bro
@LuisCassihАй бұрын
my issue is not how difficult is, but how long it takes to do something, even if you taking already designed patterns or include existing libraries, it still takes so much work to make something that is already included in a major engine. I guess aside from the scope of the game you're intent to make, it depends on if you want to make games or you want to learn graphics programming.
@ProfShibeАй бұрын
it depends on your priorities. If you just want a game to be out the libraries/an engine will be 10x better. If you want to be highly competent and enjoy low level stuff, you have to take the path everyone else has already taken on your own. But it pays off far more.
@MrAbrazildoАй бұрын
Finally somebody said everything I think about this. When I code in C++, the challenge is the project, not the language.
@sledgex9Ай бұрын
For the video I gather that you're simply a C++ masochist. Welcome to the club.
@lowlevelgamedev9330Ай бұрын
😂😂 lmao It's not even hard to code in cpp
@sledgex9Ай бұрын
@@lowlevelgamedev9330 That's what a C++ dev would say! lol PS: I had taken ~2 weeks break from C++ and I coded in another language entirely. When I came back, C++ syntax horrors hit me like a brick wall.
@olszabpoАй бұрын
@@lowlevelgamedev9330 sounds like something that C++ masochist would say
@black_crestАй бұрын
@@lowlevelgamedev9330 You probably have this perspective because of years of coding in C++. Imagine the people who just discovered for loops in python and try to learn what a class is in C++ lol.
@G.PadillaАй бұрын
So you're a real GameDev. Subscribed, looking forward to learning C++ from you
@lowlevelgamedev9330Ай бұрын
💪💪
@ramoncf7Ай бұрын
I agree that making a game engine is not a requirement to make a game, neither it will be better because of it, but as you've said, someone has to learn how to make a game engine in order to improve existing engines or creating new ones, and making a game from scratch is a good way to learn the basics, and there are dozens of libraries if you want to skip parts like the physics or networking.
@cheesepop7175Ай бұрын
C++ and Easy should not be used in the same sentance.
@aswinaswin5672Ай бұрын
My intersect is also same as u. My plan for right now is to make 2d games using c++(custom engine). Iam very very sure that with enough experience we can easily able to match the commercial engines in 2d. As far as 3d is concern, i have no idea apart from the basics. But i really to go into 3d games. I guess that in future i will be able to go into 3d also.
@MrAlus3Ай бұрын
"it will be replaced by rust" People who are in the industry less that 10 yrs think that this is first Cpp killer. In next 10 yrs we barely will remember Rust.
@growwithanshumanАй бұрын
Maybe not, I think rust will be the future soon
@sledgex9Ай бұрын
It's not about if it or if it isn't a cpp killer. Even if it is, there's so much C++ code out there that it will take a very very very long time to replace it (if ever). It hardly makes economic sense to re-write projects in another language if they already work with current language. Also new projects might stop using C++ altogether (unlikely) but old projects will not vanish into thin air either.
@What-he5prАй бұрын
C++ will just assimilate Rust like it has other languages.
@growwithanshumanАй бұрын
@What-he5pr yes I'm been watching over , maybe safety be coming soon in C++
@h3l_lАй бұрын
both c++ and rust have weakness points and strength points, there are always use cases where c++ will be better and the other time rust might be better. rust is just fresh and it doesnt make sense to guess if it's going to be better than a language born a lot earlier
@arcado5783Ай бұрын
For me there is only one excuse why I still use Unity. Sometimes you want to protipe some abscure shit, like, for example, minecraft terraian generation but using cellural automatos and while you still have motivation to write this stuff it's better to spend your time on realising algorithm nether the setuping 3D scene using openGL. Also it's where cool to have posobility to inspect your game from other angles and tweak varibles in run time from editor. But, let's be honest, you need that stuff to balance and make your game fun, not to write it right
@JArielALamusАй бұрын
A dev that sticks to only learn how to use tools like Unity or React, will almost always get stuck when facing a problem that requires going outside the comfort zone of their chosen tools. Performance optimizations, silent failures in the build system that introduces failures, bugs that require knowledge of internal work to understand why they happen and how to fix them, and so on. It is good to always invest in knowledge we can transfer across our tooling
@lowlevelgamedev9330Ай бұрын
true words spoken here 💪💪
@isaiah3613Ай бұрын
I will never regret not starting game dev learning without an engine
@lowlevelgamedev9330Ай бұрын
you used 3 negations I don't really understand 😂😂
@isaiah3613Ай бұрын
@lowlevelgamedev9330 correction I don't regret starting game dev by using pygame
@isaiah3613Ай бұрын
This is why i like using pygame i definitely learned more when i was using that instead of godot but man i just really needed a good way way to get into multiplayer development and godot's got a really decent multiplayer integration with steam
@madeautonomousАй бұрын
I'm stuck in Python, but to advance my career in robotics I really need to brushup my C++ skills!
@n3yАй бұрын
COBOL is specifically designed for its purpose unlike the kitchen sink that is CPP 2:06
@hadeftnАй бұрын
Good video as always! I have a question do you use Object oriented C++ or do you code in a C way but using C++ ?
@Picolinu1Ай бұрын
I loved your channel's Logo 👏👏
@kemsatofficialАй бұрын
I kind of assumed that even if studios use UE5 they would still customize it/rewrite parts of it to fit their game. So, knowledge of both UE5 & C++ would still be required.
@ebxАй бұрын
If you like programming and want to learn a lot of stuff, while also trying to make a game, working on your own engine is a great thing to do. If you wanna **just** make games, I wouldn't recommend it though. Remember, the user doesn't cares about how you make the game, but rather what you make.
@alvpjhАй бұрын
C++ is the freedom to do it (easy or difficult) as much as you want
@hannahlamond7710Ай бұрын
I feel like the reason why people think you're wrong for not using something like unity or godot, is because they're thinking of it in the context of just "making a game" and not learning how rendering works and not learning the many great techniques and skills you learn from doing it at a lower level and implementing your own optimisations and stuff
@Felix-attАй бұрын
Best. Keep it up bro
@daniellindforsbernholm3682Ай бұрын
Always had an interest in DIY game dev. But after I noticed that all games made in Unreal Engine 5 is basically unplayable in my current setup (even games that looks shittier than ones made 10 years ago) I'm starting to believe more and more that we actually need developers making things from scratch to keep up the knowledge and innovation at the engine level up and to have something to compare the quality of the big engines with.
@lowlevelgamedev9330Ай бұрын
thanks for your comment bro 💪
@BobChessАй бұрын
I love to deep down. I would love someday I could try to make a game in assembly.
@simerostudiosАй бұрын
to me it seems like a lot of the time, it's easier to make your games from scratch instead of using a game engine because you have more control over problems with the game
@skygradient6248Ай бұрын
People will forever want to bring other people down to their level. As you pointed out, being able to understand the things that go into making something like Unreal Engine makes a person more valuable than just using Unreal Engine. We've already reached a point where things are so bloated it takes a PC space heater running on 800W of power to do what should be possible in 200W or less because everyone's just trying to make generic tools for people who have no technical background.
@CastleReneАй бұрын
I know this feeling so bad, though! If someone would just kindly tell me what I need to know, I could make wonderful things.
@matthieu875Ай бұрын
c++ will never be replace and i would argue than if you a cs student c++ js python and java are the most important to learn
@mila-d5bАй бұрын
useless
@luigiistratescu2756Ай бұрын
Making a 2D terraria-like game is by no means easy. The AABB collision requires a lot of tuning. It's not the usual "if maxX > minX and ... etc.", you have to take into account the last position, and then you have to take into account jumping near a wall, if you jump diagonally and you hit the edge of a wall, you must disable last position temporarily so that you avoid getting stuck, etc. There's a lot of tuning that goes into a 2D game. Calculating the radius to engage/disengage enemies, creating dynamic spells, etc. is easy conceptually or it might seem easy conceptually but in practice it requires a lot of thought and effort. I speak from experience.
@lowlevelgamedev9330Ай бұрын
I agree with you but I think people cam start with such a project and solve this big problems one by one eventually 💪
@luigiistratescu2756Ай бұрын
@@lowlevelgamedev9330 That's true, low level programming as opposed to using an engine is more straight forward as it forces you to be aware of all details and build everything from the ground up. With an engine however things can get harder as you have to glue your code to the engine's functionality/editor and that takes a long time to learn. Nice vid.
@vycdevАй бұрын
I'd say that it really matters what your goal is, if you want to make a game engine in C++, you're better off not doing it if it's not for the right reasons. I think there is a clip from Pirate Software on the same topic.
@lowlevelgamedev9330Ай бұрын
good points bro 💪
@TheStickCollectorАй бұрын
My problem is that I do not have (basically) any programming knowledge outside of one college java class and general knowledge, like that it reads the data sequentially. I know of some basic workings of the computers and how it works, but unless I learn something like BASIC, then it will take a lot more dedicated study of computer hardware in general before doing anything serious in my opinion. It would be nice to learn basically any C language (C for older video game consoles that use a c compiler, c# for unity, or c++ for low level or even unreal if I wanted something easier to start with), but I would ideally like to learn assembly for the compactness, 30+ year old consoles, and low-end hardware running more efficiently. Probably helps if you have the computer knowledge but not the language experience.
@DoctorMandibleАй бұрын
0:34 point of order, web dev can also be from scratch game development. You can write your own engine to use with html canvas or WebGL and this way you already have native networking and browser support.
@senkroufАй бұрын
Have you checked at Handmade Hero videos? You will levelup your c++ gamedev skills considerably.
@constantitusАй бұрын
Learning how to write the game from scratch is definitely the way to go if you care about the programming aspect of game dev more than the design aspect. But C++ isn't really the best way to do it, imo. During the little time I spent doing c++, I tried my best not to do what people nowadays call "modern c++" (extensive use of templates, embracing oop and the rest of the mess that is c++). You could say I mostly did C with just a few some C++ features. I think some of the new "data-oriented" systems programming languages that emerged during the past decade (no, not rust) would be much better suited (tens of times more pleasant to work it, after all, the joy of programming is the main reason we do this in the first place).
@RPG_HackerАй бұрын
That sentiment on game engines actually seems to be pretty widespread in the industry. I work for a company that still uses proprietary engines written in C++ to this day and has already made some great games with them, yet we still very commonly hear people ask "Why don't you use Unreal Engine 4?". By default, it seems people who don't know us yet distrust in our ability to succeed with custom engines. We've heard this question asked from some partners, but even from some government officials (upon requesting government funding). I think in the end, our games speak for themselves and prove that we're capable of achieving with our own technology what others are able to achieve with UE4. It's not even like I deny UE4 having its advantages. Quite the opposite, there's a lot of things that just work very well out of the box in UE4. If you just want to get started on prototyping a game, using a game engine like UE4 can be quite useful. Or if you just don't have the skill set or time to create your own engine from scratch. That's why game engines are so popular among indie developers. While I would agree that (from a coder's perspective) using C++ is not a lot harder than using an existing engine, I do still think it's (on average) a lot more time-consuming. On the other hand, custom engines written directly in C++ also have a lot of advantages that people brush aside just way too readily. First of all, they give you complete control over exactly what kind of game you're making. In existing engines, you usually won't get around using the tools that are there, even if they aren't the best suited for the job. Secondly, it's much easier to achieve great performance in your own engine written in C++. Not only because you understand it much better (and thus are more easily able to optimize code), but also because you only need to implement exactly the stuff you need for your game. Simply put, you're not paying the performance cost for features you're not going to use, anyways, which is a thing that you very commonly have to do in engines like UE4. If you're going to target low-level hardware in particular, I feel like a proprietary engine written in C++ is the only good choice. At least if you care about quality and performance.
@heimojaakonheimo238510 күн бұрын
OpenGL is easy to learn.
@umapessoa6051Ай бұрын
I highly disagree with the "it isnt that difficult" on the collisions, if you really want to make a game you'll have to avoid your way or checking collisions, by implementing this like a quadtree, spatial hashing, do things like swept AABB to avoid collisions tunneling and so on.
@charlesabju907Ай бұрын
0:52 and that is why we should not respect opinions. People pull those kind of statements out of their behinds.
@Nathaniel-d3iАй бұрын
I'm kinda doing this too, except with Rust. I wanna make a game, but also want to learn Rust for my career, and figured, why not do both? Learn Rust and make a terminal game to start. Then go from there.
@keras1618Ай бұрын
I may be being annoying but I'll comment anyway, as a big C fan and a C++ hater I recommend that you do your projects in Rust. Yes, the language can be very difficult to master the more advanced concepts but it is possible to use just with the basics. And there is nothing more satisfying than writing code and being sure that no unforeseen issues will occur at runtime because the compiler guaranteed that the code is bug-free. 100% of your time will be focused on the project and not on hunting down mysterious bugs.
@lowlevelgamedev9330Ай бұрын
I don't really think any compiler can guarantee that there aren't bugs :)) yes it may guarantee that there are no mempry leaks but the compiler isn't an ai that can tell you why your collisions aren't wprking properly for example lol. And I don't have leaks in cpp either so
@rift1067Ай бұрын
You mentioned that companies have an incentive (be it technical, monetary or something in between) to use their own engines. However, we are seeing a shift where giant publishers like CDPR are switching to Unreal for their future titles. I'd like to know what your opinion is on that. Personally, I feel like it's a double-edged sword. UE5 is definitely pushing the boundaries to what makes a good engine, but I feel that the games that have recently come out have not utilized the architecture to its full potential. It could be due to a need for shift in the philosophy of certain aspects of game development that would be needed to actually make use of these newer features. What's instead happening is that the developers are being very sloppy with their collective work. The end result is an unoptimized homogeneous experience. This needs to change. Either through developers fully embracing what UE5 has to offer, or by realizing that just slapping the Unreal tag isn't going to make their games automatically better - and that it would be more optimal for them to engineer a workflow that specializes in delivering the vision of the games in question. Both of those routes involve taking financial risks that most companies aren't willing to make. They're giving the general audience this fake perception of them pushing the limits by shifting to UE5, but behind that veil of false marketing it's all the same safe tried and tested traditional practices. It's a lose-lose.
@jewsefjonesАй бұрын
Love the vid i have horrid flashbacks of C++ mem errors, but this made me want to jump back in. Just for clarification you are telling folks no engine, just use my lib instead? I would be interested to know what libs you use, you mentioned opengl ( which was the case 20 years ago still the same?) what are you using for physics? Would love to take a look at your git if its publicly available. Keep up the good work!
@lowlevelgamedev9330Ай бұрын
glad to have tou back on my team 💪, I have my own libraries and stuff and I hage videos about them but my point is not for people to use them, but ratjer use any library or make their own 💪
@vergil49282 күн бұрын
I'm making a game in Godot and I really like how it is going, even tho it is in early stages of development, since I am learning pixel art at the same time. Should I switch to making it from scratch? Or should I finish it in Godot?
@tiborenyedi7001Күн бұрын
I think if you can market the game and it is fun and you want money from it you should finish it in godot. You should not throw away what you have already done. Anyway people will not pay more for your game if you make your own engine. Players will pay and play your game if it seems fun and interesting. If it fails it will not fail because you did not make your own engine. Also if it will be a success it will not be a success because of the engine at all because non technical people just do not care about it. They just see your game and if they can resonate they will probably buy and play it and hopefuly they will enjoy it and become part of your fanbase. You can still learn developing an engine after that if you want to really dig deep and become a great software engineer. You will have a finished project this way and avoid the likely burnout that comes with tackling pixel art, engine programming, and other challenges. But it is just my opinion and I have to emphasize that I keep engine programmers in very high regard because of their knowledge.
@vergil4928Күн бұрын
@tiborenyedi7001 I see, I don't really think I can earn some money with this project, even tho I'd love to, simply because of the country I live in (Cuba) if that wasn't the case I would follow your advise without much hesitation, but since I cannot currently make money with my game, in terms of knowledge gain, do you think I should switch to remake it without an engine?
@tiborenyedi7001Күн бұрын
@@vergil4928 I'm sorry about that. It is bad to hear when creative people are constrained because of the environment. If your goal is learning and getting the biggest possible knowledge gain you should absolutely try to learn how to build an engine. It can give you knowledge what you would never get while programming in an existing engine. Good luck, try to have fun and don't be hard on yourself if something is hard and also don't be afraid to research/look things up because you will probably have to.
@vergil4928Күн бұрын
@tiborenyedi7001 yeah, it's pretty awful, but well, there's nothing I can do sadly. I'll start remaking my game without godot then, I hope this gives me a ton of experience and knowledge, thank you very much for your advise :)
@hughjanes4883Ай бұрын
I was literally trying to figure out how to make my first c++ project with glfw when i got hte notification for this, i was fighting for my life in visiual studio when i get this smug notification telling me it wasent hard. I started crying immediately of course. Genuine question though, do you still use libraries like GLFW or GLUT in your larger projects or do you swap it out for something else?
@pokemonfanmario7694Ай бұрын
Generally GLFW and GLUT are pretty good for any level of low-level game development. Sure, you may have those guys telling you "use VULKAN it's more performant" but honestly? If you get a good system in place, OpenGL can get you anywhere. Plus, it looks really damn good on any programming portfolio.
@Solar_MessengerАй бұрын
The lack of clarity of some of these concepts online and YT is actually a slight blessing. It makes things harder but it also means less competition. The more "complicated" something is, the less the common, time wasters who want a good paying job rather than enjoying the field invade our market and saturate it. Spoon feeding and excessive abstractions have invited shortcut developers into our field. This is something low level game dev here doesnt do thankfully otherwise he could only be making Unreal Engine 5 videos and pulling many views for virtually nothing. If you're struggling just take time to find out what each function or concept does in the documentation. Maybe test it independantly in a small practice project rather than trying to use it in your main one.
@hughjanes4883Ай бұрын
@@Solar_Messenger So true, ive been using blender for a long time and going from every tutorial being 90% nothing and 10% stuff i allready knew to, actual useful information? crazy
@roryedmonds9415Ай бұрын
can hard relate to the nightmare that was setting up my first glfw project haha, this channel has some cmake setup videos that are helpful and you can also find github repos that come with glfw and glew/glad already setup which saves a lot of time
@lowlevelgamedev9330Ай бұрын
yess I use glfw, glut isn't really used anymore. I have a video called something like I linked all the libraries for you, you might want to check that out ;)
@eyesyt757120 күн бұрын
The problem I have is the lack of actual comprehensive tutorials.
@gorudonuАй бұрын
I'm not a game programmer but mobile dev, I wanted to make a game but everytime I want to write it I get bored because I need to drag and drop stuff in editor which bores me...
@TheSensei88Ай бұрын
This is interesting. I'm suscribing to your channel for later!
@bwabbel3 күн бұрын
I'm currently working on my very first game and i'm making a pygame based engine with python for it. Does it make sense from a efficiency standpoint? No. Is python a good language for games? It works but there are better options. So why? Because python is the language i know and i want to learn something. I started 2.5 weeks ago and i can confidently say that i've learned more about oython in just a few days working on this than in my 8 years of using python before that. That's already more than worth it, and it's doing the opposite of limiting my learning. In fact, i couldn't find the motivation to learn an engine like unity or ue. Nvigating endless UIs and watching tutorials for hours just to understand the features i need isn't my style. Reading through api documentations and coding the features myself is much more what i like
@lowlevelgamedev93303 күн бұрын
it doesn't matter its python, go for it 💪 the only problem with it is performance but not in the way people think, people think that they can just not care about performance and have a decent game but you can't have that in python. You will need to optimize some things to have the game playable, like for example you cant just iterate through a big 2d array. but this are tradeofs, you choose an easier language but you need to take care about some things
@Cactusman-e1dАй бұрын
For me learning how to make an engine, for me is for the challange and learning etc. That and because I get full control and do not owe fees towards companies or have to worry about them all the suden droping support or what have you. Plus to me building your own engine is what i feel like is what makes yoru game stand out from the TWO monoplostic engines out there..... aka unity and unreal that ALL the tripple AAA games are doing...... instead of making it unique by making there own engines..... etc. That and the experncince you get from it allows you to work in higher postions or work for your self over time.
@sachahjklАй бұрын
tldr: start from the middle out, not top to bottom
@rayujohnson1302Ай бұрын
I built a game in two weeks using c++ for my final project, no libraries except the graphics.h (some deprecated graphics library with very limited functionality).
@lowlevelgamedev9330Ай бұрын
I have no idea how you managed to make graphics.h work because I also tried but props to you good stuff, I like the simplicity of it 💪💪
@alihene2225Ай бұрын
There is no way my guy said not using an engine is limiting your learning 😭 dawg was jealous or smth lmao
@XanthumSАй бұрын
if someone is going to show me a game they made and they open visual studio I would be impressed as f, that is not a easy task to do.
@netking767Ай бұрын
saw you mentioned midnight arrow...so i went and bought it (it's on sale 70% off though)
@lowlevelgamedev9330Ай бұрын
thanks bro I hope you like it 💪
@AlexanTheMan4 күн бұрын
If someone genuinely thought that C++ is "useless", he needs to be taken for a ride...
@hagenzwostaАй бұрын
Could not agree more.
@treesdКүн бұрын
That judge, man. There is a big problem if we have judges like that directing future talents, that amount of idiocy in his statement is insane, we need a name, he cannot keep discouraging future talents like that, to become sheeple. Good thing you did not listen to him. I do disagree with one statement you made, "I do not want to be a gameplay programmer, but rather do more complex things". I would change that statement a bit, engines will CAP your ability to make gameplay, because it confines you to what we have right now, if you REALLY want to design new gameplay and push the bar you NEED to make your own engine. Designing new gameplay and pushing the bar IS complex.
@clray123Ай бұрын
This is not about games. Systems programming (using language like C/++ or Rust) is a different discipline than application programming (using a high-level language, or in case of games, a game engine). Most people who do system programming are not all that interested in applications. Most people who do applications are not at all skilled in systems programming. It does not hurt to know a bit of both, especially to know how engine works under the hood for troubleshooting of application issues, but realistically you focus on one area or another. And if you set out to write applications using a systems programming language, sooner or later you will find yourself implementing your OWN engine, thus wasting effort and potentially quality compared to what dedicated engines are already capable of.
@dragonalong6860Ай бұрын
Rust isn't even a contender to replace C++. Zig and Odin are.
@zoeherriotАй бұрын
Not sure about that. The thing is, MS is rewriting a lot of core systems in Rust. If they ever get around to rewriting DirectX it will likely be in Rust, which will be a push in that direction. Otherwise, I don't see Zig and Odin getting much traction in game dev outside hobbyists because of the closed nature of most platforms. Odin is pretty cool though.
@dragonalong6860Ай бұрын
@@zoeherriot Do research on Rust build times. There is NO WAY that Rust is replacing C++. Just not happening. I wanted to love Rust, but upon deeper dive it just isn't the language. I agree with you, Odin is super cool.
@zoeherriotАй бұрын
@ I work with rust. Rust is already being used in AAA gaming in tool chains, we are aware of build times. You should try doing an UE build if a large project sometime. One hour of code, 8 hours of cook time… really gets up there. ;)
@ultrasquid579Ай бұрын
@@dragonalong6860 I don't need to do research on Rust build times, I've experienced them myself. The extra time spent building (which is *not that long*, by the way) is more than worth the runtime errors that are avoided by ensuring safety at compile time.
@dragonalong6860Ай бұрын
@@ultrasquid579 People more experienced than me will say that the safety features are easily avoidable once you do it long enough or design your code effectively. I've seen people compile Rust projects for relatively simple projects, and they took a long time. There's also no way to EVER optimize the front end of the compiler (even if you do optimize the back end of the compiler), so you're stuck with slow build times. Jonathan Blow (whom I despise politically), Ginger Bill, and Ryan Fleury have all talked about Rust not being ideal for game dev.
@eth7928Ай бұрын
A wise developer once said: "Every game engine is sh*t". Whether you use Unreal, Unity or others, each of these engines have their own quirks. While making your own is fun and all if you really want to open up a business in the gaming space, you better use an existing engine. This way you get easier access to developer and artists to build the game your company wants to build. The current trend is moving away from custom game engines, especially in larger teams.
@zoeherriotАй бұрын
I would add though - that doesn’t mean the need for game engine specialists is reducing. Because of these quirks you mentioned, you often still need to fix, replace or optimize features in those engines - and you need a solid understanding of engine architecture to do that. Also - while the industry is “moving away” from custom engines… there are companies today writing engines that will be in use for the next ten years or so.
@andyschannel687Ай бұрын
As a web developer I can totally relate to this. So many web developers insist on using frameworks like React or Vue. Using a web framework is like using a game engine and it has lots of cool features, but I just like building things in vanilla JavaScript. To me using a framework or a game engine is just taking all the fun parts out of development and leaving the boring and mundane things in.
@lowlevelgamedev9330Ай бұрын
glad to hear people from web dev also agree 💪
@elxero21893 күн бұрын
It IS HARD..it just gets easier when you know what to do
@lowlevelgamedev93303 күн бұрын
than it's easy to learn what to do 😎
@kevintanudjaja7597Ай бұрын
good vlog. interested on how do you handle UI? it's hard to do ui without drag and drop tools. also how do you handle porting to many different platforms? such as android, web, ios. If we wanted to target web, wasm is gonna take insane amount of compile time. The game mechanic itself is the easiest one in c++
@lowlevelgamedev9330Ай бұрын
ui is ineed hard, I have my own ui library, for menu stuff it is a declarative style where you just say you want buttons amd they appear all responsive and stuff, the other option I have is to specify wjat percentage to use. And yes I can port to other platforms because all the things I use are cross platforms but I never tried anything else except linux
@mimg2805devАй бұрын
What's your opinion on frameworks? I'm a coder first and foremost and I gravitate more towards frameworks. I've used XNA, libgdx, and love2D, and I've learned to code in C#, Java, Kotlin and Lua as a result. I think it's a good middle of the road approach: I don't have to do everything from scratch, but it also doesn't hold my hand.
@lowlevelgamedev9330Ай бұрын
yess I agree with that, I made my own framework but it is the same thing as using a different one. Usually there os no need to do everything from scratch