Building Tools

  Рет қаралды 9,965

Timothy Cain

Timothy Cain

Күн бұрын

Пікірлер: 84
@scottishrob13
@scottishrob13 5 ай бұрын
For my money, this is the most important video of yours that I've watched for programmers. This understanding is something I often find missing from my colleagues, and it's how we get so many brilliant tools that just lack the fundamental useability to make the life of designers better.
@karamzing
@karamzing 10 ай бұрын
My most satisfying programming has been making tools for coworkers. You have a tight feedback loop with an appreciative end-user whose work-life you get to make 10x or 100x easier. Since the tool will likely never be released into the wild, you have a lot more freedom and agility to get things done. It's how all software development ought to be.
@Anubis1101
@Anubis1101 10 ай бұрын
Yea even just making tools for myself has been way more fun than I thought it'd be. Almost makes me want to specialize in it!
@aNerdNamedJames
@aNerdNamedJames 10 ай бұрын
That Charlie Brown shirt is by far the most fabulous shirt we've seen so far.
@ProrokLebioda
@ProrokLebioda 10 ай бұрын
I've started working as Tools programmer for a gaming company after few years working as a regular software developer and I have to say that for some reason it feels more rewarding. Not easy, but rewarding. I really like that I can communicate with tools users directly to hear what they need. So far it's mostly fixing bugs and updating main SDK used, but I can't wait to dive deeper and create tools that help Level Designers, Quest Designers, Animators, etc. It's interesting how it was different back then. Thanks, Mr Cain!
@Noowai
@Noowai 10 ай бұрын
That reminds me of the in engine tool in form of plugin I had to write in Unreal Engine. At first I was going for a separate application to help me write nonlinear dialogues, but I had to export whatever I did to CSV or XML and then runtime read it to actually display conversation for the player. Writing tool in engine made it so much more convenient and I was able to write much more complex conversations. Even though it took me like 3 months to learn how to do it, it was worth it 100%
@Silvskul
@Silvskul 10 ай бұрын
Hi Tim, just wanted to say thanks for making your videos very easy to follow and understand for people like me who aren't in the games industry/programming. I've watched almost all of your videos so far and can't think of any moment where I've felt left behind. 👍
@ShmilS
@ShmilS 6 ай бұрын
Oh man, I work as a DevOps and write a LOT of scripts and tools for my clients and keeping them simple and exploit-proof is one of the most important disciplines I had to learn.
@Anubis1101
@Anubis1101 10 ай бұрын
The top-down function in the Arcanum world editor blew my mind as a kid, id never seen anything like that and thought it was super helpful. I'm building my own mapmaker tool right now (albeit for a top-down ASCII proto-game), so youve given me some things to think about. As it is, ive gone over the interface multiple times and iterated the UI probably more than i have the actual mapmaking functionality itself. It's amazing how something that started as a quick side project for my game has ballooned into its own design & development rabbithole.
@shadydesperado2590
@shadydesperado2590 10 ай бұрын
You realize this is my favorite video on the internet by default now. I'm sorry, i dont make the rules, this is simply how it is now.
@michaelblosenhauer9887
@michaelblosenhauer9887 9 ай бұрын
Thank you so much. This is the video I have been waiting for! I've been asking about level design stuff but just realized what I really wanted to know about was tools. You could do another 5 or 6 of these, please. I think tools as a concept are the perfect bridge between design and development of games and wish I understood them better.
@thisismysuperawesomeusername
@thisismysuperawesomeusername 8 ай бұрын
This should be played to all Software Engineers and GD Students. Thanks Tim!
@archaeologistify
@archaeologistify 10 ай бұрын
Building custom drafting tools in LISP for my civil engineer colegues in AutoCAD benefits from the same advice you give in this video :)
@MatrixQ
@MatrixQ 10 ай бұрын
Yeah, building the right tools can be a game changer. But it requires a lot of fundamental understanding of the system you're working with, it's not trivial. But absolutely worth it.
@matthewwebster3143
@matthewwebster3143 10 ай бұрын
Really enjoying your insight, cant believe it took me this long to find your channel!
@backslashzero
@backslashzero 10 ай бұрын
Hope you have a happy new year this weekend Mr. Cain!
@Lakstoties
@Lakstoties 10 ай бұрын
I am reminded of the saying, "Too busy chopping the tree to sharpen the axe."
@sebastianavena
@sebastianavena 10 ай бұрын
Thank you some much Tim for sharing your knowledge with us! Your content is great :D
@danieldavis2017
@danieldavis2017 10 ай бұрын
I'm curious what your thoughts are on the increase in FOSS in game development? As I understand it back when you started even a lot of the programming languages were proprietary. Now we have things like open-source game engines like Godot. What do you think about this trend?
@Sumoniggro
@Sumoniggro 9 ай бұрын
The last bit reminds me of the addage "No matter how idiot-proof an engineer makes something God will just make better idiots"
@zhulikkulik
@zhulikkulik 10 ай бұрын
The part about tiles not matching reminded me about fence sprites in homm(or maybe hota) map editor. There's no way to tile them properly so when you try to make a diagonal wall of them - they always go in a zigzag pattern. I guess they just were never intended to be used to build actual walls. Rather as additional obstacles next to something else. They also don't quite connect with gates or other objects so making them look good is hard.
@colin-campbell
@colin-campbell 10 ай бұрын
Being a tools programmer is probably the closest I’ll get to getting into the games industry.
@Baltasarmk
@Baltasarmk 10 ай бұрын
I am not sure what impression you got from this video, but tools programming is second or as challenging as engine development. If you check salaries, tools developers are among the most paid, maybe after engine developers. Building pipelines for seamless transfer of art assets into the game is a very challenging task.
@nothankyoutube
@nothankyoutube 10 ай бұрын
Please get into the industry, everyone is in dire need of tools!
@stabbermcstabby3659
@stabbermcstabby3659 10 ай бұрын
Why aren't you in the industry? Tools programmers are highly valuable and you can make a lot of money doing it. Capitalize man!
@daniltryapchev257
@daniltryapchev257 9 ай бұрын
having a good set of tools which can make your team and you efficient - is really valuable. even outside gamedev, also web, engineering at general, and so on
@lillybyte
@lillybyte 9 ай бұрын
The story of Godot-- the developers never used to the tool to make a commercial game; which is why everything in the engine is so useless, broken, or bug riddled. Great for game jams, or smaller games that you can do in a few months. Once you scale to a larger game, the whole engine just falls apart because it is clear the developers have never used the engine to make large games. And when people who DO make large games try to lend Godot their experience and point out the mistakes they are making in developing Godot, Godot developers just tell them "You don't know what you're doing". Also no Godot roadmap, so you don't know what is coming, what is being depreciated, or what is being straight up changed on a whim-- a company paying people to build games cannot rely on a tool that doesn't let them plan the future work on their game because that work may have to be redone on a whim of the engine developers-- this is why studios don't use Godot and it is straight up considered a "toy engine" by pros.
@OpenGL4ever
@OpenGL4ever 2 ай бұрын
In the past, Blender behaved similarly compared to commercial products. The latter were designed to streamline the workflow. They allowed you to go back steps and edit the middle step in a 3D model that consisted of several processing steps without having to re-edit the steps at the end. They were also optimized so that different process stages of a 3D model could be edited by different people. Someone who used one of these commercial 3D modeling programs explained this to me. At that time, Blender was still at version 2.x.
@LTPottenger
@LTPottenger 3 ай бұрын
It amazes me many engines you can't just import the geometry and any animations pop an object up programmatically or just get at an image directly from C++ and make GUI from there. They are all geared to a FPS with no GUI to speak of and very few characters so I guess it should not be a surprise.
@UlissesSampaio
@UlissesSampaio 10 ай бұрын
Epic made Fortnight in Unreal, which was a huge success. Likely they used custom-made internal tools, though.
@MFKitten
@MFKitten 10 ай бұрын
The third party commercial engine problem is so interesting to me. I always found it interesting that these "next gen" top shelf engines always had a few things in common: -weirdly large minimum install size. Pixel art side scroller with no sound assets or textures? 658MB install! -oddly poor performance. So much time spent on amazing technology. So little time spent on making it actually run well. -poor level creation experience. Building level geometry is slow and sluggish vs the older brush based engines of yester-yester-year, but also compared to Valve's current Source 2.
@drnecrotery3228
@drnecrotery3228 10 ай бұрын
hi Tim, could you give an insight on how preproduction works in CRPG/RPGs in general? What aspect of the game must be completely fleshed out in preproduction? Do planned features shift mid-development? If so, how often? does that necessarily mean a problem?
@CainOnGames
@CainOnGames 10 ай бұрын
I talk about productions stages here: kzbin.info/www/bejne/f3KnhJuVhZVod9U Does that answer your questions?
@pongod5751
@pongod5751 10 ай бұрын
Great shirt. 50s Peanuts is delightfully depressing
@RedTickseed
@RedTickseed 10 ай бұрын
Hi Tim, You previously spoke about what changes and updates you would want to see implemented in a potential Fallout remake. I'm curious about what you'd like to see if Arcanum were to either be remastered or remade? Thanks so much for your channel. Your videos are a great insight into the behind-the-scenes and thought processes involved in video game development. :)
@CainOnGames
@CainOnGames 10 ай бұрын
I have a Thoughts On An Arcanum Remake video coming up, in about a week
@vast634
@vast634 9 ай бұрын
And the math: only make a tool, when the time making and supporting the tool is less than the time user of the tool save when using it. Basically for things that have to be done often. Otherwise a much simpler tool, generator script or manual editing does the job also.
@OpenGL4ever
@OpenGL4ever 2 ай бұрын
For such tasks, I have often had the case that you can solve the task very well with a spreadsheet without having to write an extra tool.
@vast634
@vast634 2 ай бұрын
@@OpenGL4ever Some simple tasks can be solved with a spreadsheet, some where you need to manipulate binary data just cant. There are plenty of tasks that require custom tools in game development.
@OpenGL4ever
@OpenGL4ever 2 ай бұрын
@@vast634 Nobody here disputes that.
@lepersonnage371
@lepersonnage371 10 ай бұрын
Tim, can you talk about what you think about Deus Ex (first one), and what do you think about it's RPG aspects
@nuave
@nuave 10 ай бұрын
I've messed around with editor scripts in unity. But then I tried making an editor script for a scriptable object, I have not worked on editor scripts since.
@MikAlexander
@MikAlexander 10 ай бұрын
What are the best naming schemes for variables? I can't figure out a unified meaning system for them.
@estogaza5827
@estogaza5827 10 ай бұрын
Idk if I fully understand your question. But I’ll just say I like variables that have full names. I don’t like when devs abbreviate everything. Like instead of itemQuantity they name it iQty or something. Just type it out so when I read it I don’t have to stop and say ok what the heck is iQty. Is I a general counter? Like how I is often used in a for loop. Is I short for something else? Or worst they just name things x or something. Just take 1 second and type it out.
@MikAlexander
@MikAlexander 10 ай бұрын
@@estogaza5827 I actually do that for simple stuff, but for variables designated for more abstract things i use longer names. But In case I'd forget what the abbreviate name means I always have full description in the comments. But I am wondering how should I name variables that hold temporary data. I thought Data, but maybe temp?
@Anubis1101
@Anubis1101 10 ай бұрын
Yea don't be afraid to use long names. With autocomplete systems like Intellisense around now, it's more important that they're immediately readable than anything else. Beyond that, just stick with whatever you decide, because consistency is an important part of readability. They all get tossed out when you compile anyway, so you only need to consider the human programmer when naming them.
@Kyl5
@Kyl5 10 ай бұрын
Hi Tim, you often talk about taking notes. What tools do you use for that and how do you structure the data to be able to retrieve what you need when you need it?
@CainOnGames
@CainOnGames 10 ай бұрын
kzbin.info/www/bejne/hmGxfIVvh5WLisk
@Kyl5
@Kyl5 10 ай бұрын
@@CainOnGames Thanks.
@Bloodyshinta1
@Bloodyshinta1 10 ай бұрын
I'm trying to recreate 2d retro game mechanics in UE5 and its a striaght up nightmare lol. Everything about that engine is geared toward 3d or modern 2d games, to just get UE5 to behave like a 16 bit game engine is a monumental task.
@Anubis1101
@Anubis1101 10 ай бұрын
Yea that's more Unity and Godot's thing. Dunno about the latter, but I know Unity has an entire built-in 2D mode.
@Bloodyshinta1
@Bloodyshinta1 10 ай бұрын
@@Anubis1101 If i could go back a year i would have just started on godot but I guess my goal of getting me feet wet in UE5 has succeeded to some degree lol.
@Anubis1101
@Anubis1101 10 ай бұрын
@@Bloodyshinta1 ive heard of some really interesting approaches over the years. one of them was to emulate the old-school 8-bit era and simulate individual pixel changes using a fixed "screen" grid plane that was stretched over the camera. everything was abstracted off of that, with mob sprites layered on top. the backgrounds were done with a basic raycasting engine that ran off an ASCII grid in a text file to determine how to render the different moving layers. theres probably an easier way, but the result was one of the most accurate recreations of that era of games. just goes to show, theres always a way, no matter how twisted or convoluted.
@Bloodyshinta1
@Bloodyshinta1 10 ай бұрын
@Anubis1101 I'm going to use a similar approach but apply a grid mask material so the camera and sprites movement will be locked to a grid. Cobra code has a tutorial on how to do it cake pixle perfect 2d in ue5. Luckily, ue5 has updated its orthographic camera recently, so some things should work better now.
@Anubis1101
@Anubis1101 10 ай бұрын
@@Bloodyshinta1 godspeed friend after the Unity debacle, im holding off on going all-in on an engine. instead, im learning how to do things entirely from scratch in C++, and its been fun and educational. i doubt ill make a full custom engine for my games, but hopefully itll help regardless of which path i take.
@dukenukem8381
@dukenukem8381 10 ай бұрын
I like written dialogue and not AI generated one.
@J4YL4444
@J4YL4444 10 ай бұрын
Hey Tim, thank you for your videos. As a young LGBT game developer I find your videos really helpful. Thank you very much. The main thing I struggle with is actually getting into the industry. Although I'm doing my best to slowly get qualifications and money in the IT sector. Then hopefully it would be easier. Do you have any advice on how to actually get a job in the industry? 😁💖
@CainOnGames
@CainOnGames 10 ай бұрын
Yes I do! kzbin.info/www/bejne/jWnLlqaknsmkp6c
@PretendCoding
@PretendCoding 10 ай бұрын
He does have a few videos on this topic. One of the things he mentions is that trying to follow what he did is super unrealistic (that is, knowing how to code for a specific chipset). There's a lot of different ways, but getting qualifications will help, and a portfolio will be even better. If you can show a developer that you know what you're doing *and* you can actually produce something, that goes a long way to getting hired.
@nathanielguggenheim5522
@nathanielguggenheim5522 10 ай бұрын
tbh from my own XP it's the most rewarding Coder job in Game Dev. In terms of social reward.
@J4YL4444
@J4YL4444 10 ай бұрын
@@nathanielguggenheim5522 thanks very much, already gaining as much as possible 😁
@J4YL4444
@J4YL4444 10 ай бұрын
@@PretendCoding thank you, really appreciate the detail in your answer. It does genuinely help. Thank you
@The-cyber-imbiber
@The-cyber-imbiber 10 ай бұрын
Although I understand that it's bad to name drop, sometimes I wish you would 🤣I was thinking about Unity DOTS the whole time
@houseofosborne1173
@houseofosborne1173 10 ай бұрын
Hey Tim!
@realizewave1513
@realizewave1513 10 ай бұрын
bet obsidian had a great time developing the rpg "toolset" for the outer worlds 😅
@empessah
@empessah 10 ай бұрын
Did you ever have a ux designer help build out tools? Or was this all a dev making tools for other devs?
@CainOnGames
@CainOnGames 10 ай бұрын
I'm a little confused by your question, since a UX designer is a dev. So...yes?
@empessah
@empessah 10 ай бұрын
@@CainOnGames sorry for the confusion but i am asking about a ux designer specialist or is it more of a dev who code it up and does the user experience
@CainOnGames
@CainOnGames 10 ай бұрын
@@empessahUsually the tools dev asks the team what they want/need and codes based on that. Sometimes the UX designer, as part of the team, gives feedback that is incorporated too. Obsidian has some tools that they have been honing for more than a decade, and those tools are really good at what they do.
@empessah
@empessah 10 ай бұрын
That help as a ux and ui design I always thought that working on game dev tool would be such an interesting job solving problems for creatives such as game designer animators and writers
@kafamalmyor5418
@kafamalmyor5418 10 ай бұрын
Hi Everyone Its me Tim
@coldwarpgates622
@coldwarpgates622 10 ай бұрын
Hi Tim, it's me, everyone
@Vault-14_Kingdom
@Vault-14_Kingdom 10 ай бұрын
Hi Tim, I know this question might be treading on NDA Territory here, but I just wanted to know... Are you & Leonard Boyarsky going to be credited as "The Creators of Fallout" in the upcoming Fallout TV Show?
@CainOnGames
@CainOnGames 10 ай бұрын
I don't have any information about the show. I am not involved. And they should credit more people than just Leon and me.
@Vault-14_Kingdom
@Vault-14_Kingdom 10 ай бұрын
​@@CainOnGamesTrue true, there are more people to credit for Fallout's creation. Thanks Tim! 😎👍
@arcannar
@arcannar 10 ай бұрын
Building the right tools has made Game dev easier a small investment goes along way. how do you or studio choose which games/game genres to work on? I'm currently building a mini Morrowind and fear that I have bitten off more than I can chew, I have about 3 other Ideas I would like to make but the RPG is what I'm passionate about & I figure I can write the dialogue easily on my commute home from work. but I am a solo dev so need to be realistic. Thanks for these videos, Including the reboot presentation you previously did.
@schitzoflink8612
@schitzoflink8612 10 ай бұрын
Hi Tim
@PorkotylerClips
@PorkotylerClips 10 ай бұрын
I'm a long-time fan of this channel so I'm saying this with all due respect but I've noticed a double standard here. In a previous video " Job Interview Questions " you mentioned you were annoyed at Valve for asking you to go through a technical interview as a designer. You failed the elevator control panel test and thought it was counterproductive since you’re a designer and shouldn’t have to write code anyway, but here you speak about going beyond your own discipline and how you like working with designers who also know how to code. Just an observation.
@CainOnGames
@CainOnGames 10 ай бұрын
No double standard was intended. I would not give a programming test to a design candidate. But I do like working with designers who know how to code, because their designs are often cleaner and easier to code. But some of the best designers I know cannot code, so it's not something I would screen for in design candidates. I'd screen them based on their designs.
@r.rodriguez4991
@r.rodriguez4991 10 ай бұрын
There's a difference between appreciating something and requiring it.
@BADC0FFEE
@BADC0FFEE 10 ай бұрын
There's a big difference in something that is a nice perk and making someone fail a design interview because of a coding test
@michaelblosenhauer9887
@michaelblosenhauer9887 9 ай бұрын
Thank you so much. This is the video I have been waiting for! I've been asking about level design stuff but just realized what I really wanted to know about was tools. You could do another 5 or 6 of these, please. I think tools as a concept are the perfect bridge between design and development of games and wish I understood them better.
Analyzing Game Designs
16:28
Timothy Cain
Рет қаралды 23 М.
Game Engines
14:05
Timothy Cain
Рет қаралды 33 М.
ЛУЧШИЙ ФОКУС + секрет! #shorts
00:12
Роман Magic
Рет қаралды 22 МЛН
Wait for the last one 🤣🤣 #shorts #minecraft
00:28
Cosmo Guy
Рет қаралды 23 МЛН
КОГДА К БАТЕ ПРИШЕЛ ДРУГ😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 6 МЛН
Это было очень близко...
00:10
Аришнев
Рет қаралды 7 МЛН
Arcanum Generated Dialog
22:45
Timothy Cain
Рет қаралды 15 М.
What Tools Does it Take to be a FRAMER?? Building a House 101
17:40
Coffman Construction
Рет қаралды 192 М.
WEIRD Non-Hobby Tools That'll Change Your Hobby
11:43
Tabletop Minions
Рет қаралды 450 М.
Player Agency
12:25
Timothy Cain
Рет қаралды 17 М.
The Four Steps For Fixing Design Problems
11:09
Timothy Cain
Рет қаралды 13 М.
A.I. Tries 20 Jobs | WIRED
15:04
WIRED
Рет қаралды 770 М.
Note-Taking Best Practices
15:58
Timothy Cain
Рет қаралды 9 М.
Stop Making Excuses
12:58
Timothy Cain
Рет қаралды 40 М.
Cultural Changes
10:12
Timothy Cain
Рет қаралды 10 М.
ЛУЧШИЙ ФОКУС + секрет! #shorts
00:12
Роман Magic
Рет қаралды 22 МЛН