Game Engines

  Рет қаралды 34,162

Timothy Cain

Timothy Cain

Күн бұрын

Пікірлер: 208
@Deenyoro
@Deenyoro Жыл бұрын
I would love to hear more about the story of how Troika got a source engine license and all the drama that led to vampire having to be released on the same day as HL2. I feel like most of the events surrounding that were not intentional on Troika's part, and getting the pre release version of source seems like a very interesting story!
@LordHengun
@LordHengun Жыл бұрын
Having Leonard and/or Jason on to talk about it would be great!
@stuartmorley6894
@stuartmorley6894 Жыл бұрын
There is a video with Leonard where he talks a bit about Vampire and the problems with the engine. I think it's the second one. It's well worth watching.
@Deenyoro
@Deenyoro Жыл бұрын
@@stuartmorley6894thankyou I’m going to look for it now!!
@TorQueMoD
@TorQueMoD Жыл бұрын
I heard that they were ready to release Vampire before valve had shipped Half-Life 2, but they weren't allowed to be the first game to release on the engine, so they were forced to wait until HL2 shipped and released on the same day because Activision wanted to try to recoup costs asap. Would love to know if this was true.
@ktdagoat1289
@ktdagoat1289 Жыл бұрын
​@@TorQueMoDIf I'm not mistaken this wasnt published by Activision.. It was published by Sierra Interactive which was under Vivendi.. Vivendi did end up selling their assets to Activision which was Blizzard and some IPs in 2008.. However the Bloodlines IP wasn't apart of the deal so I don't think they ever even been near the IP..
@lkd26
@lkd26 Жыл бұрын
I can't believe how great these videos are. There are no animations, stock videos, sound effects or cuts, just a person talking for +10 minutes straight, and he manages to fully control my attention throughout. Thank you for sharing.
@koalabrownie
@koalabrownie Жыл бұрын
If you like this format and medieval/ancient history you might enjoy a channel called lindybiege which has much the same format.
@DamianReloaded
@DamianReloaded Жыл бұрын
I've been doing game programming as a hobby in my spare time for the past 20 years. During this time, I've rewritten my game engine and codebase at least 10 times. While this endeavor hasn't directly generated revenue, it has significantly improved my programming skills and provided me with a deep understanding of various aspects related to computer graphics, programming, operating systems, and desktop managers. Indirectly, this experience has greatly benefited my career as a software developer, as problem-solving skills in software programming are universally valuable. In my humble opinion, pursuing this hobby is entirely worthwhile, even if you never intend to commercialize a game, provided you have a passion for programming.
@JEPAT22
@JEPAT22 Жыл бұрын
Man I'm so glad youtube started recommending me Tim's videos.
@Digitalgems9000
@Digitalgems9000 Ай бұрын
same. hidden gems right here
@moonhowler667
@moonhowler667 4 ай бұрын
I'm listening :) [edit] One amazing pro of writing your own engine is, you're free to innovate. Many many coders that were once gamers have come across some mechanic or feature that they've felt didn't perform as well as it should, because their idea for how it works is simpler. Writing your own engine will give you the required freedom to actually put your theory to the test, and the understanding to theorize more accurately afterwards. Nobody could possibly know everything, or even remember it all if they tried to learn. But the nice thing about code is, a text file won't forget. If I research for two weeks to find the most optimal method I possibly can, then correctly implement it, that change isn't lost even if the exact memory is. That's why self-documenting code is my way of doing things. If I can look back on a few lines and it's obvious what's going on, I can always re-learn what I forgot should I need to tweak anything. Just my personal thoughts. Keep the uploads coming, good stuff.
@llamasarus1
@llamasarus1 Жыл бұрын
This is what I like about using a managed environment/framework with a set of libraries (using MonoGame, formerly XNA): It gives me the satisfaction of coding my extended framework/engine (at a high level) while also having most of what I need to make a game like input, audio, sprite batching, game loop, math functions; and without having to interface with the hardware to get those things. So that could split the difference for those with one foot on both sides.
@hypernautic
@hypernautic Жыл бұрын
Godot is pretty great, and you can write with C# as well. I find it more pleasurable to use than Unity with similar results. I find the thought of writing my own engine daunting even though in the past I've tried Direct X and Win32 programming, I have a huge amount of respect for those that have done so as well as the shoulders of the giants we all stand on today.
@astrahcat1212
@astrahcat1212 Жыл бұрын
It's the best one for one reason very overlooked. That is, no online authentication/login, so therefore no internet connection required.
@woolydrool
@woolydrool Жыл бұрын
And its sooooooooooo much lighter than unity. Booting up unity on any sort of even medium sized project becomes such a slog
@gryzman
@gryzman Жыл бұрын
yup
@contentdesignwizardry2458
@contentdesignwizardry2458 10 ай бұрын
Seems like Godot is the way going forward. Being open source and gaining increasing support/popularity it may outcompete the same way Blender did for 3D.
@mazovist
@mazovist 10 ай бұрын
@@contentdesignwizardry2458 Godot is definitely going places, very probable that it's the Blender of game engines in a few years
@Piratfabbe
@Piratfabbe Жыл бұрын
Im writing my own (simple) game from scratch in C in my spare time. The motivation for me to not use an engine is that I want to learn how things work by doing them, and I feel that to truly innovate you need to have the technical understanding to know what you even can do
@ScienceDiscoverer
@ScienceDiscoverer Жыл бұрын
Exactly. Unity and Unreal effectively monopolised all the gamedev. This is a very sad situation, as this stifles all creativity and experimentation. The game is the engine, and using generic engine means making a generic game.
@pterafier
@pterafier 10 ай бұрын
Holy crap you worked on some HUGE games. Super impressed, I wanna make games for a living and am starting on my first commercial project as an indie dev. I'm hoping everything goes well but I'm glad I found you, such a fountain of experience. That's wonderful, got my sub
@pixelfairy
@pixelfairy Жыл бұрын
Theres a spectrum between rolling your own and unity/unreal. Libraries with different amounts of includes wheels. SDL for example. It handles the os, input, display etc, and leaves you to writing the game.
@nicholasallen9035
@nicholasallen9035 Жыл бұрын
I had always wanted to make my own game engine, and back around 2018 I really got started on doing it. In part I wanted to make a game for these low end single board computers, which didn't have good GPU drivers, or in some cases no OpenGLES compliant GPU at all. In the end what I realized and got great satisfaction from was making my own 3D rasterization engine for low end ARM hardware. I learned a ton, and while I didn't go all the way yet, I think it greatly help my understanding of how graphics work.
@selgesel
@selgesel Жыл бұрын
5:13 is, to me, the ultimate benefit of owning your own source code. As you spend more time in a codebase you start to unlock some kind of god mode where you can instantaneously tell where a piece of code exists, and can do pretty much anything. The down side of this is to burn yourself out of the codebase, or have it reach a point where it's unmaintainable for others (or yourself when you come back weeks later after spending time somewhere else), so it's important to proactively and routinely clean up and refactor all the pain points in the codebase. Thankfully, the time you've spent in the codebase allows this process to go much more smoother and much more efficiently, so it's like a win-win.
@TrexonYTube
@TrexonYTube Жыл бұрын
In one of your previous videos, you mentioned how you always have plenty of ideas for new games. I'd love to hear how you decide which ones to turn into actual games, and which ones not to.
@arsenymun2028
@arsenymun2028 Жыл бұрын
Can you please do more videos on programming?
@rmt3589
@rmt3589 Жыл бұрын
Thank you so much for this! Came from your GDC talk about Fallout Postmortem, and was really inspired about how you made a new game engine for it within a couple years, especially with how limited technology and resources are. I had to look you up specifically to see if you talked more about that engine, and you do not disappoint! I was learning Unity before the incident. Amd while I will never build a game using it, there's still a few skills I want to grab from it. (Basically, the ability to watch a tutorial, and make the same thing while writing my own clean code) After the incident, I started working on my own game engine. I'm mostly a hobbiest, and it's definitely one I want to use for decades. Though I have Godot as a failsafe, so if I inevitably want to make a game more than I want to make an engine, I can switch to Godot for a bit. In the meantime I'm learning so much from this attempt! Things I probably should have known, like git, how shaders work, etc, but didn't. If people could make an engine from scratch in just a couple years with that level of technology, I think I deffinately can with the frameworks, libraries, and api that I have available, plus ai like Phind to help me figure things out far quicker. Anywho, you have renewed a bit of that inspiration in me today. Hopefully I'll even be able to make my dream game someday!!!
@Discovery2024-rn8kn
@Discovery2024-rn8kn 6 ай бұрын
Binged watched your videos is more fund than watching game reviews
@DylanBeaudry
@DylanBeaudry Жыл бұрын
0:37 Godot as well. It's on track to beat Unity.
@jakebonham4496
@jakebonham4496 Жыл бұрын
I worked in construction in the UK for a couple of years and I found that a massive construction company involved in HS2, uses Unreal engine to compile all the CAD models before converting them to Revit models.
@leinadisjourneys
@leinadisjourneys Жыл бұрын
Even though I don't make games, hearing about this stuff is really interesting. Thanks again for the great videos. Even though I know you were not the "main guy" on them, I'd love to hear your experience on working on South Park and (especially) Pillars and Tyranny. Especially given the whole kickstarter craze that was going on with Pillars.
@janmroz348
@janmroz348 Жыл бұрын
It's good to mention that most popular engines have a nice API for extending the editor, which is often unnoticed or undervalued. For programmers, I highly recommend spending some time to get better at implementing custom editors, handles, asset management, etc. You can remake the most important parts of your game (and create tools for that) inside third-party engine, and leave less important modules as is.
@irfanhekimoglu2294
@irfanhekimoglu2294 Жыл бұрын
I am a programmer, I've never worked on a game save for a couple of failed tries. For myself it's mostly an academical exercise to write your own engine. You learn the graphics rendering pipeline, up until the HW level, how physics rules, lighting, gravity, collusion works are implemented. I find it similar to the exercises in my CS class where we designed our own ALU (CPU). It is weak, it is unoptimized but you learn how it works. That's why even if you won't going to use it for your 'production' code, it's enlightening to give it a go. Also reference to Tim's challenge yourself video! Thanks Tim!
@bloodbath5732
@bloodbath5732 Жыл бұрын
there are a lot of nice libraries that can make rolling your own engine a lot more manageable, but then you're in a grey area where imports like SDL and FMod and so on start making it look like you're using a pre-existing engine anyway. i think Godot is a step up from that, then Unreal. i've seen some 2d and retro styled 3d games come out from tiny indie studios running on their own engine and finding success but even in those cases its hard to say the time spent was worth it. there's a game called Barony which did the old id software routine and open sourced the engine a year after release, and having a compact open source code base means the game can live forever if that's what fans want.
@HisDivineShadow
@HisDivineShadow Жыл бұрын
I'd point out that it isn't a choice between building literally everything from scratch or using an off the shelf engine, there are libraries like SDL2 (or something like Pygame for more abstracted level interactions) that cover a lot of the different operating systems so you don't have to think about it as much. These exist somewhere roughly around the middle of those two extremes.
@rabbitcreative
@rabbitcreative Жыл бұрын
> SDL2 Allegro is another option.
@_jared
@_jared Жыл бұрын
My first non-academic job was at an AI company. They had built an infrastructure for representing knowledge that was really impressive - but nobody outside of that company used it. It’s very similar to what you mentioned about new hires wanting to use a standard engine. There just wasn’t an incentive for someone to become an expert in the in-house product if they knew that in 2-3 years they’d go work somewhere that used the industry standards. That said, it did exactly what we wanted. No artifacts from using a very general standard or platform. When it worked, it worked tremendously well.
@kw1ksh0t
@kw1ksh0t 10 ай бұрын
In my opinion it's often about vertical integration. I'm amazed at what Apple can do since they have total vertical control: if a Safari developer wants to change something in the kernel in order to improve performance, they can do it. People often treat abstractions or libraries as if there is no downside to using them, but I think there is an actual hierarchy to reality that means you end up distancing yourself from the root of the problem the more foreign abstractions you rely on. This is similar to what happened to the OOP design patterns nightmare. Ultimately people forget that there is a physical machine that exists and that it is the actual thing that will run your game.
@contentdesignwizardry2458
@contentdesignwizardry2458 10 ай бұрын
Thanks for this wisdom. I had not considered the cons as much for making your own engine. Using engines is good for urgency. Maybe a good balance balance is to roll your own tools that work well with some popular engine, trying to put your own "front" or adaptations on engines, so that your own specializations shine while getting the benefits of getting games done fast.
@alexfrank5331
@alexfrank5331 Жыл бұрын
Thanks for this video, Tim. You articulate it so well. I'm going to just share this video to explain the topic instead of my own feeble attempts from now on. lol
@badsectoracula
@badsectoracula Жыл бұрын
FWIW having worked on a bunch of games, including some AAA ones, with both custom and off-the-shelf engines i'd rather be working with custom engines even if the i'm not the one who made them. I find it much more interesting this way (even with existing custom engines i like reading the code to see how different programmers handled similar issues) - and the control pro you mentioned is GARGANTUALLY GINORMOUS :-P. Also in my experience with Unreal, both the official support and most resources available out there are kinda useless in practice (with some exceptions of course) and the best approach is to just read the code (which is why incidentally so far i have avoided any Unity project). My experience might have been different if i worked at a big studio using Unreal though, the game i worked on was a AA at best. Though from a Linux gamer's perspective games made using Unity and Unreal tend to play pretty much perfectly under Wine so at least there is that.
@HickoryDickory86
@HickoryDickory86 Жыл бұрын
Speaking of Linux gaming and Wine… I have been following along with Travis Vroman's Kohi Game Engine series. He's developing his own free and open source, cross-platform game engine in plain C. I was genuinely surprised at how little work went into setting up software to be cross-platform provided you went into it with cross-platform capability in mind and did that work at the outset. Seriously, the video for the set-up for Windows was 30 minutes, and the one for Linux was 17. Of course, a little work for the uniqueness of each system had to be done later on here and there, but much of the heavy lifting was already in place from the beginning. I was shocked.
@r.g.thesecond
@r.g.thesecond 6 ай бұрын
To me the biggest advantage of roll-your-own-engine is having a clear idea about graphics bottlenecks. When shader recompilation happens, what is culled, etc.
@Anubis1101
@Anubis1101 Жыл бұрын
im currently in this exact conundrum. theres a lot of unique things i want to do that current engines dont, and im quickly discovering im OCD when it comes to efficiency, and paranoid when it comes to legal nonsense like how much of my own game i actually own. as someone whos been exposed to programming for a long time but only recently actually learning, everything i see just flat out says "give up on making your own engine", and i hate that. i know its not gonna be easy, but giving an absolute like that can stifle the more creative ideas new programmers and designers might have. ive got no illusions about my first couple games- if i had learned programming a decade ago, maybe things would be different, but i cant afford to spend the time on it now. but, eventually, i do 100% absolutely plan to make my own engine, and do the things i want to do that would be impractical in existing ones. thats why, for now, im making parceled pieces of functionality that i can roll into either Unity or Unreal. i was leaning towards Unity before, but as I learn more C++, im recognizing certain flaws and shortcomings that make me tempted by Unreal and might switch over before serious development gets off the ground.
@pixelfairy
@pixelfairy Жыл бұрын
You could make your own using a library like SDL to still not reinvent all the wheels.
@Anubis1101
@Anubis1101 Жыл бұрын
@@pixelfairy problem is, 3rd-party libraries fall into a sort of middle-ground, where they have the shortcomings of both sides they lack the support of major dev teams, and also lack the customization and ownership of a fully custom engine so you have to be careful which ones you use, or it could actually set you back quite a bit
@pjrotsaert2832
@pjrotsaert2832 Жыл бұрын
@@pixelfairy I've seen this being said multiple times around here, so I feel compelled to say: SDL is such a small part of an engine. It's pretty much negligible. Most people only use it for window management, as the other stuff is very limited/restrictive, which kind of defeats the point of doing a custom engine. Window management is usually under 500 lines of code. For reference, my engine currently sits at about 100k ish lines of code after 5ish years working on- and off, and the platform bootstrap/windowing code (the SDL part) is literally all confined to a single source file which currently sits at 427 lines of code. (I checked ;p) It's funny because at one point I didn't use SDL at all and it was just Win32. But there really wasn't that much of a difference in terms of code length. Just that the API was uglier and the code was not portable at all (which is the main reason I switched to SDL.) However, there are libraries that are way more impactful, like ImGui or NoesisGUI if you don't want to write your own gui framework (now THAT is a timesink, I can tell you :p) or enTT for ECS. WWise is another example. But even when taking all of those libraries and throwing them together, it is still a MONUMENTAL task.
@pixelfairy
@pixelfairy Жыл бұрын
@@pjrotsaert2832 agreed. It was just an example I brought up because we used it at work. I saw others but never had the time to try them. Our code mostly ran on Linux in production, but occasionally we had to make a windows binary for someone we're working with to check out.
@OpenGL4ever
@OpenGL4ever 3 ай бұрын
@@Anubis1101 SDL is using the zlib License since version 2.0. So you're pretty free in doing stuff with it.
@pythonxz
@pythonxz Жыл бұрын
I had no idea Mr. Cain worked on Wildstar. As for the video in general; I think this video has so much great reasoning as to why you would make your own engine. The more popular engines are not very modular. Thankfully, there are many options that were designed with that in mind. Some of them are more like frameworks or the like. I know Raylib is a pretty lean option, which I'm curious about looking into.
@ChrisGliddon
@ChrisGliddon Жыл бұрын
Love you videos, Tim. Thank you for being an authentic human. Honestly would love to hear your thoughts on an open source MIT licensed game engine like Godot. It would be amazing to have you contribute to that project. I believe it has the potential to be like Blender - open tech that anyone can use without getting locked into an ecosystem. And without falling into the trap of building it all. Would you consider assessing and reviewing Godot?
@Petyo84
@Petyo84 Жыл бұрын
'The die is cast'; also, 'the hourse is out of the barn', 'has left the barn' etc.
@wolfwirestudios
@wolfwirestudios Жыл бұрын
Thank you for your insights, good sir. Very helpful !
@roundededge
@roundededge Жыл бұрын
'roll my own' Cain confirms blazes it 420
@spudd86
@spudd86 Жыл бұрын
There is one other thing, a con for the industry as a whole. With more and more games being made in one of two engines there are fewer roles for those specialists that build engines, so there will over time be fewer and fewer people who already have the skills to build an engine from scratch working.
@chiefsean16
@chiefsean16 Жыл бұрын
Funnily enough I was thinking about the choice of engine for The Outer Worlds after finishing my supernova playthrough the other day. So happy when I saw this pop up lol
@HickoryDickory86
@HickoryDickory86 Жыл бұрын
Tim, I think you missed a good Option No. 3 that is available nowadays: free and open source game engines. If you take the time to look for one that is more in line with your needs, you can have most of the pros of the ready-made commercial engines while also reducing the cons somewhat (but not altogether, of course). And because it's free and open source, you also have many of the pros of the "make your own." You can, indeed, fork it and rewrite to your heart's content until it is, effectively, your own (though you don't need to) with no worries of EPIC or Unity taking a cut of your profits. And regarding things like knowing GPU pipelines, pixel shaders, memory allocation, CPU utilization, etc.... another benefit of this day and age is that there are plenty of free and open source (and cross-platform) utilities, libraries, SDKs, etc. that can handle a lot of that as well that can be utilized. For most things, there is no need to "re-invent the wheel" when creating your own game engine now. All the while, if something still isn't quite how you want it and you know how to achieve that, you are free to hop into the source code and change it. Simply put, it is a far better environment that it once was for endeavors like that, and I wish far more developers would do so. I dislike how one and/or two engines are saturating the market so thoroughly. It is monopolizing gaming technology.
@tedbendixson
@tedbendixson Жыл бұрын
Great perspective. I do my own engines, and I suppose I am in that rare and privileged position. I just found it too cumbersome to go through other peoples' bad abstractions and to wait on support to fix bugs, deal with updates that break your game, and so on. LOL I think I would rather work in a higher paying but boring part of the software industry for a while, save the money, and then retire into the freedom to make my own games with my own engines than suffer through a game industry that mostly uses third party engines. But I actually don't find it to be *too* bad. You can reuse a good deal of your Windows/Mac OS / other platform code from game to game. Other common problems in rendering and audio get solved more or less once, and you can reuse that stuff too. So it's not like you don't have an engine. You do. It's just that you don't start with it. You have to build it before you can reuse it on the next project.
@charlescloudy
@charlescloudy Жыл бұрын
OMG good input. Im retired and thinking about making my own game. Right now, cause it's 2d, it's Unity in the running, but I really want to just make my own engine.
@OisEucalypt
@OisEucalypt Жыл бұрын
Back when I was learning programming, the course I was in hammered into us to *never* use anyone else's code if we could not explain it line by line. While in a different industry now, it is still hard to break that mindset. That I would need to read and understand, say, UE5's entire codebase, before I even think about using it. All scripts and samples of things I have made (for fun, not profit), I've released out there for people to use and tear apart.
@jextra1313
@jextra1313 Жыл бұрын
That line is said because the professors want you to learn the language 100% before taking shortcuts. If you know C++, You can still, given time, read and understand the codebase. So don't worry about not knowing every line in UE5's codebase if you fully know C++.
@davidh8271
@davidh8271 Жыл бұрын
I can't tell if the audio desync is in the video or just my computer being weird. Still, fun to hear about these options.
@streettrout855
@streettrout855 Жыл бұрын
i loved this topic, please more!
@MikAlexander
@MikAlexander 2 ай бұрын
I'm using c and raylib libraries, and building my own engine in it with a specific purpose. raylib provides everything that is needed for game/app dec. Prefer that than an engine because can have super high performance, can write the code I need, and know inside out of it, so when something is not working, I don't need to wonder if it's an issue on mine or engine side. And as i said, everything that is needed for an engine raylib has, so the development is really fast, and all I have to do is to write sort of a shell when is what happening. It's opengl 4.3, but has an abstraction lib that lets you program card as if ogl1.1, but that's only if you want to get under the hood, cause otherwise everything is ready to go.
@CainOnGames
@CainOnGames 2 ай бұрын
From one engine builder to another, I salute you.
@MikAlexander
@MikAlexander 2 ай бұрын
@@CainOnGames Thanks Tim. That actually means a lot to me.
@nikitachaykin6774
@nikitachaykin6774 Жыл бұрын
Tim, great video! Since new Sim Settlements mod for Fallout 4 came out yesterday, it make me thinking on game engines and moding community. It seems that large part of Bethesda success comes from a huge moding community that their games have and it allows them to keep selling Skyrim for 9th time. It also seems that such moding friendliness was part of their game engine for awhile. Do you think that the aspect of moding friendliness should be a part of decision making as on what game engine to choose. Were you ever thinking about moders to your games in a future when you were creating them?
@gargamellenoir8460
@gargamellenoir8460 Жыл бұрын
Great question, I hope Tim sees it.
@SCARaw
@SCARaw Жыл бұрын
so far tim was ultra ignorant towards modders only acknowledge something with vampires bloodlines i wanna know a lot more technical knowledge and indeepth mechanics than his willing to reveal in videos and personally i feel kind of like a hater XD
@tronam
@tronam Жыл бұрын
A big part of Bethesda’s success in this area is that they go above and beyond by releasing a separate free Creation Kit editor and modding tools for each of their games. Not very many developers put this much effort into enabling users to go under the hood like that and change or add anything they want. Blizzard used to in the old days. Remember the StarCraft and Warcraft editors?
@dakedres
@dakedres 8 ай бұрын
Do you think that because Outer Worlds was in Unreal it was easier to avoid bugs, or was the amount of bugs that popped up pretty much normal, but the QA was better?
@Xantexhunter
@Xantexhunter Жыл бұрын
Hope you're excited for BG3 Tim. :D
@BookmansBlues
@BookmansBlues 7 ай бұрын
I have always found Unreal to be the easier engine to learn, however, I am an artist, and not really a programmer, so UE just always made sense to me, and the fact that I was able to teach myself Blueprint, and that for someone with my particular brain, being able to see how the logic works in a visual scripting system vs staring at lines of code, I will likely always hold that position unless something new comes along that ticks all those same boxes. Not to mention, Unity's business practices lately leave a lot to be desired. Epic isn't perfect, but by and large they have done right by their users, and continue to develop at a pace I am not sure anyone else can really compete against.
@meh.7539
@meh.7539 Жыл бұрын
Would you ever consider doing a Q&A with your audience? I've got a bunch of questions for you, I'm sure I'm not the only one.
@TorQueMoD
@TorQueMoD Жыл бұрын
When you hear the stories of development studios making their engine along side a game project, it always sounds like such a nightmare.
@tronam
@tronam Жыл бұрын
Not really a nightmare if the studio using it are also the ones who created it. Bear in mind that pretty much every major open world AAA game developer in the world uses their own internal, proprietary engines: Rockstar (RAGE), Ubisoft (Anvil, Snowdrop), CDPR (redEngine), Bethesda (Creation Engine), Guerilla & Kojima (Decima Engine), even Nintendo for BotW & FromSoft for Elden Ring all use their own internal bespoke engines. I like that there’s engine diversity in the market, not just a tech monoculture, because they contribute to the distinctive “feel” and flow of all those games.
@OpenGL4ever
@OpenGL4ever 3 ай бұрын
@@tronam Most large AAA game developers have the money to develop their own game engine. They also don't have to share the revenue, which is reason enough for AAA game developer to use their own inhouse engine. It is the smaller studios that rely on existing game engines like Unity or Unreal.
@markolijus
@markolijus Жыл бұрын
the snail has left the bucket! . Did you have a chance to look at that Blue Dot short movie, metahuman animator showcase from Unreal engine?
@TintelFruit
@TintelFruit Жыл бұрын
Some of your colleagues at Obsidian must have interesting stories about working with the Creation Engine while developing New Vegas.
@snow15243
@snow15243 Жыл бұрын
Gamebryo* not creation.
@mokseee
@mokseee Жыл бұрын
​@@snow15243tbf Creation Engine is just a further developed Gamebryo Engine
@Toxic_Korgi
@Toxic_Korgi 11 ай бұрын
Josh Sawyer praised the engine in fact and credited the engine and the tools/resources Bethesda provided, claiming that they wouldn't have been able to do even half of what they did in NV without their engine.
@GeomancerHT
@GeomancerHT Жыл бұрын
I need to understand how stuff works so I have always coded my own engines, my latest one is great but huge for a single indie dev... I will finish it someday, for sure.
@PlinyTheWelder
@PlinyTheWelder Жыл бұрын
Which engine are you going to use when you do the Arcanum remake i hope to see?
@AlexGorskov
@AlexGorskov Жыл бұрын
Nice
@Optimus6128
@Optimus6128 Жыл бұрын
I wouldn't see it as a disadvantage if someone has on their CV that they made and worked with their own engine for years, instead of the industry standard. It means they have gained a lot of experience on actually programming something from scratch and understanding the underlying algorithms, it wouldn't be hard for that person to transition to popular game engines if it works so well out of the box.
@magicalmusictv919
@magicalmusictv919 Жыл бұрын
Great Video Tim. Would love to see you chat to Johnathan Blow about his Jai language. That madman makes an engine for every game, and now an entire programming language. I idolize that sort of bespoke development, but i wouldn't trade it for my high productivity in Unity.
@0x44_
@0x44_ 5 ай бұрын
I'm using GameMaker because while I would LOVE to write my own engine, my focus is making a game, and I don't want to have to deal with compiling, I/O, etc., for different hardware.
@kingVibe111
@kingVibe111 Жыл бұрын
Good advice. People make things so much harder than they need to. 2 types of people want to change the world and reinvent the wheel: the young and the delusional. Or maybe you’re very rich. But if you’re not young any longer the clarity of being a realist is the burden you bear.
@element1111
@element1111 Жыл бұрын
What of open source alternatives like godot?
@GeomancerHT
@GeomancerHT Жыл бұрын
I was just going to ask about this :D
@JFrenchman
@JFrenchman Жыл бұрын
Yeah, I'm hoping to see more major studios start using Godot and building into that ecosystem. Obviously it can't compete with Unreal but I'm curious to see it go head to head with Unity
@plebisMaximus
@plebisMaximus Жыл бұрын
I don't think it really changes the conclusion. An open source engine is still more work to specialize than making your own engine.
@element1111
@element1111 Жыл бұрын
@@plebisMaximus Sure, but you don't pay any royalties and get a great deal of functionality out of the box. Prototyping a game in godot vs making your own engine are worlds apart wrt time required.
@shableep
@shableep Жыл бұрын
@@element1111 Also, you could fork Godot for your game and specialize the engine from there. While you might not have the hyper specialization of a custom engine, forking Godot could get you 80% of the way there.
@jarsal_firahel
@jarsal_firahel Жыл бұрын
Always very interesting 👌
@contentdesignwizardry2458
@contentdesignwizardry2458 10 ай бұрын
I think there is still a use case for making your own "engine", or using more minimal engines/frameworks, and that is: Low end, high performance abstract graphics games. if you are mostly a programmer that want to get a game done quick, and you can script your own graphics with drawing basics shapes, drawing pixels on screen or directly drawing to shaders, then something like Unity is way overkill and clunky.
@joeykickassery
@joeykickassery Жыл бұрын
Goldsrc for hl1, source for the hlsource remake
@TheYoungtrust
@TheYoungtrust Жыл бұрын
Thanks for the info!
@LinoWalker
@LinoWalker Жыл бұрын
13:30 With recent developments, I'd be very interested to see if your opinion has changed on this. Yes, Unity walked back the changes they proposed, but some developers don't trust them anymore. Do you think that's temporary or are we about to see devs switch to Godot or something similar?
@jag0937eb
@jag0937eb Жыл бұрын
You should use V12 engine with overhead cams and at least twin carburettors. Might be super charged too, for good measure.
@LDiCesare
@LDiCesare Жыл бұрын
Hi Tim, anything to say about the state of game engines after Unity just modified terms of service?
@Adrian-ld4oz
@Adrian-ld4oz Жыл бұрын
I'm writing my own, it's hard but using an off the shelf engine is too limiting. What I am working on would not be possible otherwise.
@wardhale
@wardhale Жыл бұрын
Just a note, unity recently moved away from the revenue share model and they now charge a subscription depending upon your income. You need the subscription to port to console, but just making the game can be free.
@FluffySylveonBoi
@FluffySylveonBoi Жыл бұрын
I love your videos so much, you certainly have Charisma 10 :) 13:11 And the phrase that comes to my mind is "the cat is out of the bag." I wonder if it's this one.
@gargamellenoir8460
@gargamellenoir8460 Жыл бұрын
"The cat is out of the bag" is when a big secret is revealed. I don't think it applies here.
@zeikjt
@zeikjt Жыл бұрын
Yeah, was probably looking for a phrase like "that ship has sailed"
@markolijus
@markolijus Жыл бұрын
@@zeikjt yeah or that snail has left the bucket ;)
@simonvannarath
@simonvannarath Жыл бұрын
"The horse has bolted (out the gate)" 😅
@pawelp90
@pawelp90 Жыл бұрын
hey Tim, have you heard about or played The Outer Wilds? :D I think it came out very closely to Outer Worlds which was very unfortunate for them to have similar name and both being space-ish games. But it's an amazing indie game :)
@TomLilletveit
@TomLilletveit Жыл бұрын
Remaking Unity, Unreal or Godot would take me about 100 lifetimes, so ill just stick with third party engines.
@arma5166
@arma5166 Жыл бұрын
that is not simply true. A relatively small but knowledgeable team can come up with a good engine, specially if they know what kind of game they're targeting.
@protogionlastname6003
@protogionlastname6003 8 ай бұрын
In a perfect world there would be completely free and open-source game engine
@ashuggtube
@ashuggtube 16 күн бұрын
13:10 that horse has bolted?
@tsilcher
@tsilcher Жыл бұрын
"Hi ... everyone ... it's me ... Tim" 😊
@foxtrotunit1269
@foxtrotunit1269 10 ай бұрын
🙂
@Orangubara
@Orangubara 8 ай бұрын
😊
@ruineka_one
@ruineka_one Жыл бұрын
What are your thoughts on the recent events with Unity? and what are your thoughts on something like Godot as a game engine?
@SirDzstic
@SirDzstic Жыл бұрын
That dog has sailed.
@gargamellenoir8460
@gargamellenoir8460 Жыл бұрын
I guess a middle of the road solution is to use an open source game engine like Godot. But they're not as expansive of course.
@rabbitcreative
@rabbitcreative Жыл бұрын
9:25 Hey now! Nginx is awesome. ;)
@1sweetree
@1sweetree Жыл бұрын
I love the Source engine.
@cycleboy8028
@cycleboy8028 Жыл бұрын
The only "game engine" I want is one that fits in my Highwayman!
@Islandswamp
@Islandswamp Күн бұрын
I am not a game developer (although I would love to some day) but I like to learn about games and their history. That lead me to this video. I quickly realized that Tim made one of my favorite games of all time: The Outer Worlds! Will The Outer Worlds 2 come out on PS5 eventually? I don’t own an Xbox unfortunately
@kevinlloyd74
@kevinlloyd74 Жыл бұрын
I know you mentioned that you're semi retired but I was wondering if you're working on anything for yourself, game development-wise? Have you given any consideration to going indie? Some of my favorite games of the last decade were made by either one person, or just a handful.
@RobertHanz
@RobertHanz 8 ай бұрын
Haha, as soon as you said "in a perfect world" your answer was obvious.
@Kaiser_Johan
@Kaiser_Johan Жыл бұрын
Making a game engine is a great learning experience but if you are serious about making a game then roll with Unity or Unreal.
@grappydingus
@grappydingus Жыл бұрын
I'm not asking for myself but just curious, if you wanted to sell the Arcanum engine, could you?
@aNerdNamedJames
@aNerdNamedJames Жыл бұрын
The pattern is all too familiar 😞 As usual, industry consolidation makes for wonderfully lowered barriers to entry (thanks to economies of scale) but also makes for awful breakdowns in communication (thank to diseconomies of scale).
@crestofscribbles8761
@crestofscribbles8761 Жыл бұрын
What are your thoughts now post-unity runtime scandal? That one scared me off pretty bad. I have less issue paying a sub up front for an engine now than trusting these "FREE" engines. For one game I'm having it built from the ground up too now. It might be more expensive in the long run, but it seems safer.
@Valenspire
@Valenspire 10 ай бұрын
Every engine look a little different graphicly due to being made different. I fear if too many companies go over to these big engines that they loose that uniqueness. Idk maybe that is a silly thing to worry about.
@MrHanky78
@MrHanky78 6 ай бұрын
So I wanna say that I absolutely love this video and how you layed out the pros and cons. I have many years working in Unity and one or two in Unreal. I've been building my own engine within the past 3 months now and I can agree in knowing how much time it would take to construct one. It would be amazing if you were able to take me under your wing becuase I am always looking to learn in what I have a passion for and you seem like an amazing developer/mentor!
@TransmentalMe
@TransmentalMe Жыл бұрын
Hey, Tim! Random question that may have already been answered, but how did you end up using your face for the low res desktop icon from Fallout?
@LimakPan
@LimakPan Жыл бұрын
I heard you had major engine trouble when working on Vampire. Could you talk about that story?
@goblinphreak2132
@goblinphreak2132 Жыл бұрын
Networking for sure today is the biggest lacking of programming. Almost every game now has horrible netcode because developers don't know shit. These newer developers generally grew up with the idea "I plug my ethernet cable in, and it just works" and that's where their knowledge ends. And it shows.
@OpenGL4ever
@OpenGL4ever 3 ай бұрын
So how would you implement network code to make it good?
@goblinphreak2132
@goblinphreak2132 3 ай бұрын
@@OpenGL4ever its not about implementing network code. its about having the right settings. all games that are multiplayer have networking code. it comes down to two things, are you tracking the data and are you sending the data. pubg, huge issue with tracking data. bullets "disappear" because the game isn't tracking the bullets you shoot. so you can full auto an SMG point blank into an enemy and they dont die. which doesn't make sense, because ammo wise, a full smg clip should drop that player. a lot of people many years ago when the game was new complained about tickrate. "somethings wrong with the tickrate" and the developers looked into it and found that at 100 players (start of game) tickrate could drop to 5 ticks per seconds (5 server updates a second) which would absolutely ruin performance. or so they thought. "im missing because of tickrate." few months later pubg updated their game so that you only get sent/received data of players close enough to interact. so if you are too far away, its like that player doesn't even exist. especially if there is no line of sight. now tickrate remained 60 start to finish of matches. and yet, bullets still missed. people CLAIMED they could feel it, but its placebo. because we did the hardcore testing and proved bullets were still going untracked. conan exiles. horrible netcode. servers run 30 updates a second (30 tickrate). the first thing private server owners tried to do to fix the game was increase their updates a second to 60 or higher. it broke the game. the AI would break and the game would run like ass. mainly due to physics being tied to the tickrate. bad programming in general. after that deboggle they realized client side and server side was capped data wise. you could only send so much data per second. so their solution was to crank server side data allowance and player side data allowance. this mitigated SOME of the issues, but many still persist. bad game code.... which i find funny that people think dune is gonna be something special and netcode fixed.... if they solved their netcode issues, they could EASILY backport that code into conan and give owners of the game smoother gameplay... but they haven't, because they haven't fixedshit. now we take a step back to the early 2000's with games like return to castle wolfenstein, wolfenstein enemy territory, and quake3arena.... these games ran at a whopping 15 updates a second (15 tickrate) and yet NO ONE ever complained about shooting someone and them "living" because "bullets didn't register".... no one ever complained about tickrate or performance. why? because first point the game tracked every bulllet you shot. if you shot an enemy, and your crosshair was on that enemy, the shot registered. you NEVER had a bullet phase through an enemy pretending it didn't hit. secondly, data. back then when most of us were limited to DIAL IP, we used way more data than FPS games today use.... so much so, that the only people getting 5ping where those on a t1 connection which could send/receive all the data in a single packet instead of multiple. I was on dial up, so for every packet I should get, I would receive 3.... which would increase my ping to about 50. Yeah, imagine being east cost new york and playing on a new york server and you have 50 ping. meanwhile another person literally 3 floors above had a t1 connection and had 5 ping to the same game server.... anyway, we would see data rates over 80 Kilobyes per second, which is 0.64 megabit aka 64k dial up. You could max out a 64k modem with just a single game instance of those 3 games. and if you had a 32 player server like some private servers ran, you ended up with almost double the data rate, and thusly high ping due to slower packet transfer.... in comparison? todays games? pubg uses 25 kilobytes a second max. usually 10-15 download and 5-10 upload. and yet, we have guns shooting more bullets, faster, than we ever did before. so not only is it NOT tracking the bullet data, it can't send it either. remember older games were using 80 kilobytes per second AVERAGE. and yet games today are using less? we have BETTER internet today than we ever had! I myself am on gigabit connection. that's 1000 megabits.... 125,000 kilobytes.... and yet games are using 20 kilobytes of data average today.... so games have gotten MORE complex, but use LESS data than 20 years ago. absolutely insane. but im gonna guess you are gonna TLDR and cry about being stupid.
@BigThinkBroadcasts
@BigThinkBroadcasts 10 ай бұрын
you never got around to comparing unity vs unreal, what are the pros and cons of picking one over the other to us plebians who are no where near the level of considering making our own engine?
@recursor9469
@recursor9469 Жыл бұрын
"To 2014" Damn, that's less than ten years ago. It's taken non proprietary engines a long time to catch on.
@sealsharp
@sealsharp Жыл бұрын
Current engines are really general purpose, which is an advantage but also has the disadvantages Tim mentions. Engine licensing existed far earlier, less in the form of the general purpose toolset but as a genre template. Wolfenstein3D, Doom, Quake, Unreal's engines were used for a lot of different games, but mostly shooters. Even modern Call of Duty started of with a Quake 3 engine license. In the RPG there was Biowares Infinity Engine from Baldurs Gate, which got licensed to Interplay for Planescape and Icewind, and it's successor made for Neverwinter ended up in the hands of a small polish company who used it to make The Witcher. There are similar stories with the engine that is now used by Bethesda. What all of these have in common is that they are by design well suited for modding which is not a surprise because it started with "engine licenses" that were basically reskins of early shooters. The rise of general purpose engines coincides with the end of level editors, there you will find the link between game engines as a general purpose toolset and how it transformed indie developement form modding bigger games to making smaller games.
@jimnms
@jimnms Жыл бұрын
All I heard was "I own the Arcanum source code." I remember you've said before that you've compiled it and it works on modern systems. Does that mean you could make a drop-in replacement engine that would work with retail copies of the game? As it is, it does work, but requires downloading some mods.
@chrisxdeboy
@chrisxdeboy 7 ай бұрын
Have you ever looked into the Godot engine?
@Sw0fford
@Sw0fford Жыл бұрын
How did the Enclave Come to be?
@This_Guy-
@This_Guy- 7 ай бұрын
If you can build your own engine. It will be worth it but sure you need money and time. Look at remedy North light engine and rock stars own engine they make miracles out of it
@Me__Myself__and__I
@Me__Myself__and__I 10 ай бұрын
Having written a game engine from scratch, I'm sitting here thinking there are a bunch of disadvantages to building your own. - Much higher degree of expertise required (people who can use existing capabilities in game engines may not be able to build such from scratch). - Need experts in multiple platforms, OSs, rendering systems, audio playback, network stacks, etc. - Possibly need cross platform support with consoles. - May be lower quality in some areas than commercial engine - Will need direct access to more / broader range of hardware for dev & test - Much, much more time - Higher risk Tim: "But, there is a huge con to making your own engine." "con" - singular??? Then procedes to go through a lau dry list of cons.... lol
Game Development: Then vs. Now
14:56
Timothy Cain
Рет қаралды 30 М.
Implementing Randomness
14:17
Timothy Cain
Рет қаралды 17 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 105 МЛН
Deadpool family by Tsuriki Show
00:12
Tsuriki Show
Рет қаралды 7 МЛН
路飞做的坏事被拆穿了 #路飞#海贼王
00:41
路飞与唐舞桐
Рет қаралды 25 МЛН
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 144 МЛН
Why I Won't Run Another Business
14:15
Timothy Cain
Рет қаралды 25 М.
What does a Game Engine actually do?
16:45
Ellie Rasmussen
Рет қаралды 171 М.
Challenges Facing Game Designers
17:17
Timothy Cain
Рет қаралды 24 М.
Why I Ditched Godot For Unreal Engine
9:04
AueSip
Рет қаралды 13 М.
My Work Pattern For Programming
10:38
Timothy Cain
Рет қаралды 14 М.
Career Summary 1981-2023
17:11
Timothy Cain
Рет қаралды 44 М.
How I Made My Game Engine MUCH Faster...
24:29
The Cherno
Рет қаралды 103 М.
My Bad Game Development Skills
14:51
Timothy Cain
Рет қаралды 19 М.
Why More People Dont Use Linux
18:51
ThePrimeTime
Рет қаралды 328 М.
Why You Shouldn't Make A Game Engine
25:39
Theodore Bendixson
Рет қаралды 17 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 105 МЛН