Rant about Youtubers and game engine coding
April 07, 2019, at 09:53 AM (0 comments)
Title: Rant about Youtubers and game engine coding Author: mgarcia Date: 2019-04-07 09:53 +1000 Tags: 2019,Blog, Pics, NetYaroze, GameDev Comments: Open
At least once a month, I try to force myself to search youtube for new "game development" videos.
I say force because, it's often full of highly produced, yet low quality (generic) information videos. I call these people "career youtubers" and not real game developers, where the "game" is just a secondary channel theme, to the youtube career, think Tim "Buzzwick". Real game developers don't have time to churn out daily, highly edited videos, with clickbaity thumbnails.
The next kind of popular videos are the, "I'm starting my gamedev journey" videos. I don't mind these people, it's their story and we can watch from the start.
The problem is when they start out and they "pretend" to give advice. And of course they get their advice from.. yip the career youtubers, the group think of generic advice is perpetuated. So, I've noticed this a lot, it's the state of the internet currently. A mixture of the Dunning–Kruger effect (knowing a little bit of information and pretending to know more then experts) and Narcissism (ego)
So trying to find, honest and genuine game developers, is hard. And to this my interest in game engine development and or C/C++ game development, it's next to impossible to find like minded people to interact with.
Well.. surprisingly, I did!
This kid has heart! He's making his FOSS 3D game engine (for apple) and explains things as he goes.. no click bait, no generic advice, he talks from experience with no ego... just man vs machine!
And yes, he's experienced, read his quora answers:
Something else career youtubers tend to do, is be overly optimistic, fun, everything is easy, accessible and inclusive (with generic advice), well they have to be, they literally want maximum views and retention! Well Harold, doesn't sugar coat anything, here's an example, from How much time would it take one person to code a 3D game engine from the ground up?
- To have something in your hands to show off, about five years. To completely finish it, never.
I started the development of a 3D game engine from the ground up. I had minimal knowledge of computer Graphics and C++, and it took me a total of five years to develop a game engine suitable for small game development.
Obviously I don't agree with everything Harold says or writes. With everything in life, the first time you do something it's going to take 100 times longer then if you did it before, and yeah if you want to code complex physics or rendering systems then it'll take even longer, etc etc, but he's answers are a good read.
I hate apple and windows products, so his engine isn't of much interest to me, however the issues he talks about (3D game engine development... occlusion, collision, rendering, assets, etc, etc) and his thoughts on solving them with is more worth while then just code alone.
But books are still a better source of information for learning then youtube, but having someone explain their thinking is still very helpful.
To continue, I wanted to share his game engine advice video on reddit, but I didn't post this on r/gamedev because I knew it would get a lot of hate. So instead I posted it on a smaller subreddit "truegamedev" whatever that means xD
Well, even there.. like clockwork, the fragile minds of the lowest common denominators were triggered:
- Making a game engine for learning purposes could be useful but making one with the idea you’ll have some competitive advantage is foolish. Unless you’re able to max out what Unity or Unreal can do, there’s very little chance you can make something better. Learning the details of these existing engines and staying up to date is way more productive.
- My reply to MegaJiXiang
- firstly, if you have never made or worked on a game engine, what qualifies you to have any right to say what's foolish or not?
secondly, life, art or product isn't about "competitive advantage", it's about expression.
third, I don't know about UE, but unity3d is spyware, read it's EULA, it's also very bloated, by it's generic design.
lastly, please stop with generic BS advice, appreciate that there's people out there doing different things, and that's ok.
- Second this.
On the flip side I've experienced a negative stigma that "All programmers think they can write an engine better".
What I want to know is what's wrong with not having to write an engine?
That's a lot of work and a lot of time that I could have spent making a game.
- My reply to Ghoats
- "All programmers think they can write an engine better".
That's called "Dunning–Kruger effect"
But all programmers can write an engine, they just can't write a generic AAA/AA/A one.
An engine can be very very small.. if you know what your doing.
"What I want to know is what's wrong with not having to write an engine?"
What's wrong with a mechanic that's never rebuilt an engine?
Nothing, unless the mechanic needs to repair the engines, instead of just servicing them.
Motor engines or game engines, neither are black boxes.
see my reply to the OG comment.
Well, this is getting long now, I'll just leave this post with some reminiscing from the late 90's and Net Yaroze.
This game and it's engine were both built from the ground up (Net Yaroze which included basic 3D,2D,audio,math libraries) for the original playstation in 4 weeks, by a hobbyist university student in 1998.
In fact Rob Swan wrote a good chunk of code to create dynamic 3D objects, Net Yaroze didn't have triangle or quad access, instead all 3D was preloaded via TMD files, a complex Playstation 3D format, and I wont even mention any details about the limited RAM, VRAM, CPU, GPU or lack of even an FPU.
And well, I'm no Rob Swan, but in 2001 while finishing up my own university studies, I made this Net Yaroze 3D side scrolling mess of a demo, in 6 weeks of crunch!
And in 2016 I made a Net Yaroze FPS game very casually over a year.
The point is this, the game engine isn't a problem if the scope is small.
It doesn't take much code to render a textured and light OBJ file on the screen, next animation is a simple matter of "tweening" between OBJ files (vertex animation).
Engine finished! Everything else is game play!
Fast forward to current times and now a custom engine is too hard by 'indie' commercial game developers... let alone 3D!