Game Dev Tutorials Are LYING To You

  Рет қаралды 334,308

Acerola

Acerola

Күн бұрын

Пікірлер: 1 600
@GameDevNerd
@GameDevNerd 2 жыл бұрын
I agree in many ways. I'm a full-time, professional developer and the company I work for is Unity-focused. I came from background in DirectX and engine development, with a lot of years of low-level programming as well as C# ... I cringe at about 97% of the tutorials out there. It's not simply that they don't teach optimization, they don't teach any type of solid _programming_ fundamentals to beginners. You know who are the worst C# programmers? Aspiring Unity developers, without a doubt ... I interview candidates on behalf of our company, and the failure rate for entry-level candidates in technical interviews is about 99.5%, no joke. Each time we interview someone I cross my fingers and pray that they know C#, but I know better than to get my hopes up. This technical interview is not hard for anyone who knows C# fundamentals and how to write code: they're just simple logical tasks with strings and numbers, and I can tell if a person is a junior, mid or senior level dev just by watching what they do and the things they say about the task. I can also tell if someone has no clue how to write code at all, and that's the case with basically all of them we've interviewed. Without Brackeys writing the code for them they can't even write a basic arithmetic function, and they just freeze up ... so, what's going on here? For one, it's the blind leading the blind on KZbin. People who are still beginners but know a couple little tricks are teaching other beginners on KZbin, and people learn a trick from a tutorial and then make their own tutorial based on that tutorial, quoting it like holy scripture. Another part of it is that "development made easy" and "no code required" are catchy-sounding to millions of gamers who fantasize about making games but don't want to try anything hard. There's big money to be made in selling people dreams like "earn millions of dollars from home" or "develop your own games without code". Make a video with a clickbait title like "Start Earning $100K+ per Year in the Game Industry!" and in the video tell people to spend 3hrs a day learning how to program and write code for a year or two to get a good job. You'll get 350,000 views, but tons of dislikes and nasty comments even though you actually gave excellent advice. Most people don't want good advice if it involves _any_ thinking or learning, they just want someone to write the code for them and give it to them to Ctrl+C, Ctrl+V ... in some of the Unity dev communities I participate in, people get irate when I suggest C# programming should be a dev's #1 priority and Unity alone is not a good way to learn it. This issue really goes down to the societal and social level, and isn't just the Unity community. They have this problem around every difficult and technical thing that's exciting or has high rewards, such as investing in stocks, cryptocurrency, etc. Watch some investment and trading tutorials and you'll see the same problems: unqualified people teaching other unqualified people and leading them to their doom. 2021 was a prime example with the meme stock and meme coin crazes that cost novice investors their life savings by investing in trash assets at the behest of social media and KZbin influencers. Instead of worrying about it too much, and because you can't fix it or make people learn things properly, just look at it as "job security" lol. You won't have to worry about any of those people getting industry jobs so salaries will stay high and there will be open positions everywhere because they refuse to learn programming ... 🤷‍♂️
@Acerola_t
@Acerola_t 2 жыл бұрын
Thank you for the incredibly thoughtful reply. Part of the reason I made this vid was because it makes me really sad that people are being misled so horribly into believing they can make it in the industry while being taught all the wrong paths. As you said, this isn't exclusively a game dev tutorial problem and instead an issue with people wanting difficult things to be made easy and if someone can delude them into believing that then they will take that path without a second thought. Game development is a subset and specialization of programming/computer science, too many people try to skip that. It's like trying to draw anime without first learning the fundamentals of anatomy and sketching. This sentiment should be reflected more often, which is why I constantly shill Jasper's tutorials because they're the only ones that I find are top notch. The Unity community in particular is very nasty about this which is strange, you'd think Unreal would be the one like this since Unreal has all of the good visual scripting/non programming stuff. This video got horrible backlash on the Unity subreddit for the same reasons you describe. Perhaps it's because Unity is still seen as the indie game and "easy to use" engine which attracts these sorts of people. I won't lie I am def guilty of not formally learning C# lol but I'm at least competent in nearly every other popular programming language. Someday I'll take the time to write a non Unity C# program. Again, thanks for the comment!
@GameDevNerd
@GameDevNerd 2 жыл бұрын
@@Acerola_t that's to be expected ... if you tell people that they have spent months or years learning the wrong things the wrong way and still aren't good devs, that's a tough pill to swallow. But there's a reason they're not applying for and getting industry jobs and they have regular jobs that they hate (or no job): because they won't stop using Unity as a "toy" and just learn to be a good programmer, first and foremost, and use it as a professional tool. When it comes to hiring developers, we will hire a strong C# programmer with no Unity experience over the average indy dev who lacks C# skills but knows all about the editor and tools. I can teach that C# programmer Unity in about 40 or 60 days, and have them rolling out sophisticated features in projects, but I can't teach a non-programmer to master C# or C++ that fast, maybe not even in a year or three years, no matter how many years they tinkered with Unity editor and copying tutorial scripts ... I don't understand it, personally, because to me the code _is_ the fun part. Give me the hard problems no one else knows how to do and let's invent something new to chip away at that problem. 🤷‍♂️
@OSemeador
@OSemeador 2 жыл бұрын
@@GameDevNerd I've been in the industry for 15+ years. Next interview you lead start by asking what is a GameObject. Then ask them what is a component, finally ask them what is the difference between a GameObject and an Object in C#. It's a bit of a trick question but I've found these 3 questions alone split the big boys and the script kiddies. Another question I like to ask is what value can I access faster, a boolean from a list or a list from a dictionary and why. If you have someone that can answer these questions then continue the interview, otherwise save your time and recommend some areas for them to improve on.
@GameDevNerd
@GameDevNerd 2 жыл бұрын
@@OSemeador I've been programming and doing game dev at least 15 years (not always professionally) too, and you basically nailed it. The typical Unity "script kiddie" isn't even gonna know what System.Object is, at all, and generally has no clue how to write a class and use a constructor (also only knows that int, float and bool exists, and has never heard of other primitive data types). Basically, everything they do has to be a MonoBehaviour for them to paste some Brackeys code into, and if you talk about writing classes, instantiating and using them they simply have no idea what sort of wizardry this is you're speaking of. An important question I often ask is for someone to explain the difference between a _value type_ and a _reference type_ or between an object and a structure. As you'd expect, most applicants have no idea how to respond to that ... but the more incredible part is that many still _think_ they do and they will just start making stuff up that sounds good, lol. "An object is like a thing you put into your game, and a structure is a way of organizing those things" ... or "A reference type is things that you have a plan for and a value type is something that's important to the game" lol. I kid you not, I've literally received some genuine answers like that and just had to politely wind the interview down, bring it to a close and recommend them a good C# book or two to read. 🤷
@morgan0
@morgan0 2 жыл бұрын
@@OSemeador i think i could answer the first and third with basically no unity experience (i had previously used unity like a few hours at most and currently i’d like to get into godot) but with years of programming experience. dunno what a component is but it makes me think of composition, like instead of inheritance tree relations, an object being composed from several traits. not sure if i’m on the right path but maybe id know if i spend more than a week using c# ever in my life. pretty sure Object is the inheritance root for all of c# and GameObject is that for unity’s objects and necessary to be used or inherited from for the like basic unity methods. also had a brain fart and at first confused list and array for the fourth question oops
@ZILtoid1991
@ZILtoid1991 2 жыл бұрын
I remember having a hard time finding tutorials on optimization. In college, we almost had a class on optimization, but it was dissolved because "modern CPUs are fast enough, otherwise everything is moving to the web/cloud". If I get fired at my job due to my hospital stay, I might do some videos on optimization.
@marcomoreno6748
@marcomoreno6748 Жыл бұрын
Where do you live that you can get fired due to being in the hospital!?
@ali32bit42
@ali32bit42 Жыл бұрын
do they think cloud programs magically appear out of thin air ? cloud programs actually need more optimization if anything since they can cost millions of dollars in electricity and server space.
@syloui
@syloui 8 ай бұрын
The dispensing with optimization classes due to modern CPU speeds is how we ended up with the disastrous software bloat we have today where everything is electron based and browsers eat up several gigs of ram. It's the same reason Pokemon chugs on the same hardware Doom 2016 runs on at 60fps. Add several layers of abstraction with stack overflow copy pasters and you get soydevs: the programming equivalent of someone who thinks microwaving a tv dinner is comparable being a gourmet chef, just cause it says "gourmet" on the package
@hiruki8
@hiruki8 8 ай бұрын
​@@marcomoreno6748America, probably... FMLA might exist but it's only guaranteed for like, 3 months. And even then people can find ways to fire you even if it's technically illegal...
@ChillaxeMake
@ChillaxeMake 26 күн бұрын
@@marcomoreno6748 america
@shyrory
@shyrory 2 жыл бұрын
As a veteran game dev, I think those tutorials still serve the purpose of making game development accessible to complete beginners. I remember starting out in the 2000s, most people didn't even know where to start and never made it anywhere at all. The only people who ever got started either exchanged knowledge on forums and/or bought 90s coding books lol.
@Repanon00
@Repanon00 2 жыл бұрын
I agree. I'm still a new game dev working on my second commercial game. My background was producing comic books for 20 years until I hit a career/personal wall and wanted a change. Some people don't like him, but Thomas Brush tutorials and vids helped me to have the confidence to try game dev. I will never be a great programmer, but I can be decent enough and use my strengths in visual arts to make games. You can hire or ask for help where you are weak. I saw a doc on the Hollow Knight guys and they hired people to help with their programming. There is more than just writing code to making a game. And no knowledge, tutorial or skill makes up for determination and perseverance. Those two things I feel are more important when it comes to making games, because there will always be obstacles to overcome making games or anything other endeavor in life.
@cryonim
@cryonim 2 жыл бұрын
@@Repanon00 Very well said. In that aspect, the current landscape doesn't look bad, because while 99% of the viewers can't code but at-least 50% of them are interested in development, which just boosts the overall reach of the topics and that just means the 1% grows in number, maybe not in % but in actual value.
@NihongoWakannai
@NihongoWakannai 2 жыл бұрын
Yeah, it's great for getting people into game development. It's just annoying that once you become intermediate, you very suddenly go from having a wealth of content to scrounging around for a single tutorial that is actually useful.
@joel6376
@joel6376 2 жыл бұрын
But all the tutorials could be done in other, better ways with similar results. Do videos of those other ways exist? I bet they do, but because of youtube/google/search in general we end up with what is the most popular, which is likely not related to which is the best way to achieve X and more likely down to how well presented (edited/presenter vocals/etc) than the actual content of the video. This is a systemic problem that goes beyond game design.
@zimmerderek
@zimmerderek 2 жыл бұрын
I think a lot of the problem here is the psychology of making something that "barely works" for people doing these tutorials. Spending hours following along doing something (usually without any really good context or explanation for half of what you're doing) and then getting to sit back and go "wow it (barely) works!" doesn't give you any satisfaction or motivation to continue. Learning the "better way" from the start would allow noobs to build actual working systems into their games, which would then allow them to move on to something else interesting rather than redoing their grass for the 5th time. I can't speak for everyone, but getting to the "minimum viable product" for a very simple game is the payoff that I was seeking. If the tutorials lead me to a MVP that simply isn't playable, I have little to no motivation to try again. If i had used this grass example, and then added a bunch of assets and tried to make a combat system, and it's running at 9 FPS, it's extremely demotivating.
@misterrhombus
@misterrhombus 2 жыл бұрын
I'm learning Unity for about a month now and I swear the "How to make a game" tutorials are the very worst place to start. I just kinda dove right in and read a lot of documentations and asked for help for very specific things. Seriously, you learn a lot faster when you think of an idea and understand the processes to materialize that idea. It's okay to ask for help but don't copy paste code. The official Unity discord is the best place. They offer you help but they don't give you code to just copy paste.
@daaaaaaanny
@daaaaaaanny 2 жыл бұрын
The amount of "make your first game in unity" videos where they just use marketplace assets and do the bare minimum code, if any at all
@colto2312
@colto2312 2 жыл бұрын
somethings you gotta just black box tho. Like deduplicate an unsorted array. Do you really know what ram and CPU is doing with those functions? Do you REALLY know? then it's been black boxed, and odds are it's fast enough
@lowlevelhaunt
@lowlevelhaunt 2 жыл бұрын
@@daaaaaaanny Brackys be like :
@jesusstaccato8448
@jesusstaccato8448 2 жыл бұрын
You're probably right, but I wanna point out that some people (e.g. myself and many other people with ADHD) are really bad at learning from documentation. In our case, learning by doing is probably going to be more effective than setting the unrealistic goal of reading and understanding documentation, even if it means we learn bad habits and struggle with optimisation further down the road.
@Danku
@Danku 2 жыл бұрын
@@jesusstaccato8448 it's not like anybody's first game is going to be a fucking masterpiece, but it might be more about the approach. I struggle with reading documentation as well but I think the point is that you are learning the method to do something rather than understand how they did it. It is a very general topic for my comparison to be accurate but it's the closest I can come up with at the moment. In any case, do whatever works for you. Unlearning bad habits is better than not learning at all.
@betterlifeexe4378
@betterlifeexe4378 2 жыл бұрын
The most important optimizations: A: limiting what is loaded into your scene at any given time B: managing when new assets are loaded into your scene so as to hide the process C: culling things that are loaded but you cannot see You should only need to provide an environment in which the player's screen is filled.
@betterlifeexe4378
@betterlifeexe4378 2 жыл бұрын
code level optimizations tend to have less impact, however, the most important code level optimizations: A: avoid exposing methods unnecessarily in update and coroutines B: use dictionaries to find items in large collections wherever possible C: know which commonly used methods take more resources such as findobject methods in unity and reduce your use of them.
@svenrawandreloaded
@svenrawandreloaded Жыл бұрын
A: Not using event tick B: Not using event tick C: Not using tutorials that rely on event tick
@betterlifeexe4378
@betterlifeexe4378 Жыл бұрын
@@svenrawandreloaded The reason why event ticks are less performant is because it essentially uses its own update cycle to check for conditionals. So yes, but it's not limited to that. Essentially event ticks fall under code optimization A, which is the first code optimization for a reason.
@R2Bl3nd
@R2Bl3nd 8 ай бұрын
Reminds me of the game dev behind the scenes video on crash bandicoot. They implemented all kinds of revolutionary new ideas (sarcasm intended) like "dynamically load stuff in and out of your level rather than just try to cram everything into the one megabyte of RAM available". I know, shocker. It explains why so many PS1 games have such simplistic level design and geometry. 3D games in general over new territory and most developers didn't think of even the most basic optimizations.
@KucheKlizma
@KucheKlizma 4 ай бұрын
Making a billion load/unload operations per frame is the solution to all optimizations? Wow didn't know that, someone should totally make a tutorial about this.
@kintrix007
@kintrix007 2 жыл бұрын
I feel like the way bigger problem is that many tutorials are made in a way that many people don't learn anything from them. But that is a weird issue, and basically a core part of tutorials. But you can just mindlessly follow along.
@thegiantratthatmakesalloft9415
@thegiantratthatmakesalloft9415 2 жыл бұрын
alot of people don't understand that tutorials show a plan of action, and that they are responsible for learning AND internalizing the mentioned actions to properly progress as a learner. Gift yourself, don't spoil yourself! - The giant rat that makes all of the rules
@Grimnoire
@Grimnoire 2 жыл бұрын
@@thegiantratthatmakesalloft9415 A rat! Omygawd.
@nerdyunrealdev
@nerdyunrealdev 2 жыл бұрын
I understand the exact issue you're talking about! When making videos for the channel I'm commenting with, part of why I don't go deep into "how to make this very specific thing" is because the point isn't to have people learn how to make a specific thing, but to learn how something in Unreal works, so they can creatively apply it to their own games! But it does seem like a very limited philosophy and I do wish more tutorial makers applied it (if anything for when ~I~ have questions on things)
@SkeleTonHammer
@SkeleTonHammer 2 жыл бұрын
And then they also provide their entire Unity package you can download so that if you want to, you literally don't even have to follow the tutorial. Just transplant their work that you don't understand into your game.
@LC-hd5dc
@LC-hd5dc 2 жыл бұрын
what's the difference between tutorials and education? the latter actually expects you to do some work, and that's how you learn. a video will teach you some keywords but will never magically make you better at actually doing it
@tacticaltoaster5777
@tacticaltoaster5777 2 жыл бұрын
I started with Roblox when I was 11 or 12 and was mainly fascinated with the idea I could write instructions that the computer had to follow, so I have mainly hooked on the programming aspect then the general "making games" aspect (though that is something I really want to do also). For that, I also fell into the trap of looking up tutorials for everything I wanted for a while, especially since I was so young and still getting a grasp on the basics. I think part of the problem is everyone tells you to start small and basic so you don't demotivate yourself quickly so people avoid trying anything super daunting right off the bat, like properly learning programming fundamentals and the language you're using. I get staying motivated can be an issue, but if it's too challenging to try and work on learning those fundamentals and getting a proper grasp on the programming side then that part of game dev might not be it for you. You don't have to immediately stop everything to work on just speed running the basics, I did a lot of little experiments (and still do) when learning concepts so I have the application of concepts to establish and support what I just learned, but avoiding proper learning will just hurt you in the long run. While I was still doing Lua stuff for Roblox I decided to try making stuff for GMod since it also used Lua. This was a great step since the tutorials for GMod were a lot more sparse. I learned how to read documentation and use references not to copy code but instead inform me on how code worked. Because I didn't have tutorials that gave exact implementation details I instead started experimenting and trying to implement more and more of the knowledge I had built up before to make new things. I dissected other people's add-ons to get the gist of how they worked and started reading Source engine code too to better understand how things operate under the hood. I learned so much more because I didn't have rigid and specific guides filled with basic implementations that wouldn't be good at a production level. After a year or two of GMod dev I picked up a Udemy course on UE4 C++ dev that started with a section on making a simple console app game with C++ before even touching the engine. I didn't get far into the actual engine lessens since it wasn't as flexible as I thought (the courses) and my compile times made edits so slow. I tried to make a basic TPS for a bit but gave up on it because of compile times. That's when I tried Unity for a bit and learned some C# but waited and went back to GMod to apply some of the OOP fundamentals I did pick up on to improve some of the projects I was working on before. One thing that really opened my eyes up past the large swath of beginner tutorials was watching GDC videos. Being able to see how bigger and more complex systems were designed, iterated upon, and implemented opened up the idea that I now had references to pursue these more complicated systems that are being used in actual games. I think a lot of people trick themselves into the beginner's trap with that mindset I described earlier, where they don't want to demotivate themselves so they pursue things that are really easy and basically laid out for them. I say do some of these things but do learn the fundamentals and devote more time to that than the instant gratification stuff and only keep doing those when you really need that extra boost. Instead, turn the fundamental learning into the bulk of your gratification. Make a small little prototype out of something you just learned and don't watch a tutorial for the specifics. If you're learning the fundamentals of a language then doing a basic console app prototype is good enough and doesn't have to be more complex than just printing what would otherwise be a debug message. Just seeing that a basic for loop or search algorithm actually printed the right result is satisfying while learning and gets you to learn much faster since you'll be applying the knowledge. It's just important that you're doing the bulk of that work instead of a tutorial or guide. Recently I've really started getting into Unity development and improving my C# while learning a little about the engine, but I've mostly focused on learning fundamentals, architecture, and C# itself while working on my project. As I said before, I learned during modding with GMod and some extra Roblox stuff how to read documentation so instead of watching video tutorials on how to do everything in Unity I try to read the API docs first and see what I can use to implement what I want to do. Otherwise, I've been looking up game programming patterns (gameprogrammingpatterns.com is a great free book (at least the web version is, paperback and ebooks are available to buy and have nothing exclusive that can't be found in the web version) based on an older generalized OOP patterns book that's referenced by a lot of people and where a lot of the popular patterns got their name and popularity from, features and quirks of C#, and data structures. I picked up a humble bundle of O'Reilly books that are generalized for any sort of production code and has topics on optimization, DevOps, algorithms, managing complexity, and even skills outside of straight coding that will make you a better programmer. I've found that the lessons taught in all these media are more fruitful and applicable than the specific tutorials that beginners will cling too and have trouble escaping from. They helped me build confidence to try experimenting with more complex systems like GOAP, HTN planners, tool dev, spatial data representation and query systems, raycast ballistic simulations, and more because I have the fundamental knowledge of how the basics of these systems work so I can build on that knowledge to actually implement them.
@orangeblanket7181
@orangeblanket7181 2 жыл бұрын
Bro wrote his entire life story 😨😨😨
@tacticaltoaster5777
@tacticaltoaster5777 2 жыл бұрын
@@orangeblanket7181 you know it 👌😤😤
@graphitic5578
@graphitic5578 2 жыл бұрын
@@tacticaltoaster5777 i deleted my comment. who did it.
@epicm999
@epicm999 2 жыл бұрын
I regressed lmfao. I started with Unity and got really good at Roblox. Then I stopped game deving because I'm horrible at asset design.
@graphitic5578
@graphitic5578 2 жыл бұрын
@@epicm999 my joy of making games is never been bogging down because of asset design, it's the exploration that explained everything that gets me confused then implementing them to my game, never really caring about the assets or the graphics, it's just for the experiments of it. i think this is the reasons for me not using a game engine and instead creating an 2d engine as your own (making a 2d engine is really easy but people have to go through abstract concepts they'd have to think on their own) is because you've disciplined yourself to what is the methodical option advantageously, for your game ideas.
@skaruts
@skaruts 2 жыл бұрын
It's not just optimization though. I lost count of the times that, for the sake of simplicity, tutorials only teached me how to create a very sub par and half assed version of what I wanted to build, and not how to progress from there and make it better. I did quite a lot of tutorial hopping, looking for someone who actually went deeper into the subject, and I didn't find it very often.
@TwistedSisler
@TwistedSisler 2 жыл бұрын
That's one of the worst and most frustrating things when you are trying to interconnect multiple tutorials on a subject to fully implement something. Because it never fails that each tutorial went about it a completely different way and it makes it twice as complicated if not impossible to take concepts from this tutorial and apply it to the system from that tutorial without having major issues. It's honestly just the same problem that literally every other aspect of the internet has. Things are easily accessible and open to anyone now so you will have a lot of people making specific content for specific reasons and there's a lot of garbage to filter to get to the good stuff. And the Games that come out on Steam every day reflect that also.
@TheIndieGamesNL
@TheIndieGamesNL 2 жыл бұрын
*cough* any VRIK that isnt using Rootmotion
@Glori4n
@Glori4n 2 жыл бұрын
I am a professional senior PHP developer and just today I reached the end of the first month of my first Unity project. I have a quite large list of features implemented already, Combat System, Health and Stamina System, Enemy AI & Pathfinding, Droppable Loot and Findable Loot... To name a few. I can safely say that while the programming logic is mostly the same, there are many, many things that makes game development such a different beast all together, and working alone, needing to provide graphical interface (photoshop), audio mixing and back-end logic is arduous to say the least. Game development requires so many different skills and I believe it is extremely under-appreciated (looking at salaries here), which is why I decided to become a PHP developer instead of a Game Developer. Most of what I managed to implement was from an Udemy course I took, alongside KZbin tutorials and many sleepless nights scouring Unity's documentation, and with enough persistence, I always found a way to implement what I needed, where I needed and when I needed, however, I can hardly imagine how difficult it would be for somenone with 0 programming knowledge to implement all that while not even having the slight idea what optimization is, I can safely say that the only reason why I could build all that in under a month (which honestly, is mediocre) is because I've spent the last 8 years studing programming logic and code and even then, it was not easy, and it is far from perfect, to make all that blend together and not having a single crash or FPS drop was an optimization task, something a very little portion of the tutorials I've seen around here teaches. In my journey which is far from over, I've came across many, bizarre "tutorial" videos that made me think if these people even tried out what they're trying to teach. I don't wanna bash any of it but seriously, it's just like when you learn something wrong, and you teach it, it gets spread all over. Mistakes that are quite hard to withdraw yourself on later in your programming carrer. All I can say to new developers out there is: even before thinking of developing a game, and I know its hard and will probably take up a lot of time, try to look for professional content outside of KZbin, and Unity-endorsed ones. This will save you many, many problems down the line.
@epiccoolperson1236
@epiccoolperson1236 Жыл бұрын
Hey just a little confused about that last part. Are you saying to look for content outside of youtube and outside of unity endorsed ones or outside of youtube and look for unity endorsed ones?
@Glori4n
@Glori4n Жыл бұрын
@@epiccoolperson1236 You should look for professional content outside of KZbin, and preferably Unity-endorsed ones.
@memepotater9503
@memepotater9503 2 жыл бұрын
Something I noticed with KZbin tutorials is the more I watch the more advance and complex tutorials KZbin sends my way as well as people who give advice like you with optimisation. So I feel like the KZbin algorithm found a way to teach people in a way that fits their individual needs Unless this is just a coincidence on my part. 🤪
@sunbleachedangel
@sunbleachedangel Жыл бұрын
Same here, even a year later
@asyncasync
@asyncasync 2 жыл бұрын
The most important part of your programming, generally, is really not optimization, but the readability and maintainability of the code itself. As long as you have that you can still quickly update and fix other things. If you lose that then you cannot do anything at all without braking things, development would be super slow, nobody would want to work with it and it could potentially cancel out whatever benefit you were getting from not setting readability and maintainability as the first priority.
@keepinmahprivacy9754
@keepinmahprivacy9754 2 жыл бұрын
@@baseddepartment9656 Fuck that, my code remains a byzantine labyrinth that only I can navigate. Noone will learn my secrets!
@victor22332211
@victor22332211 2 жыл бұрын
@@keepinmahprivacy9754 It's a meta game: Figure out what my code does
@keepinmahprivacy9754
@keepinmahprivacy9754 2 жыл бұрын
@@victor22332211 Protip: if you do comment, make sure the comment is completely unrelated to the code it is associated with to cause further confusion
@asyncasync
@asyncasync 2 жыл бұрын
​@@not_an_artstudent the reason why React projects are bloated and slow is because people do NOT care about quality and instead just install package upon package of random "helper" bloat and never bother to clean up a single thing later on. This results in large bundles filled with useless code. Good quality code is extremely important because you can easily refactor it down later as well. This will lead to the complete opposite of what you said - your bundle will actually get smaller.
@victor22332211
@victor22332211 2 жыл бұрын
@@keepinmahprivacy9754 //Pray to God that this words
@non-shockingtopics7563
@non-shockingtopics7563 2 жыл бұрын
Imo killing the interest of potential, new, or growing developers isn't really worth getting bogged down with the specifics of optimization right from the start. Don't get me wrong, it's definitely important to at least mention that the methods of doing these things may be inefficient, which a lot of tutorials leave out, but "predatory" is very far from the right word for most of them. Most of these guys are solo indie developers who are themselves learning, not everyone has the benefit of industry experience or the time to figure out the shit they're making is slow. They simply made something and are sharing it.
@shimadabr
@shimadabr 2 жыл бұрын
I have a stance that it's fundamental on any tutorial or course that the underlying complexities of the subject are at least touched upon. Most courses and tutorials on programming in general just show a half assed implementation of the subject they're teaching and hardly comment on the problems it has or how a good real world implementation could address them. So i agree that many are disingenuous, they just want people to keep coming and inside their confort zone.
@scvnthorpe__
@scvnthorpe__ 2 жыл бұрын
My approach is that if its killing the ability to grok stuff or produce readable, decently structured code then don't But at the same time it's worthwhile teaching how to do it *properly*, or just give an idea of the implications under the hood. Like 'we shouldn't have to keep recomputing this value, memoise it or pass it explicitly' I remember there being this whole debate as when we all saw the elsif tower of doom that Yandev made some suggested 'use a switch statement those are faster' but while this is true for both js and python for example others piped up with 'but the compiler already handles that its smart enough'. And the fact is the code shoulda just used polymorphism to handle much of that shit
@arminkuburas1696
@arminkuburas1696 2 жыл бұрын
Those "potential" new programmers won't be programmers if all they do is consume mindless copy and paste KZbin tutorials.
@Jordan-kk4iu
@Jordan-kk4iu 2 жыл бұрын
@@arminkuburas1696 they need to learn at least the basics somewhere
@slimsXV
@slimsXV 2 жыл бұрын
If these new/growing developers can only stomach spoon fed unoptimized garbage to keep going, perhaps it's better they just get weeded out.
@hiTocopter
@hiTocopter 2 жыл бұрын
I actually completely disagree with this. You are absolutely correct in everything you are saying about people not learning to optimize, but you're forgetting a few things. First off, there wouldn't be a thousandth of the developers there are today if it weren't for the ease of use of tools like Unity and the prevalence of tutorials on youtube. If everyone kept learning by reading books and going to university like they used to, this industry would never have grown the way it has been. The truth of the matter is that you don't need to understand how the GPU renders things to make a great game today - and that's not a bad thing, it's great! Second, the market decides what a good game is. If that is an unoptimized piece of junk, technically speaking, it is most likely not going to do well and the developer will be out of a job. If it does do well, then it's because it's a good game despite its technical shortcomings and would probably never have seen daylight if people followed your advice. Third, I'd argue that one of the best ways to sift through developers who are "script kiddies" and actual developers is for them to see their framerate drop to 40 when adding their grass and have them solve it. Giving them a cheat sheet for how to fix it is only going to exacerbate the problem - because you are kidding yourself if you think those script kiddies are going to actually read your article about "why" and not just copy-paste the code from the github link at the end. They will never actually understand what the underlying problem was, or care about it. Fourth, ??? Fifth, There's a pinned comment on this video about a professional developer who interviews people who fail basic technical interviews. He makes this seem as if it is a bad thing, when in fact all that shows is that there are tons of interested, passionate developers out there looking to advance themselves. Who cares if they fail? They're not going to get the job, but so what? It's not going to be their last interview, and if they fail and are still passionate, they're going to learn from their mistakes and make themselves better. Sixth, premature optimization is a terrible idea. Obviously, if you can think of three different ways of doing something you should pick the one that has the cost/effectiveness balance that is most in line with your expected outcome, but that's not really how people work most of the time. You need quite a lot of experience to be able to understand the problem to such a degree that you can think of several ways of solving it. Why am I saying this? Because the vast majority of the tutorials you are clobbering aren't out-of-whack unoptimized. Shaders might be more-so than others, but most tutorials on Unity-related topics are about moving transforms, shooting fps guns, health systems and the like. Teaching people to create their own render pipeline to make more optimized light baking as a beginner topic is a terrible idea - as I'm sure you'd agree. So is this grass thing. It's not a beginner topic. Trying to work with shaders in general is not entry-level programming. Which means that these tutorials don't actually hurt anyone - or the industry. If you can't or won't spend the time to figure out why your grass is rendering at 40fps AFTER THE FACT, then you will give up on the issue and delete your grass, which is exactly what you should do.
@purplewine7362
@purplewine7362 2 жыл бұрын
For real, I felt this was a generic call out video with a more popular youtuber in the thumbnail to gain clout. I feel like like this guy doesn't understand the point of these tutorials at all.
@hiTocopter
@hiTocopter 2 жыл бұрын
@@purplewine7362 Well, first of all, let's take about 20% off. There's nothing wrong with having an opinion and we should discuss its merits before we attack someone's integrity. I think he is making a legitimate claim. Obviously, that grass tutorial showed people an objectively bad way of doing it and the tutorial could have been made much better.
@MarilynMonRover
@MarilynMonRover 2 жыл бұрын
Eh... I sorta agree with the OP... sorta. I don't actually think you realize what a deluge of crap has befallen us though. If given the choice between a gallon of pure water and a 55 gallon drum of raw sewage... I think the choice between the two is obvious. The same goes for game development... the fact that every two-bit hack and their grandmother thinks they can develop a game just because a tool like Unity, Godot, or UE makes it easier than how it was in the 80s or 90s is just opening the floodgates for trash. That's also part of the reason why the mobile markets are so full of shovelware. Proper game development is an interdisciplinary process and any part that is subpar reflects on the entire product. Program code is the glue that holds it all together. Sure, you can have nice pretty graphics and pleasant audio, but if your game runs at 15FPS, like so many Unity-based games do, it's garbage from top to bottom no matter how nice you make it look. A monkey dressed in silk is still a monkey. I agree that tutorials need to be explaining things better, especially when it comes to performance. Any hack can throw together a tutorial... there are no requirements for even knowing what you're doing. But look at it this way... would you rather learn surgery from a surgeon or Bob the truck mechanic? Quality matters. I'd rather have a steady stream of high-quality games coming from experienced developers than a metric butt ton of garbage games from inexperienced chowderheads who think that it's all glam and cash, the kind of crap I have to sift through to find the good works.
@johnnycadaver2933
@johnnycadaver2933 2 жыл бұрын
Full support. Optimization is important and you don't want your game running like shit, but god forbid someone's small game doesn't run at 10000fps like it could (which is what most people will do). It's not some rocket science, with secret pitfalls that'll destroy your gains. You just write something wrong and can immediately see the drop. If you wanted people to focus on performance, you'd tell everyone to drop Unity/Godot and go make their own engine. I work in console porting where optimizing is my bread and butter, and I've had to fix some real stinkers. But I write inefficient garbage code all the time myself because it still runs great very often, even in extreme conditions like spawning 100x of the usual amount. Machines are way more efficient than we think (or were taught, because schools usually have garbage machines). It may be a bad thing that tutorials don't shine enough light on optimization, true. Like teaching how to use an extinguisher during cooking lessons, SOME attention should be given to this. But I think every dev who gets past first few projects and still has creative drive, will eventually search for answers on his own. It's not a race, we don't need to hold their hands for this.
@sieyk
@sieyk 2 жыл бұрын
You missed the point of the video. The issue was that the tutorials involved making things that aren't viable for use. It's like teaching the bogosort algorithm and being like "it werks tho". I agree that telling people to "just read the textbooks" is a death sentence for accessibility, but beginners don't know a thing about complexity, so they only learn bad habits from 'beginner' videos such as those mentioned. Teaching something conventient is pointless if it cannot be used alongside anything else. It's like using a 'drag and drop' website maker for 30 hours before you realise you want to do a webGL render and you're SoL because they don't and refuse to support that feature. Teach something right the first time. A tutorial should make something complex easier to digest.
@TehAntares
@TehAntares 8 ай бұрын
Acerola: "I won't be naming any specific tutorials, because I don't want any of the authors feel bad or be targeted by my audience." Also Acerola: *proceeds to put a specific author into the video's thumbnail*
@grochlin7106
@grochlin7106 2 жыл бұрын
I find tutorials can be useful as a general guide on how to approach a problem. That said, unless I'm completely lost I tend to avoid them. Another great grass video in the books!
@duccw
@duccw 2 жыл бұрын
hey groch
@grochlin7106
@grochlin7106 2 жыл бұрын
@@duccw hi ducc :)
@alex_pier
@alex_pier Жыл бұрын
I know its a year late but he's right. this is even present in the art community where an artist will be like 'just do this simple trick' without showing how the trick functions to make a better artist
@donuthurtmyhoney8313
@donuthurtmyhoney8313 8 ай бұрын
11 months later this was recommended to me. You're far past your 1k goal good sir. I'm so glad you found your community; we are proud of you. You deserve this.
@Salantor
@Salantor 2 жыл бұрын
To any person wanting to write: "But that would be a premature optimization, and that is a root of all evil": the full quote states: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil." So making your grass render faster by an order of magnitude thanks to some smart decisions is not premature optimization. Spending a day or two so your game can run at 86 FPS instead of 85 is.
@Acerola_t
@Acerola_t 2 жыл бұрын
lmao thank you so much
@mariocamspam72
@mariocamspam72 2 жыл бұрын
Might have been a joke, but optimization being the most important aspect of programming (as a whole) is controversial. Software arhitecture overshadows optimization and, in most cases, leads to optimized code when properly done. Edit: Regarding the "50 instructions/perlin noise generation": this is a bit generalized. The speed of perlin noise generation depends on the noisemap's resolution. Measuring in instructions isnt too good because it does not account for following factors: - CPU Clock rate - Memory locality/Cache misses - CPU Arhitecture - Memory latency - Memory speed - Parallelization techniques in processor pipeline for primitive instructions (e.g.: SIMD Accelerated pseudorandomness)
@Acerola_t
@Acerola_t 2 жыл бұрын
I failed to mention how i mostly meant in the realm of graphics, obviously in the world of web development and other areas of computer science, optimization is less of a priority.
@mariocamspam72
@mariocamspam72 2 жыл бұрын
@@Acerola_t Yeah i see, sorry for the misunderstanding. I'm currently binge-watching your videos and I'm enjoying them a lot and subscribed too. Looking forward to more
@Acerola_t
@Acerola_t 2 жыл бұрын
@@mariocamspam72 Thanks so much!
@illusivec
@illusivec 2 жыл бұрын
I started my software dev careeer on embedded system where 16Kb of memory is considered generous and CPU clocks cycles are counted in Mhz. When I started doing game dev as a hobby, I was struck by how inefficiently everything I looked at was being done. On microchips, we're spending weeks optimising a function just to save a few bytes of memory. In general software development, people are making calculator apps that 100Mb and uses 1Gb of RAM.
@maugre316
@maugre316 8 ай бұрын
One of my school teachers gave an introduction to HTML. When I pointed out the errors on a slide he was presenting he said they were intentional! Now I'm always sceptical about 'simple' tutorials. Back on topic, this is why I enjoy watching people like Sebastian Lague and others; optimisation is part of his creation process.
@g.l.2006
@g.l.2006 2 жыл бұрын
I kinda know what you’re mentioning - I myself am like a complete beginner and my code‘s pretty garbage, still I started Developing my Game, Right now it certainly isn’t optimal, yet I think it’s still pretty good, but when I started my Game I wanted to create a sea-level with large ammounts of water and I just clicked on a random Tutorial - it created the waves of the water via Vertex displacement and it just didn‘t explain anything properly so I just copy and pasted all the Code- well 30-40 fps (I Must say I just Use an Laptop with a 3060 so Keep that in mind) it wasnt very good or performant and it also didn‘t Look to Great - months Later with a bit of experience gained I Went back to that Level and just realised that that water needed to Go I replaced it with a shader graph shader and boom- 100-200 fps (which is good for my Laptop honestly) well what did I learn back there - don’t just copy and Paste everything from the Internet and better Research a bit further
@valletas
@valletas 2 жыл бұрын
Shaders and filters are ususally a bad idea They can look really good but they almost always kill performance Its always good to try to find work arounds to make the same effect without using any code (or at least keep it to a minimum)
@PrimerBlobs
@PrimerBlobs 2 ай бұрын
Congrats on the growth since then!
@workinglategames7401
@workinglategames7401 2 жыл бұрын
I hope you continue with this type of content. One could settle for the idea that the authors of those tutorials are little more than novices with youtuber aspirations or the sole intention of promoting their own games, but the problem is that almost all of them have videos sponsored by Unity, so...
@Acerola_t
@Acerola_t 2 жыл бұрын
All I can hope to do is try and cut as few corners as possible in my explanations and be transparent when something isn't optimal or ideal. I'd like to do a series someday where I can help indie devs with their graphics or optimizations and identify where they are going wrong, sort of like Sinix's paint over pals series. Hopefully I can get the Unity sponsor someday lol Thank you for the comment!
@NateLevin
@NateLevin 2 жыл бұрын
KZbin just started recommending me your videos and I can't believe how underrated you are! Your videos are really great, hopefully the algo starts picking them up more!
@fresoapa
@fresoapa 2 жыл бұрын
Same, got recommendations yesterday. These videos are really well done, actually!
@MasterDisaster64
@MasterDisaster64 2 жыл бұрын
Shout-outs to Infallible Code. There’s a tutorial channel that teach the underlying stuff, not just specific features.
@Silentsouls
@Silentsouls 2 жыл бұрын
You have a white coat, "dude just trust me" is not even needed.
@TheDamax41
@TheDamax41 2 жыл бұрын
Just came across this video and wanted to say thank you. I first learned C 25 years ago working on a MUD, on a computer with around 2mb of RAM (if that much). Everything I wrote had to be super optimized to get a big game to fit into that memory footprint, and still leave enough resources for the server to function. So that's how I "grew up". About 3 years ago I started a project in Unity writing in C#. It was my first time using C#. I had lots of questions, many about optimization, which I asked on the Unity forums. Over, and over, and over, and OVER again I was told to stop worrying about it. Write the code, and if later there are performance issues, I could use the tools to see what the problem is and work on it from there. "Computers are so powerful, with so much RAM, that little thing you're worrying about isn't an issue." It absolutely infuriated me that many many people all had that same attitude. Don't bother to optimize it, that's not a problem (unless it's a problem). No, I want to write efficient code ONCE and NOT have to go back and "fix" it later. So I just wanted to say thanks for posting this video. This needs to be learned as a starting point for writing code, not as a "ugh if I have to later".
@nocturne6320
@nocturne6320 2 жыл бұрын
Agree with you 100%, my advice to beginner game devs would be to learn programming first and then move on to game engines. Not just high level languages like C#, Java, Python, etc. But low level ones as well, especially C. Only by learning how everything works under the hood you can use the high level languages efficiently, they do abstract all the annoying work away from the programmer, but the work is still being done, so its complexity cannot just be ignored. Programming itself is hard enough, I started with C# and it took me a *long* time to learn just the basics for all the areas of programming. Comming into Unity was like starting that journey all over again. I knew how to code (or at least how to make something basic), but all the new ways of programming, like relying on Start/Update methods instead of constructors and me calling the functions myself, all the knowledge required about computer graphics, etc. was adding a whole new level to the programming knowledge required.
@digis_monkey_king
@digis_monkey_king 2 жыл бұрын
This happens a lot whenever I'm trying to learn new coding practices. I would watch a tutorial and rather than take that at face value, I would research the topic, read multiple articles, and scour documentation and 9 times out of 10 (obviously an exaggeration) it would be done in a way that completely contradicts the video. Not only that, when I tried asking other devs (specifically from the Unity forums) when I was stuck, usually because of a compiler error or user error, they would answer with some jargon that I didn't understand, (especially for a beginner) tell me to go to unity docs, or not answer entirely. So, not only did I get lied to by a tutorial that was supposed to teach me, I got stonewalled by a place that was supposedly meant to be helpful. Eventually I resorted to asking Reddit and I learned more than I ever could from said "tutorials"... it's a lot easier to learn from people who are willing to explain how something works rather than getting spoon fed the answers. I am by no means an expert yet but that's a start... Now I am able to make my own scripts and hone my C# coding abilities...
@Acerola_t
@Acerola_t 2 жыл бұрын
Yes the thumbnail is a double entendre
@Brutalic
@Brutalic 2 жыл бұрын
Don’t say shit like that to me
@Acerola_t
@Acerola_t 2 жыл бұрын
@@Brutalic
@PG13park
@PG13park 2 жыл бұрын
@Spartacus well I liked it
@DrClementShimizu
@DrClementShimizu 2 жыл бұрын
I agree and disagree. First of all, I enjoyed your video. I get handed all sorts of projects in my work with other game developers and other clients and there is a lot of really strange things that I see. Low hanging fruits that are not optimized. But on other hand, game development is a form of art and expression. So there are a lot of tutorials out there that help people see what tools are available for them to adopt. I feel like people should try lots of different things and see what's fun and interesting. Many independent game developers are just making simple games with not a lot of layers of complexity. Larger studios implement more strict control over CPU GPU cycles. In unity, it is pretty easy to profile to find things that are slowing you down. Also, are you filming out of an RV?
@Acerola_t
@Acerola_t 2 жыл бұрын
Thanks for the comment! I agree that my points don't apply to those making simpler games that will never be intensive. My main issue is with tutorials that portray the content as out of the box ready or teach a topic without explicitly stating that it's beginner knowledge. Also yeah I am filming in my family's camper lol, I unfortunately don't live alone so there's nowhere else private to film.
@teamldm
@teamldm 2 жыл бұрын
Yup, it's simply different audiences. There's so much shit that you need to learn in game development, so you need a bunch of little dopamine-inducing wins on your journey. If I'm 3 months into learning Unity and want to know how to make a nice looking grass environment, I'd probably go with the path of least resistance for that small win to keep me motivated. If I'm a bit more experienced and working on a production-level project, then it's up to me to keep an eye out for potential performance pitfalls. I can't just go with the beginner-level "STYLIZED GRASS IN 5 MINUTES" tutorial and call it a day. I'm not sure I'd call those styles of tutorials predatory. They do serve a very real purpose to the community, as do these sorts of videos calling them out for the reasons you shouldn't follow them. Nothing's black and white :)
@Acerola_t
@Acerola_t 2 жыл бұрын
@@teamldm Yeah, there's certainly nothing wrong with 'stylized grass in 5 minutes' videos, but the predatory part is when it's portrayed as a production ready asset when it's the exact opposite.
@LineOfThy
@LineOfThy 2 жыл бұрын
@@Acerola_t very true.
@phartferd5738
@phartferd5738 2 жыл бұрын
@@NeoHCgbz You have a great point, in addition, for people like myself, who could at best be called a hobbyist, starting off thinking through how to optimize it before it's implemented, means I'll never actually start making anything lol.
@hyeve5319
@hyeve5319 2 жыл бұрын
This is the kind of thing that makes me very very glad I STARTED with an interest in programming, rather than in "gamedev" (which is a massive nebulous area of many different skills). Having learned CS fundamentals and how to use raw programming languages by themselves - mostly self-taught from a very young age by badly making things and later figuring out how to make them better - it's sad to see so many people struggling because they've missed the most important step. Programming is the underlying core of everything that's made digitally, and while you do not always need to understand it to USE applications, if you want to MAKE one and truly have understanding and control over exactly how it works, raw programming and CS understanding is essential. I'd argue even more essential when working inside an engine, because even if the engine solves some things for you, if you CAN'T look into it and figure out how it works and debug your issues, your app will be crippled by workarounds and problems you just didn't understand how to fix.
@paolaanimator
@paolaanimator 2 жыл бұрын
Do you have any suggestions about how to get into programming? I'm just starting to dive into coding. I'm still unsure of coding bootcamps, but I may join in one day when I have enough money saved up. I may join a bootcamp that's 6 months long at least to give me time. But before that, I plan to start off with free resources online first and I'm even reading some coding books to see if I can understand some basic concepts and eventually move up to more advanced concepts of coding. I don't plan to code only for games, I've been interested also in app development. VR games also fascinates me but I know VR is still very new.
@hyeve5319
@hyeve5319 2 жыл бұрын
@@paolaanimator Mmn.. Tricky question! IMO, learning code isn't really "hard", as long as you take the time to properly understand exactly what's going on, but then again, it's easy to say that as someone who's been programming for literally most of my life. There's a few significant differences between writing standalone code and code for games (in an engine, at least), but once you have a good understanding of "how to code", you'll be able to tackle any kind of game or project without too much difficulty (other than the inherent challenges of whatever you're making) Bootcamps and "tutorial sessions" and all that kind of stuff never really worked for me; I usually find it a lot easier to search out and learn things myself, as I spot which things I don't understand, but that may just be me. The way I got started was a long and slow process of just.. messing around with things, when I was a really young kid - I started using visual drag-n-drop "languages" not long after I learned to read and use a computer. Starting as an adult (or at least not young kid) now though, I don't think you'd want to go through that haha. There's a bunch of fantastic resources out there for all kinds of code and different projects, so I guess I'd recommend just, searching around for the kind of project you're interested in doing, and finding some good beginner explanations (not just follow-along-tutorials!) of how to get started with them. If you'd like, feel free to add me on discord (Drake#6138) and I can try and help out if you get stuck or confused anywhere.
@paolaanimator
@paolaanimator 2 жыл бұрын
@@hyeve5319 Thanks Drake! And yeah, I've been trying to start out with free resources or resources I can check it out to learn about coding on my own first (like coding books) before considering spending money on a bootcamp. I guess what makes bootcamps helpful is access to a community or (hopefully) access to internship opportunities to get into coding jobs in the future. And thanks for the Discord ID! I'll DM you in Discord. 👍
@gabek5760
@gabek5760 2 жыл бұрын
I think there is a good niche for unoptimized tutorials, as others have said: Sometimes it's not about making the game run at 200FPS, sometimes it's about making the game run in the first place. That being said, I do appreciate emphasis on optimization, and I do believe that there is a large market looking for that kind of thing. I Imagine you'll go quickly, if you focus on making tutorials, but optimized. P.S. I wish you did unreal instead of unity lol
@Acerola_t
@Acerola_t 2 жыл бұрын
I try to keep my videos about theory only so it applies to all engines, I just happen to use Unity.
@JRHainsworth
@JRHainsworth 8 ай бұрын
"I don't want to name any particular devs" *puts Brackeys in thumbnail*
@Tarodev
@Tarodev 2 жыл бұрын
The transition at 6:32 made me spit my Kellogg's® Sultana Bran
@IIARROWS
@IIARROWS 8 ай бұрын
Never assume malice when it can easily be explained by incompetence.
@nankinink
@nankinink 2 жыл бұрын
YES. Thank you. Tutorials do help people grasp the beginnings of programming. BUT, they should only be a kickstart and that's it. Everyone should proceed to learn C# fundamentals (unity's case), coding patterns, etc. Unity actually has a pretty easy tutorial on C# basics that can help tackling this step. After this, learning actual math also is a must. And it's not just tutorials, many assets in the unity's asset store sucks. I stopped buying then since most of them are a convoluted mess. I have a colleague in the studio that grew watching tutorials and his code sucks hard. We gotta correct a bunch of issues when dealing with his pull requests, sometimes even ignoring the issues because dont want to deal with his shit anymore. When he asks about how can he improve, we tell him all those things and he just goes "but why tho, it works fine for me". god
@joshuaharris7560
@joshuaharris7560 2 жыл бұрын
I feel like you are missing the mark here a bit. The majority of tutorial consumers are beginners. I think the only thing that is important for the beginner is to make their first game work. It doesn't need to perform well in real world situations, it doesn't need to be totally bug free, it doesn't even need to be fun. It just needs to model the behavior the designer wants. More advanced users will understand optimization, but before they can be advanced users they have to be beginners. I would never teach a beginning developer how to make an AI system work with a highly optimized blackboard system that uses an event based behavior tree. I would teach them how to build an FSM. It will be slow and rigid, but it will get them thinking about the process and help them understand more complex designs later. Tutorials are springboards for new developers to use to make something they want to happen, happen.
@NotASpyReally
@NotASpyReally 2 жыл бұрын
acerola: "I dont wanna point fingers-" thumbnail: _evil brackeys_
@goldendragonbringer
@goldendragonbringer 2 жыл бұрын
I work a non-coding job for a living. I want to do game development as a hobby. Years ago, I watched C++, C#, and Python videos that are 2+ hours long. Even then, I felt it was wasted effort. How to apply it or understand the explained concepts were limited. Every 5 mins I tell my screen, "Why is that useful? Isn't this the same as that? Couldn't I do xyz instead?" and other questions only a person can explain. About 3 years ago, I decided to spend a few weeks of free time using Python instead of watching tutorials. I couldn't even get the program to work. I asked in the forums and posted images but I was ignored. So my coding journey ended and I probably forgot a lot by now. If you don't use it, you lose it. And I barely used it. I've only come back because of the Godot game engine. It feels like my childish goal is finally in reach again. But as you said, I probably still can't optimize. Where are these Boring But Best tutorials instead of clickbait? There are some people who are willing to do the hard and long foundation instead of the quick and easy lies. If I'm going to be told I'm wrong, I would prefer in the beginning when I'm learning. Anyway, that is my coding rant. It's not easy for a non-coder to distinguish good and bad tutorials. Even if I am told that, I can't trust an internet stranger either. Either way, I subbed because I prefer the truth.
@Acerola_t
@Acerola_t 2 жыл бұрын
Unfortunately I dont use godot so I cant point you in the direction of reliable godot resources, but I wish you luck!
@greenmario3011
@greenmario3011 Жыл бұрын
My problem is that I learned coding optimization but, because I'm trained as a regular engineer, I learned *matlab* optimization techniques which don't work in anything else. For context Matlab is designed to do matrix math so your main first-level optimization technique is turning anything that iterates over a list into something that turns the list into a matrix and operates on it all at once.
@sheezy2526
@sheezy2526 8 ай бұрын
It's basically blind leading the blind
@jbluepolarbear
@jbluepolarbear 2 жыл бұрын
Optimization is a skill developed over time and is often in a case by case basis. Make your game first, optimize later. Pre-optimization is evil and will waste hours of development time that could have further progressed your game. Beginners shouldn't worry about optimization until they need to.
@ouagagamer3798
@ouagagamer3798 2 жыл бұрын
I took a computer science class on java before starting on unity, and mostly look at tutorials for intense equations that would take hours to finish, or if I need a start on some system. I mostly make my own systems, but if I hadn't taken computer science, there is no way I could even use an array to store a few variables.
@coluzea
@coluzea 2 жыл бұрын
haha, this is a great video, i love that you take performance seriously. a game that runs good is a game that looks good and feels good. doesn't really matter how good the hardware is getting. if anything, gamers these days are starting to value high resolutions and even higher framerates, so even somebody with a higher end pc might feel disappointed at a poorly optimized title.
@sibbyeskie
@sibbyeskie Жыл бұрын
My game runs at 1400fps on a modest desktop. I optimized to hell and I got it running at… 1400fps.
@HyperpigeonMinecraft
@HyperpigeonMinecraft 2 жыл бұрын
I've seen that technique used in a tutorial before, though if I'm remembering correctly it was a video by a 3D artist, not a game dev, so ofc their techniques are going to be a lot different and less optimization focused. Great vid btw, watched one of your grass videos then this one, and subscribed :)
@mapton8208
@mapton8208 2 жыл бұрын
Optimization aside, there are so many tutorials that show how to do one thing, in a one c# script and basically what tutorial teaches you, is how to download the script and attach the script to your component, voila. Those tutorials are only fine if you literally never coded by yourself or never opened Unity and you really want to know how things work in this environment. For example, check Brackeys platforming tutorial and compare it to Sebastian Lague 2D platformer basics. This can show you the difference between INFLUENCER and a PROGRAMMER. I recommend every aspiring game developer to download projects, disassemble them and try to make them work from the scratch using the code made in another project. Unreal got a pretty vast demo library made by the developers showing good programming practices in their projects and there are some good breakdown videos on youtube explaining some stuff. I bet Unity got some good stuff too.
@HallyVee
@HallyVee 2 жыл бұрын
My favorite tutorials are when they use highy specific versions of various software without showing any of the setup or prerequisites.
@somerandomdude4588
@somerandomdude4588 2 жыл бұрын
How to make a game in Unity tutorial!; Step 1: add a fully functional rig of a human Step 2: add gravity Step 3: add controls Step 4: add enemies Step 5: add the ground
@vallericke
@vallericke 2 жыл бұрын
Big disagree. While it's true some tutorials could be better, I don't get why you need to harp on optimization. As a beginner in game dev and especially in coding, it is an immensely complicated and arcane topic. Being able to follow a simplified tutorial and finish a game, no matter how simple or unoptimized, is a very important first step that many fail to achieve. Ideally everyone should have gone through a comprehensive coding class, but many people don't have the luxury or attention span for it. Anything that can help getting started in development is a good thing.
@blinded6502
@blinded6502 2 жыл бұрын
Optimization is not important. The important part is understanding what you're working with. Many people aren't even aware that they are creating a ton of garbage by manipulating strings in C#.
@slavic_sloth
@slavic_sloth 2 жыл бұрын
when i first started game development i would always follow tutorials and keep questioning why certain things weren't explained very well, and then i came to the conclusion that some people doing the tutorials don't understand what they're doing themselves. a lot of these tutorials are basically copied and pasted from other tutorials but said in their own voice. want to make a 2D platformer game? There's at least 100 basic tutorials doing the *same* exact thing that another tutorial has done. want to make a 3rd person shooter? there's plenty of those that start off the *same* exact way.
@habibyahya788
@habibyahya788 2 жыл бұрын
while I agree to your video, I just don't get it why the comment section is suddenly filled with hatred towards tutorial those tutorial still a great starting point. and if you really is want to search for a robust "how to something" don't search it on youtube, search for a legit documentation! articles or something! saying "Tutorial on youtube is the worst thing to start" is just not right. for me especially when you're learning how to code, the first step is literally "Make it works". I don't really care about optimization first, just trying to "Make it works". After that, if I deep dive into it then the second step is "Optimize it" so don't try to think about the so called god "Optimization" if your code doesn't work at all. maybe you said that "Then it's a waste of time when we study about optimization we need to refactor all of our code". HELL NO it's not a waste of time. Remember, you want to STUDY. doing something wrong and KNOWING IT'S WRONG afterward is part of studying. of course what I said is different for professional scene, where time to work on project is a resource so you just cant waste time. but like I said, most people that search tutorial on youtube is just people that wants to start learning about game development. no hatred towards Acerola, I just don't get it how many hatred comment towards youtube tutorial in this video. "Oh my favourite youtuber saying tutorial is bad, time to say that it is bad" fookin bullcrap
@dinoeebastian
@dinoeebastian 8 ай бұрын
I definitely agree, sadly, those awful tutorials were infinitely better than my game design classes I took in school, if you can even call them that
@shhdev
@shhdev 2 жыл бұрын
Congratulations, you found a short comment!
@FerintoshFarmsPhotography
@FerintoshFarmsPhotography 2 жыл бұрын
This is like in Unreal tutorials, all the people showing how to make stuff just get you to cast to it, which is the worst thing you can do.
@stuhl1941
@stuhl1941 2 жыл бұрын
I kinda agree, but also strongly disagree somehow. First of all, games are an form of Art - smaller projects and beginners most likely dont need to care about optimization. my og comment had way too much text thats why im doing a short form: - what i went through is important on why i think that way - if not easy --> probably scaring away people --> not good (as above, art mainly and many projects are small) - optimization still important - but not for beginner, beginner can learn through mistakes why optimization is that important, or it can be talked about, but never do code complicated when teaching starting beginner just because its "way more optimized" - one step after the other same also goes with other game stuff but 3d should be less affected because you should start with simpler shapes / colors and get them right first anyway... --> rather teach the basic of: as beginner, keep it small -> make mistakes -> learn from it - i think thats the most important lesson. there are worse tutorials than these, that are simple and maybe not optimized but still explain on how stuff is working and why stuff is done like this. Im talking about tutorials where there is no explaination, just code or something, and then: and now its working. (yes, im adding this because of the clickbaity thumbnail)
@ryanb5127
@ryanb5127 8 ай бұрын
As a software engineer that would like to learn some game design, I’ve been frustrated by how often tutorials ignore fundamentals
@ZahhibbDev
@ZahhibbDev 2 жыл бұрын
Even though I agree in many ways, in my opinion the most important thing for a developer is actually Finishing a game. Sure I dislike how optimization is a afterthought in majority of tutorials but I wouldn't expect a beginner tutorial to go through optimization techniques or solid programming anyway. If someone wants to make games, then they shouldn't be bogged down by optimization principles, at least not in the early stages. Instead they should be introduced to the several fundamental aspects of developing a game (design, art, etc) and I would honestly prefer tutorials put more effort into planning for the development of a game before anything else. I'd argue the people targeted in all of these beginner tutorials aren't primarily interested in programming and just want to put things on screen and see it move as a start -- some are artists, designers, musicians, etc, that simply want to make a game and take the first steps. Nontheless, great video and I learned something new! :)
@CombatByrd
@CombatByrd 2 жыл бұрын
"For the sake of privacy, I won't be naming any specific tutorials because I don't want any of the authors to feel bad or be targeted" Photoshops Brackeys to look evil for the thumbnail 😅😅😅
@kristiandevil
@kristiandevil 2 жыл бұрын
very true. I went back to a game I was making just a few weeks after getting a junior programmer job at a game studio and already cringed at the old code I wrote with stuff I learned from tutorials
@zhulikkulik
@zhulikkulik Жыл бұрын
The problems with tutorials are: They usually cover only the most basic things; There are dozens of tutorials about the same topic, some of which contradict each other; They show you how and what to do without properly explaining why you should do it; While they are a good starting point, you can't really learn from them, unless you pause every second and look in the documentation what is this function, what does this component do, what does this option mean etcetcetc.
@cdarklock
@cdarklock 8 ай бұрын
Most people think "game developer" is like "bicycle mechanic" - a bicycle mechanic doesn't need to know everything about mechanical engineering, they only need to know what applies to bicycles. Except in reality, "game developer" is more like "cardiothoracic surgeon" - a cardiothoracic surgeon cannot possibly do the job without being a full-fledged surgeon, and ALSO needs to know all the particular needs of the cardiothoracic specialty. "Game developer" is not a simpler, more basic type of software developer, but a whole software developer PLUS a complex and difficult specialty.
@jonwatte4293
@jonwatte4293 8 ай бұрын
For an indie game, you're unlikely to create enough content that a modern computer would be challenged overall. Optimization is important when you run into a roadblock, but if you use a modern engine (which you should) then you can get far before that point. 99% of game projects fail on "isn't fun" or "needs too much content" or "requires time travel to work" or other design/project reasons. Time spent on optimizing before you know you have a game that is fun and can be implemented, is 99% likely to be wasted.
@Acerola_t
@Acerola_t 8 ай бұрын
Sure, but I showed examples of tutorials made for indie devs and how just this simple example is enough to completely ruin your game. It really is not hard to make an effect or single system that completely tanks the performance of your game. It is on the educator to inform people how the tech presented affects you.
@jonwatte4293
@jonwatte4293 8 ай бұрын
@@Acerola_t Even tanking performance largely doesn't matter if the game isn't working from a gameplay, fun, and production point of view. Clearly, you'll do less well if you actually ship a sluggish game (in fact, you should check on integrated graphics with some frequency!) But this is an intermediate concern, whereas the tutorials you link to seem mostly like beginner tutorials. Your framing would work better as "next steps for indie devs" or something like that. (Whether the KZbin algorithm would agree, I have no idea, though! Negativity gives clicks...)
@Nebulaoblivion
@Nebulaoblivion 2 жыл бұрын
01:01 “I wont be naming any specific tutorials or authors because I dont want them to feel bad” literally the thumbnail is a photoshopped picture of Brackeys as the devil?
@freezingcicada6852
@freezingcicada6852 2 жыл бұрын
I dont think its an issue for optimizations. Many youtube or even paid beginner courses dont even get you a solid foundation of how coding works, operates and how the data is allocated. I've been dabbling with coding/scripting; idk the lingo so searching things up is miserable. Concatenation is pretty universal but some people hit you with "???" when you ask about functions even though they are just Variables in other languages. Legit I was malded the fuck out when I was looking to see if I could use ENUMS as a state machine flip switcher by using the defined function names in a script instead of using Else/If statements. Legit had people giving me "Enums are just for strings :^)". It wasnt till I decompiled some code using a Github tool that I found out that yes, Yes you can do that.
@joaoorsi3982
@joaoorsi3982 2 жыл бұрын
chapters, description full of sources and links and even song credits with timestamps? One video in and I love your channel already
@m_k.o9697
@m_k.o9697 2 жыл бұрын
imo its not just programming but sometimes/often drawing tutorials too, they set you up for failure by showing how they draw heads/faces,, etc but never explaining how it works, the muscles, the fundamentals.. etc
@GrievelornTCG
@GrievelornTCG 2 жыл бұрын
People should just get better computer. I refuse optimize.
@Acerola_t
@Acerola_t 2 жыл бұрын
Download more frames per second, easy
@gscruz7840
@gscruz7840 2 жыл бұрын
aight... imma go download Ram real quick
@GameDevNerd
@GameDevNerd 2 жыл бұрын
@@Acerola_t got any extra 3090Tis I can download? I had one but it lost 10hp (horsepower) and it turned into a 3080Ti ... trying to download another 3090Ti or some extra horsepower I can pour in it to speed it up. Hopefully there's no leak in the graphics tank or it'll be a GTX 1060 in a week ... 🙏
@Acerola_t
@Acerola_t 2 жыл бұрын
@@GameDevNerd I may be a professional graphics programmer but I'm out here workin with a 1660 lmao
@GameDevNerd
@GameDevNerd 2 жыл бұрын
@@Acerola_t come buy this extra 3070Ti I've got sitting here doing nothing but chilling in the box and shrink-wrap lol. Using a 3080Ti and want a 3090Ti, so I never opened it or came up with an idea for what to do with it, lmao. 1660 is a real dinosaur's card now, man, they've been discovering those next to T-rex and stegosaurus fossils ... at least get a 2080 from the mid-Pleistocene ice ages off of a wooly mammoth skeleton 🦣 😂
@HurricaneSA
@HurricaneSA 8 ай бұрын
We shouldn't be teaching game development to newbies. We should be teaching the fundamentals of programming to newbies. Optimization of code is a fundamental principle which a programmer should know before even looking at a game engine.
@CoolJosh3k
@CoolJosh3k 2 жыл бұрын
Simplified because it helps new comers is fine, but is MUST contain a section or commentary on why something is bad to do in real projects. For example, following some tutorials for Unity would result in so much garbage collection, but the concept is never mentioned.
@datboi_gee
@datboi_gee 8 ай бұрын
The older I get, and the less capable the industry seems to be getting on average, the more I realize how fucking EXCELLENT my first instructor was at his job. Taught me VB and C#, but in the first year he had us focusing on topcoder problems which I think was instrumental in shaping the way I think about my code. Forcing new programmers early on to consider optimizations in their code is a great way -- and I would argue fundamental -- to teaching how to program. Because you can't *really* have one without the other. You can write syntax all day and it might even compile, but if you aren't aware of exactly why you're laying your logic out the way that you are, and the back-end steps that you're demanding your code routinely takes to function, you're dead in the water for anything other than the simplest of problems. Plus it just feels nice to simplify. Makes you feel like you actually know what the fuck you're doing. Whether that be as simple as re-structuring your logic to execute / return faster and check less conditionals, thinking of abstract ways to use the data values you *already have* in order to extrapolate, or learning your libraries more fully (especially in higher level abstraction) to find cleaner and less CPU intensive ways of doing what you're trying to do -- i.e. you can save yourself a lot of power if you call functions that are cleanly written in C++ versus some dogshit function you wrote in the scripting language built on top of C++. And maybe it's an engineering nerd thing but I cringe when I see people using like 10 variables that they could have simplified down into, say, 5 by making logical observations about the nature of the data they're assigning. It always feels like they're programming in cave-man mode rather than thinking at least moderately-deeply about what they're actually demanding of their script.
@TegridyMadeGames
@TegridyMadeGames 2 жыл бұрын
I think theres nothing wrong with avoiding it at FIRST but it quickly becomes something you NEED to learn and almost simply can't
@Otter_Knight
@Otter_Knight 2 жыл бұрын
Thank you for the interesting video! I think it's important to consider that different "types" of tutorials serve different purposes. Many tutorials exist to explain the fundamentals of a technique or tool. The point is to give the learner enough information to get started with the topic in question, not to turn them into an expert. They can then go on to learn by experimentation, or move directly on to find more advanced tutorials on the topic that are meant to teach how to do things well. I personally like this kind of videos as a quick introduction to the topic before diving into documentation or written articles. I prefer each tutorial to be boiled down to the core point - let introductory videos teach the bare concepts, let the advanced tutorials teach optimisation. That said, there seems to be an overwhelming majority of these beginner videos with very few creators caring to actually take the next step and make the advanced follow ups. Or even direct learners towards other sources. Additionally, tutorials meant to show one specific way to make something or solve a problem (such as the grass example) absolutely need to present a proper, optimised product, or point out the unsolved flaws. The thing, though, is that experienced programmers figure these things out. They often realise when things are not optimised. They know to search out the advanced information. And they don't just copy paste code. I think the more core problem you are getting at is not so much the lack of optimisation in tutorials, but rather how game dev tutorials targeted at complete beginners often fail spectacularly at providing guidance towards learning actual game development beyond making balls move around and making some animations. They claim to take people from knowing nothing to be able to make a game, but they only ever teach the surface technology of the engine and provide some examples of what code looks like. I have not yet seen such a tutorial take the time to explain which skills one needs to learn to be able to make actual games. They don't mention important programming concepts such as optimisations, and as such many are left without even knowing that there is something to learn. They also provide no help in getting started with learning about things like game design theory. In summary they just don't point the learner towards making anything real. It's more like they are just teaching how to use Unity as a toy. People who learn game development and programming like this, and don't happen to advance further, will then just continue searching out tutorials that will continue treating Unity as a toy and provide easy solutions. They are not interested in things like optimisation, because they have never really been introduced to it or its importance. They have not taken the step to doing this seriously. Thus you have the audience for all these dumbed down tutorials. I am lucky that my own tiny channel teaches a relatively obscure programming concept, meaning most people who watch it actually know what they are doing. They will absolutely call me out if I fail to properly address optimisation in a video. I believe it helps others to read their critical comments, and I wish comments like that were more common elsewhere. Nevertheless, I am grateful for your video, and I hope it will help change the tutorial landscape for the better. Also, great suggestions for learning sources. In case anyone is interested in rendering vegetation, there is a great GDC talk called "The Vegetation of Horizon Zero Dawn".
@syvulpie
@syvulpie 2 жыл бұрын
Lots of these game development KZbin channels usually make me just give up a lot. It sucks, but I try my best to find other people... which leads to more disappointment.
@TeppuTeppu
@TeppuTeppu 2 жыл бұрын
Yes, totally agree, optimization is one of the most important part of game development. The better your optimization skill is, the more ambitious your game can be. Just look at noita, every pixel is simulated, it is beautiful.
@Norbingel
@Norbingel 2 жыл бұрын
This is true even of the official Unity tutorials. My first released game, I must have spent more time going over everything again because the original was so unoptimized it was unplayable on mobile. Oh, and I'm leaving a like because of the thumbnail, not the content (which I agree with).
@MR3DDev
@MR3DDev 2 жыл бұрын
This is why I stopped making games and now make film, I got tired of thinking about optimization
@Acerola_t
@Acerola_t 2 жыл бұрын
the reverse kojima
@hydlidevlog
@hydlidevlog 2 жыл бұрын
I am personally not a gamedev by heart, yet I did some gamedev in the mid 90's. And to be fair, back then you were limited to the Hz the monitor could render a frame. And back then, video display processor units (vdp in short) could go out of sync with the Cpu (using assembly at the time) once the frames did not match. So, if your CPU was pushing for 100 FPS, yet the VDP could only process 60Hz at the time, your game would simply freeze so you had to optimize the code. Same goes with the otherway around, if your CPU was handling only 50FPS yet you were pushing 60Hz on the screen, your game would freeze. Nowadays, video processing have become a free for all. And most people always forget on how many polygons you can throw at a screen at the same time, and also modify them, or do collision detection on them, or... well, there you go. I think that the whole idea of a loose vSync threw the idea to optimize code out of the window. Just throw polygons at the screen, if everything fails just upgrade your videocard or cpu... that will teach you. Nowadays I am more an SDK developer, and in my realm every opcode counts. So does cpu cycles, and operators etc...
@AClockworkHellcat
@AClockworkHellcat 10 ай бұрын
"I've met some people that didn't even know what optimizing meant!" Ah, so you've met pretty much any programmer who graduated in the past 20 years, game dev or otherwise. Cool.
@CocktailMojito
@CocktailMojito 9 ай бұрын
lmao yeah thats what i was thinking, every games is a buggy mess that at least needs 100gb nowadays
@awesomeindependence9435
@awesomeindependence9435 2 жыл бұрын
It’s 2am. I read the thumbnail as “You’re being incinerated.” I was very confused
@xensakura595
@xensakura595 2 жыл бұрын
a lot of this is what persuaded me to seriously consider a CS degree, as it was just so difficult to self-learn stuff when the internet is flooded with loads of misinformation and bad tutorials.
@matiashernandez1
@matiashernandez1 2 жыл бұрын
I've seen this issue with programming in general, there are hundreds of courses online and only a few are actually good and professionally useful... I mean it's good that they teach programming in an easy way that anyone can understand, but as you said, it would be good that they at least mention the concepts of optimization and engineering to learn in the future. I've also worked with "programmers" from KZbin tutorials before and their code is always a mess and not scalable at all. It's really hard to read and you end up fixing or improving a lot of things that should've been just simple features, and when it's time to upgrade some of them you practically have to re-do everything again. So at the end of the day you spend way more time than it's needed and developments get delayed and the work is more stressful and all those things that come after those kinds of situations. And a lot of people taking those courses have high expectations about improving there careers by adding programming skills to their repertoire but when they manage to find a job or a project from real life, they will struggle a lot... Nice video btw.
@MrLordFireDragon
@MrLordFireDragon 2 жыл бұрын
I think this critique is very valid, but the way it's framed isn't. Since Brackeys is on the thumbnail and in the pinned comment, I'll use them as an example: they're there to show you what you can do with a game development engine like Unity. Their resources are made as a point from which you experiment and learn, not which you stick to like a Bible. There is, obviously, no point to making some arbitrary game someone else made, these tutorials provide some code you can play around with and improve (while forcing you to write the codebase yourself so you understand it). I think more could be done to emphasise this experimental aspect (especially in terms of performance) but I believe it's far from as bad as you describe. I particularly don't like this practise being called 'predatory' because I believe this is simply a gap in the educational space for a new form of media. People just don't know the best way to teach game development, and they're trying their best. And even then, we can already see thousands of tutorials for other media (drawing, for example) which are made out of goodwill by experienced and inexperienced creators alike who simply don't know what to prioritise when teaching ('draw the rest of the fucking owl' is a meme for a reason). This seems more a problem arising from content algorithms prioritising bad tutorials than anything else. Finally, as another commentor noted, not everyone making games wants to go into large scale web dev. Some just want to use it as a form of self expression, to mess around and try new things. These things don't require optimisation, and bloating them with it might discourage new adopters. Since this comment has been profoundly negative I do want to go back to my original praise to cap it off: there is a lot of content missing for people who seriously want to pursue professional gamedev, especially in terms of programming fundamentals and optimisation. Good job bringing attention to that, you're doing God's work.
@TakoBoi123
@TakoBoi123 2 жыл бұрын
Hey thanks for this video. I'm currently in school working on a degree for game design. I already knew about optimization and how it helps compress the size of it. But I never learned what you mentioned from the other tutorials I watched nor from my courses. Programming is pretty hard for me, mostly because I don't exactly know how to start a script on my own. But now, I'm determined to put my nose to the grindstone to get a better understanding. Also the pinned comment helped me realize something I didn't know about my learning. Thanks again for both this video and pinning Aaron's comment. Def going to be checking out catlike. Also, based Persona soundtrack.
@Xeem7
@Xeem7 2 жыл бұрын
Thank god I found your video when I was procrastinating my first Unity project. I would have started the wrong way and I am really thankful the KZbin algorithm gave me that video
@az-kalaak6215
@az-kalaak6215 2 жыл бұрын
that's exactly why I never watch a tutorial on how to implement something but on how to use the tools I chose to use if the tool does not work, i just swap it for another one
@NihongoWakannai
@NihongoWakannai 2 жыл бұрын
My main problem isn't really optimization, it's architecture and implementation. So many tutorials are just made to give basic functionality that work in a vaccum but completely lack extensibility, don't account for edge cases, and don't fit well into the overall architecture of a proper game. It's fine for beginners, but if you want to actually make a game then they're useless. I tried to search how to make a good racing controller and almost all results are the exact same very basic controller that everyone ripped from kenney, or people trying to get the unity wheel colliders to barely function. I ended up using an unreal engine tutorial and a GDC talk from rocket league devs to actually get any useful info. And game architecture in general isn't taught enough, because it's just not a glamourous subject. But there is absolutely no way you can possibly make a real game without understanding how to design good architecture for your game. Tbh, trying to make a traditional roguelike game has been a big exercise in improving my game dev ability. Traditional roguelikes are just a bunch of algorithms and many different systems all communicating to each other. So if you don't put in the effort to properly design everything, your code will spaghettify instantly. It's like one big exercise in the generation, storage and flow of data.
@dibaterman
@dibaterman 2 жыл бұрын
Gonna say no, workflow comes first. Using unoptimized methods is a okay as long as you get your projects done. Each time you get a project out you build a workflow and when that work flow is solidified you should also have to refactor a little less for more simple things and a little more for things you didn't realize could be optimized before. In short getting projects done in one year is much more important than spending 10 years trying to be perfect.
@garmezon9502
@garmezon9502 2 жыл бұрын
its sad this doesnt apply only to game development, ive seen a lot of tutorials that teach you how to do something in an inneficient way that doesnt need to be done that way. I think thats maybe due to the dunning kruger effect where someone learns a litte and think they know enough to make a tutorial. But idk
@coobbyo
@coobbyo 2 жыл бұрын
You saved me. Thank you!
@clearskyy
@clearskyy Жыл бұрын
I feel like optimization was mentioned in my CS classes but was never actually taught to us lol
@marcar9marcar972
@marcar9marcar972 8 ай бұрын
I’m sorry I don’t trust you.
@ericstephenbrenner
@ericstephenbrenner 2 жыл бұрын
I try to learn how to make a game in Gamemaker without any experience AND I suffer from multiple sclerosis, which makes it even harder. GML may be a "slimmed down" version of a real programming language but a beginner like me has to learn from tutorials. And the same problem occurs there as well. I hate it especially when they say "For the sake of simplicity for this tutorial..." or "There are surely better ways to write this, but for this tutorial..." and then they never tell you about it again. The problem is, that as a beginner, I have no clue where to even look ... or what for, when trying to find "a better way". This can be very frustrating when your brain is actively working against you already.
@willemowen2515
@willemowen2515 8 ай бұрын
I feel like KZbin is meant more as an entertainment and infotainment platform. While it has plenty of lectures and educational resources they will never be as popular as people looking for a ‘quick fix.’ People like videos with easy to understand information they can quickly consume. These people are likely to never pickup a textbook or a manual of any kind.
@TastelessSoftware
@TastelessSoftware 2 жыл бұрын
They also don't tell you about how much more is involved in architecting a complete game that is more complex than Flappy Bird.
@kylianthehylian
@kylianthehylian 2 жыл бұрын
I'm learning Unreal 5 at the behest of my work. My strategy is look for stuff that teaches the basics. I've run through C++ tutorials(no copy-pasta, actually writing the code) and many a blueprint tutorial. I always try to look for ones that go "I'm gonna show you how to do this AND explain the why". If I find myself in a tutorial that's going "do this, do this, do this, YAY you can now do exactly one thing" I nope outta there. We have some unusual projects coming up and I need to understand the back-end basics cause I know I'm probably not going to be able to google it easily. The C++ stuff actually cleared up a lot of Blueprint confusion for me because at the end of the day, it's just a visual interface for some C++ code.
@DarkWolf80s
@DarkWolf80s 2 жыл бұрын
1000% agree here. KZbin has a lot of "Tutorials" that seem to be helpful but then the very thing you wanted is not there. Funny thing is they use the keywords that you wanted in either their title of the video or hashtags. So yes they are predatory. Question is nobody knows if they are done on purpose with the intention of malice. But what I do know is that it was done mainly because the KZbin algorithm feeds on education stuff far more. So it is in their benefit to make tutorials without providing the full context just so they can get these sweet views or subs. For me I'll leave a simple example. I've been looking for a tutorial on how to setup my audio routing using my GOXLR a for a 2 PC streaming setup. A lot of the tutorials mention the exact same thing and the end result is your Streaming PC only provides a LineOut to your Viewers where as everything else from Alerts, Subs, GoXLR stuff is done on the Gaming PC. That just threw everything out the window because the main purpose of a 2 PC Stream setup is to have one computer to handle the heavy load of CPU processing and the other is ONLY for gaming. It took me a long time to find what I wanted and the only tutorial that did help me was someone with 300 subs and a video showing it raw footage how it was done.
@pro_rookie_gamedev
@pro_rookie_gamedev 2 жыл бұрын
I thought this video would just be clickbait, but you bring up a really big issue. Early on I thought good programming was chucking "if" statements and getting your code to "just work". I've also been watching some GDC talks recently. They can be really technical and math, but I often come out learning something new about a cool game.
@pro_rookie_gamedev
@pro_rookie_gamedev 2 жыл бұрын
🤣 also, "geometry shaders are cringe" lol!
This Problem Changes Your Perspective On Game Dev
25:51
Jonas Tyroller
Рет қаралды 412 М.
I Tried Sorting Pixels
18:03
Acerola
Рет қаралды 953 М.
Electric Flying Bird with Hanging Wire Automatic for Ceiling Parrot
00:15
БЕЛКА СЬЕЛА КОТЕНКА?#cat
00:13
Лайки Like
Рет қаралды 1,8 МЛН
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 7 МЛН
I Created a Game Engine Just to Optimise This
4:50
Vercidium
Рет қаралды 1 МЛН
Why Stairs Suck in Games... and why they don't have to
11:24
Nick Maltbie
Рет қаралды 1,5 МЛН
Do Video Games Fake Buoyancy?
17:08
Acerola
Рет қаралды 232 М.
This is the Kuwahara Filter
18:16
Acerola
Рет қаралды 435 М.
Committing game dev crimes to finish my game
17:19
Luke Muscat
Рет қаралды 94 М.
I Tried Making A Fully Ray Traced Game
26:17
Acerola
Рет қаралды 199 М.
I Paid Fiverr Game Developers to Make the Same Game
10:25
BadGameDev
Рет қаралды 699 М.
Dynamic Detail In Games
9:51
Acerola
Рет қаралды 57 М.
It's Hard To Make Games
18:01
Acerola
Рет қаралды 249 М.
I Tried Recreating Counter Strike 2's Smoke Grenades
33:55
Acerola
Рет қаралды 484 М.
Electric Flying Bird with Hanging Wire Automatic for Ceiling Parrot
00:15