This is a great cut. I watched the full episode but the fact that you provide the link to it is great. I love these kind of channels. Thank you!
@akademiacybersowaАй бұрын
Years ago my GPU failed and I was left with Intel's iGPU. The only modern and interesting game that run well was The Witness. The game performed way beyond what it had but it did.
@cybernit3Ай бұрын
The key thing Jonathan says at the beginning; do you enjoy writing a game engine? But in the end you will learn quite a lot, and plus you don't have to worry about subscription fees/royalties, but it will require lots of time obviously for most programmers.
@zoeherriotАй бұрын
It's a big undertaking - but worth it. But it's also worth noting that an engine can go from something you write in a weekend, to something you spend the best part of a decade on. So it really depends on your requirements, patience, and interest.
@Alfie-ni7lxАй бұрын
You really don't have to worry about subscriptions/royalties unless you make 1 million + a year. 99% of people making games will not have this happen, and if they do they are gunna be set to make their own engine next time if they really cared about what they had to pay.
@timwhite1783Ай бұрын
Currently building my own now. I dont know if i will ever use it commercially and im not banking on the project financially but it is a very interesting project to work on and i have learned so much already
@soggy_dev26 күн бұрын
The scariest part of this to me is that the knowledge gaps only grow over time as engines further reduce the barrier of entry and more devs are totally lacking in fundamentals. Silly anecdote, but my wife suffers from motion sickness while playing some games. She turns off all forms of view bobbing in every game that she can. We tried to play one of the more popular first person proximity chat games, but it made her violently ill because the camera was directly attached to the character's head. I found a thread where others had asked for settings that would help folks with motion sickness and the devs claimed that it would be "impossible" because that's unfortunately just how things work. After my initial rage at calling something fairly simple "impossible" I honestly just felt sad. It's possible it was just a flippant dismissal rather than being a genuine response, but the fact that I couldn't tell was depressing. I think it's easy for people to view graphics, physics, audio, and all of the various "engine-y" subsystems as solved problems that they don't need to worry about, and maybe that's right in most cases. However it seems like the further we shift in that direction the more game dev is cheapened as an art form.
@LucasOliveira-dw4zh21 күн бұрын
With a lower entrance barrier there are more products and, consequently, more bad and good products. I think the knowledge gap is actually diminishing as there are more people making games and, consequently, more information being available. The bad developers of today will, probably, become much better in the future.
@tonig275717 күн бұрын
@@LucasOliveira-dw4zh That's like saying that with more Python programmers, programmers in general will become better at Assembly. The barrier of entry for using technology is getting lower, but the barrier of entry for creating technology is getting higher. As a consequence, there are fewer competing companies and fewer avenues and incentives for talented people to engage in the increasingly steeper and costlier learning curve. Like, most talented people would choose to build a higher-level system for 3 times the pay as opposed to spending 5 years learning low-level details and get paid peanuts in comparison.
@xelad3362Ай бұрын
Yes, if it's specialized. Why do you think RPGMaker still has so much traction? Because it's designed with top-down rpg games in mind and it's incredibly easy to get something that just works in very little time.
@msmeragliaАй бұрын
People tend to overcomplicate everything, A. If you’re smart and a half decent programmer likely over 90% of 2d indie games could be written with a custom game engine if people just wrote the damn code to make the game and stopped trying to make generic reusable engines with overly complex ECSs etc, just write it, make it work, then optimize it, then move on. Sadly most people just get stuck on even getting started when in reality most of the graphics and simple physics are the least of your headaches.
@tonig275717 күн бұрын
What you just said, is easily a year worth of work, if not more. And once it's done, you're either tied to it for the foreseeable future or you throw it into the trash. So, making an effort to make things reusable, replaceable and portable is the smart thing to do. It's an investment that pays you back over-time (although it may be hard to notice when compared with competition that has been doing that for literally decades).
@msmeraglia15 күн бұрын
@@tonig2757 if it takes you a year, you're doing something wrong...
@tonig275715 күн бұрын
@@msmeraglia You clearly have no idea how long game development actually takes. Cuphead, a 2D indie game, took 7 years to make. And that was while using an existing game engine. Writing a custom game engine, even for a completely trivial game, could take months if you have to write all the low-level stuff for all target platforms, by yourself. And the more features you need, the more time it takes. For any non-trivial game, it may take many iterations over game systems and game design until a game reaches a satisfactory state. For many games you'd need to write some kind of a level editor too. Optimizing, polishing, platform integrations and testing also take considerable amount of time.
@msmeraglia15 күн бұрын
@@tonig2757 right... sure buddy lol log off and go program some more maybe then you'll be able to get the basics done in less than a year 🤣
@rddd893 күн бұрын
Cuphead took that long to make because of the 2D hand drawn art style. That’s a different topic. The bottom line is that a lot of people without any programming experience try to build an engine and that very well might take several years because they need to teach themselves basic programming while developing and restart the project over and over. But an experienced software engineer can build a simple 2D engine in less than a week, or a simple 3D engine in less than a month. It’s really not rocket science anymore, especially with AI to help with planning and debugging.
@Motivational-Mango17 күн бұрын
Sure, there can be a charm to writing your own engine. Potentially you could get things setup and work just the way you like it. It's kind of like designing and then living in your own apartment compared to living in a hotel room. I believe in doing things on your own, and not using too many assets or "shortcuts", but I think making your own game engine is only necessary if you really have to, for example if you think no other game engines are good enough for your game. There is value in outsourcing work, because it saves you time. There is a reason Jonathan Blow has only released like 2 games in 10 years.
@alejmc26 күн бұрын
Oh man, shout out for leaving as a lower third the full podcast name and episode where it comes from. Sometimes so many shorter excerpts and shorts have nothing available to easily track the main even it came from.
@davidberthiaume7514Ай бұрын
I'm developing a top-down 2D shooter/platformer hybrid, inspired by the Metroidvania genre, with unique hierarchical gravity and color-based gameplay mechanics taking place on a spherical world with a simple solid-color low-polygon type art style, all built entirely from ‘scratch’. Admittedly, I'm not deeply familiar with engines like Godot, Unity, or Unreal, but I feared they would require significant arm twisting to accommodate such a unique concept. I think an interest in doing this is what really drove my decision, however. Working on this project has been a joy-a blend of nostalgia for creating my own games in the 90s, the engineering challenge it provides, and the satisfaction of having such a unique creative outlet.
@zacharychristy892829 күн бұрын
What I love about godot is that I don't have to rewrite the whole thing if I decide to change game mechanics later on. Plus all of the points about proprietary code and being at the mercy of companies are moot.
@MonstyliciousАй бұрын
I'm working on a little something with the intention of learning the ins and out of GPUs, and it's illuminating. I definitely see the benefit of "reinventing the wheel" for certain people looking to learn specific topics. If you just wanna make a game? Go with a pre-built engine. Personally I'd go with something lighter than Unreal or Unity if you are making a tiny/simple game.
@brahillms1374Ай бұрын
How about Godot?
@bryphi77Ай бұрын
Everyone's a "perfectionist" at what they love... till they have to do it for money on a deadline.
@desktorpАй бұрын
There are more game engines now than ever before but practically speaking, the reasons not to use a 'general purpose' game engine are dwindling all the time. The main reason to build a purpose-built engine for a game is efficiency, but that demands that you actually know what you're doing enough to outperform the general-purpose engines. Most programmers today are simply not capable of that. Another reason is good old fashioned novelty of seeing how 'low resource' you can go, but again, that becomes a matter of being interested in the game engine itself, which most are not.
@soggy_dev26 күн бұрын
I would say the main reason to build a purpose-built engine is control. Efficiency gains are certainly likely, but that's sort of a side effect of having more control. I've been frustrated many times with general purpose game engines forcing me to do things in ways that work well for the engine rather than how I'd prefer to do them. Or even worse, painstakingly imposing my will on the engine only for it to create massive headaches down the line because I've chosen to go off the beaten path. Jon's comment about them being more trouble than they're worth beyond a certain complexity really resonates. To your point, though, the vast majority of game devs who became programmers by necessity aren't likely to build something better or even care enough to try. In those cases the general purpose engines are incredibly enabling because they create opportunities for cool things to exist that never would have otherwise.
@KulaGGin21 күн бұрын
You can outperform the general-purpose engines using the general-purpose engines. For example, in Unreal there's an unlit mode and 150 rendering flags that aren't "normally" available. When I enable all that, I get 300% performance increase compared to the default lowest t settings. You can do it Unity, too: Unity allows you to make your own game loop completely, so you can disable all the features that you don't want like shadows, lighting and normal physics if that's what you want. But realistically, even bigger companies probably won't be able to beat Unreal Making your own engine is crazy, unless you're a big company and you don't want to pay royalties. Then it's fine. Get 50 people working on it and you'll have it in 5-10 years, for the current years just use existing engines. One of the companies that's doing that right now is Bandai Namco, I think. But I don't know what's the current state of their engine, but there were news a few years ago where they said they'd make their own universe like Marvel but for games and they'd use their own engine for that. But right now they're using Unreal Engine for their products.
@ArthurSchoppenweghauerАй бұрын
Economically it doesn't make sense to write your own game engine. The knowledge of how to write a game engine was never meant to be widespread, kinda like literacy and numeracy during the Bronze Age Collapse. Only a few people know how to do that and that's fine. As our civilization slowly collapses because of the primacy of the short term economic incentive to not "reinvent the wheel", the knowledge of how to write your own game engine will be lost and new devs will not be able to maintain the massive amount of complexity accumulated by past generations.
@SimGuntherАй бұрын
We truly are living in lucky times :')
@maximumeffort1689Ай бұрын
The informations out there, you just need to find it but most people don't want to cos it's a lot of work which is understandable.
@AnteksanteriАй бұрын
depends on how you define game engine, but sure. modern commercial engines can accommodate almost any game.
@neurolancer81Ай бұрын
I love the hyperbole. It’s not that serious
@xenopholis4718 күн бұрын
I only can assume that nowadays you have to work and on the side make an engine because making the engine aint gonna put food on my table.
@brahillms1374Ай бұрын
Here’s the thing. I can get it if it’s for educational purposes to see how it works. Would it not be just doing math others have already done before otherwise?
@TheExtremeCubeАй бұрын
@@brahillms1374 Sure you might have to do some math others have done before you but it's not a crazy amount of it and you will typically use a math library, as a plus you get an engine you can customize however you want
@beandobАй бұрын
@TheExtremeCube an engine like Godot is an interesting middle ground, where it's a complete engine, but also open source and free to modify any way you want.
@soggy_dev26 күн бұрын
@@beandob While this is true, maintaining a fork of a massive, general purpose engine sounds far less fun than building your own from scratch. That's going to be entirely subjective though
@Diablokiller99928 күн бұрын
Writing your own engine also brings the benefits that you have way better opportunities in the industry. Someone has to write and maintain Unreal, Unity, Frostbite, Source, CryEngine and the others. And it's always good to know lower level stuff to write fast code and avoid bottlenecks.
@maximumeffort1689Ай бұрын
Im making an engine to learn and for a portfolio piece to get a job after uni. If in the future, i want to make a game then ive already got something which is completely free and isnt bulked down by things i dont need.
@redrevyolАй бұрын
If I were to have the option to write my own game engine, I would. We need the knowledge that is equivalent to 3 college courses of calculus physics though, which I don't think many people have.
@TheExtremeCubeАй бұрын
Not really, people usually don't write their own physics today, just integrate an existing physics engine like physx or jolt
@Salabar_Ай бұрын
Most of 3D graphics math is freshman year linear algebra, i.e. something former schoolchildren manage just fine. And the simplest collisions do not require even that.
@kerch00Ай бұрын
making a physics engine is still pretty fun though, even if it's not going to as powerful as the large engines
@VikaSo2YtАй бұрын
@@TheExtremeCube first game "Crysis" have own physics engine. One programmer make ☝
@msclrhdАй бұрын
There's a trade-off with this. If you are just doing things that an engine supports then it is cheaper and easier to use that engine. If you need something not supported by that engine then you either need to implement it in that engine, use a different engine, or write your own. Sometimes extending an engine can be easier than writing your own, sometimes it can be harder. It is also harder to make a change late into development as you are already tied to the way the engine does things. Thus, it is a good idea to have a high-level idea of the features you want in a game so you can quickly prototype and evaluate various engines.
@doanamo27 күн бұрын
Joanathan always reminds me of Marcus from the Detroit game.
@tanama84Ай бұрын
I would love to write a simple 3D game engine and maybe someday to create LIVE interactive 3D game engine so game developers, animators, sounds engineers, etc. can collaborate in REAL TIME, since computer performance has increased, and everyone have high network bandwidth there is a possibility to make LIVE interactive 3D Game Engine for Team Collaboration and integrated version control system like Perforce into the game engine.
@everything-has-a-handle-nowАй бұрын
Probably not but I do think a lot of solodevs could get away with using a framework instead of a full blown engine
@dada-by3scАй бұрын
and here we are today with unity&unreal used by so called developers that can't comprehend advanced engine techniques, yet these engines are providing them... and what we as end users/consumers gets, awesomely bugged experience with fps drop
@Fitz0fury28 күн бұрын
Skip video: answer is no. You have enough to do in gamedev. Nope nope nope. Go get unity, unreal, gadot, gamemaker(or in less used cases construct / rpg maker).
@soggy_dev26 күн бұрын
This is the lack of nuance I expect to see in the youtube comments, I was almost worried I wasn't going to find it
@Fitz0fury26 күн бұрын
@soggy_dev yeah well adding nuance does not make the argument any wiser. This is a simple one. You have too many things to do in game dev as an indie. There are a million potholes. Other people who are probably more talented than you have spent hundreds of thousands of man hours building a game engine. You have other things to worry about. Pick a game engine and move on. The number one thing I see stall out indie games is analysis paralysis that theb turns unto someone either giving up or just focusing on systems where they feel safe. If you want it finish you need to focus down. You need to learn to say no to scope creep and utilize resources to help you wherever you can. The literal easiest decision you can make is "use a game engine". If you can't even make that decision you probably won't ever finish your game. The list of modern indies on their own game engine is so low we know most of them. Even triple a now predominantly uses third party engines. If you want to make a game engine make one. But if you want to make a game, using a pre-existing game engine is a no brainer.
@post_rotАй бұрын
yes, i got $0 and no one cared but yes
@code.designАй бұрын
No, why compete with things like unreal or unity. Waste of time and effort.
@desnerger6346Ай бұрын
When a dev is writing a highly specific game engine for their own game, they aren't competing with Unreal or Unity, which are very generic, designed to meet the needs of many kinds of games, with stricter handling of edge cases, etc. When you know exactly what you need, you can skip implementing everything else. The Unreal and Unity suppliers, on the other hand, don't have the luxury of assuming the things: they have to strive to please everyone, which is a nearly impossible job to do.