Тёмный

Common Sources Of Programming Frustration 

Timothy Cain
Подписаться 138 тыс.
Просмотров 21 тыс.
50% 1

I talk about events that happen that frustrate and slow down programmers of all kinds, not just game development programmers. Some of these code issues explain why crunch happens...and they are not the programmers' fault.
Videos I reference:
Challenges Facing Game Programmers: • Challenges Facing Game...
Why I Left Fallout 2: • Why I Left Fallout 2
Crunch: • Crunch
Crunch, Part 2: • Crunch, Part 2
Fallout Development Timeline: • Fallout Development Ti...

Игры

Опубликовано:

 

22 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 195   
@jeremyjohnson9609
@jeremyjohnson9609 Месяц назад
Way back in July of 2023, this channel inspired me to start a gaming project bigger than I've ever attempted. I grabbed 7 other buddies, programmers, artists, and a musician with the intention of landing a job in game development. I followed the advice of this channel as best I could. The game is not even released yet(it will be finished within the month), but it was enough to land my first job at a gaming studio as a software engineer/game designer. I didn't even finish my computer science degree! So thank you, Tim, and I hope this can inspire others to pursue a career in game development as well! It's truly as simple as making a game and continuing to make games. This will be me my 4th released project.
@vk3477
@vk3477 Месяц назад
“My code was a flawless gem but then things change” Thank you Tim. Such a privilege to learn from your experience.
@alexnewman9627
@alexnewman9627 19 дней назад
absolutely
@MrOmega-cz9yo
@MrOmega-cz9yo Месяц назад
LOL I literally had the semi-colon problem happen to me. Many moons ago, I was sitting there looking at my code for 20+ minuets, and our new hire walks by, looks at the code for about 10 seconds, pointed and said "You need a semi-colon there". D'Oh! 🤣🤣
@masmullin
@masmullin Месяц назад
"if you are having a problem. Try rewriting it differently" (paraphrased) +1 on this. This is one of the first techniques I ever learned. Not only can it solve an annoying bug, but simply rewriting bug-free code can make it significantly cleaner and easier to understand.
@ZlothZloth
@ZlothZloth Месяц назад
And when you rewrite it, don't erase the old one until you finish. Rewiting makes you think of every little part, so sometimes you'll realize what you did wrong last time and can fix it with one tiny change. If you've already torn out the old code in frustration, you're going to be even more frustrated.
@KookoCraft
@KookoCraft День назад
@@ZlothZloth been there lol
@Andonios88
@Andonios88 Месяц назад
I’m an accountant, I’m forcing myself to be here after you said we didn’t like to watch your game development content in your Fallout TV video. 😂😂
@akranov
@akranov Месяц назад
Fellow guilty accountant watching this for similar reasons lol
@Orangubara
@Orangubara Месяц назад
When you hear that „Hi everyone it’s Tim” and you know that you will be blessed with knowledge 10/10
@Teethmafia
@Teethmafia Месяц назад
I’m a game design student with 2 programming finals I should be doing right now. This was the perfect procrastination video for me.
@Medik_0001
@Medik_0001 Месяц назад
Watch his previous video 😂
@zhulikkulik
@zhulikkulik Месяц назад
@@Medik_0001oh, the irony of this comment branch 😂😂😂
@Teethmafia
@Teethmafia Месяц назад
@@Medik_0001unwise to assume that I missed that one somehow.
@trielt1
@trielt1 Месяц назад
13:00 ish One of my programming teachers would tell us the "the subconscious works faster than the conscious." If you just keep banging your head against the problem, you won't get it done any time soon, but if you just walk away and let you brain breathe for a bit, you will figure it out in no time.
@gilgamecha
@gilgamecha Месяц назад
I have encountered this "missing method" issue quite a few times. Usually months of debugging before the library vendor confessed that yeah, it was just a stub at the back end.
@bruceschlickbernd8475
@bruceschlickbernd8475 Месяц назад
Second pair of eyes: at one point, I told Brian that no matter how good I was at bug-hunting and testing games, breaking the breakable, rewriting the unreadable, redesigning the badly designed, I was one person, and someone else would inherently see what I didn’t. With us moving to being our own publisher, at some point I was going to be the bottleneck and we needed someone else to help out on that end. That’s how Tom Decker got hired (you’re welcome, Tom). And it worked - we found stuff because we simply had different approaches to the games, and the simple fact that there were only so many hours in the day. Just staring over Jay’s shoulder I would spot bugs in his code (and I could not write a line of code to save my life - I just got so used to seeing him fix stuff, I could spot it when it was wrong). Great advice on just going away, doing something (hopefully productive) else, and coming back to it with fresh eyes. Poor Q (J and Q, sounds like Programmers in Black) had one bug that took him a long, long time to find - it was in the Atari system itself. Good luck planning for that. So, yes, non-programmers can learn from this. But…spaghetti code. Or Miles code. Or Pavlish code. Or - all the other programmers in unison - Becky [well, it’s pre-Burger 2.0 name] Code!!! Programmers seem to delight in their amazement at the wacky things that other programmers do. And all of you did it. Every single one. ;-)
@bratttn
@bratttn Месяц назад
thank you, Tim. I don't know how relevant it's in gaming, however in enterprise there sometimes a bug that's long fixed for the next big release and the solution required a overhaul of half the infrastructure modules in different ways. However there is always a customer requires the fix ASAP for the current build and your schedule goes haywire and in the end what the customer gets is not a proper solution but a hideous amalgamation of hotfixes that due to some voodoo cybermancy hold together somehow. Your programmer's soul bleeds to bring this cadaver to life in production but it's the best you could come up with within the given timeframe. The hardest part is such makeshift pieces of bad code could persist for years until someone dares to do a proper cleanup and the saddest part is even after you refactor everything to meet some measure of standard no one will see it or appreciate it.
@mikehenkelman2111
@mikehenkelman2111 Месяц назад
I love Tim...so much wisdom...and such a good dude/gentle soul. This channel could literally live off the notes he's kept over the years. Keep them coming buddy!
@draloalo
@draloalo Месяц назад
Sometimes I consider to start smoking again. Whenever I got frustrated I would go outside for a smoke break. When I got back, I had often solved the issue while not looking at it.
@samotdengode
@samotdengode Месяц назад
It's not worth it to start smoking again but you still can go outside, do a little repetetive task and find the same results!
@RustCorp
@RustCorp Месяц назад
I quit too, and I think it's more the ritual of stepping away than the smoking in and of itself. Like, I still walk to the same corner store where I used to buy my smokes daily, but now I just get coffee or whatever.
@jimmianimates918
@jimmianimates918 Месяц назад
could go feed some birds or something. i find walking my dog clears my head and lets my mind wander and its when i do my best problem solving
@hardgay7537
@hardgay7537 Месяц назад
A lot of nicotine addiction is both pavlovian and dopaminergic. Pavlovian in the sense that you associate things like stepping outside for 5-10 minutes with smoking. Dopaminergic in the sense that it often also follows things that feel good chemically, like coffee, a meal, or sex. If you can enjoy all of those things without cigarettes you're already making progress quitting.
@za7304
@za7304 Месяц назад
Don’t go back you don’t need smoking to get things done
@KeiNovak
@KeiNovak Месяц назад
Funny that you mentioned UI/UX issues. I'm going through one right now and it's taking way more stuff to get it to function then I expected. I used to do UI/UX but on other things, and this is the first time with the current platform I'm using. And yeah, UI stuff is still a pain in the butt after all these years.
@tedbendixson
@tedbendixson Месяц назад
I've definitely landed on simply allocating a big block of memory up front and then using memory arenas inside of that block. Memory arenas and static allocation are definitely underrated.
@GlassesAndCoffeeMugs
@GlassesAndCoffeeMugs Месяц назад
One of my funniest programming memories is when I was a freshman CS student, asked to write a program to simulate a forest of trees burning (text-based console "simulation"). Got so hung up on a problem and went to bed incredibly frustrated. A solution came to me *while I was sleeping*, and I got up, immediately tried it, and it worked. Which to me forever cemented the idea that often the best solutions will not come from being frustrated sitting in front of a screen, but doing literally anything else or even while you're sleeping.
@specialagentgeralt9763
@specialagentgeralt9763 Месяц назад
Hey Tim, I just wanna say thank you! I only found your channel recently but as a 27 year old without a real "path" in life I've always wanted to make games and feel like I missed my calling. These videos make me wanna rethink what I'm doing with my life (in a good way).
@gregorio87
@gregorio87 29 дней назад
You certainly haven't missed your calling. If it's your age that's holding you back, I'm sorry, but that's laughable. I felt the same way when I was 27, but trust me, you have plenty of time to do whatever it is you want to do.
@specialagentgeralt9763
@specialagentgeralt9763 29 дней назад
@@gregorio87 I appreciate it stranger... I'm currently a mailman so unless there's a platinum chip coming my way I hope I can somehow course correct someday. Just seems like so many people in the industry started so young. I don't really have any skills. Just a passion for games and how they're made. Always dreamed of working on them.
@ProrokLebioda
@ProrokLebioda Месяц назад
I feel that part about UI...
@toobyoolaar
@toobyoolaar Месяц назад
w.r.t. "pair debugging", here's another technique that can work surprisingly well: *pretend* (in your mind) that you are explaining the situation to another person -- it may work even better if the pretend person is not a programmer, like your wife or SO, so you have to explain it in more detail; go through the motions in this pretend conversation (as if you were talking to a real person) and go through the whole issue from top to bottom... in many cases, the issue will become clear to you before you even finish. This has worked well for me many times! You don't even need to be at the computer; you could be on a walk or something.
@Nariek314
@Nariek314 Месяц назад
Often referred to as "rubber duck debugging" :)
@toobyoolaar
@toobyoolaar Месяц назад
@@Nariek314 I've never heard that term but I like it!
@genericpersonx333
@genericpersonx333 Месяц назад
I recall John Romero and John Carmack both citing the problems of using outside and old code as the main reason they always tried to make all-new code for their projects when feasible. The old code invariably had unnecessary limits bound to the time the old code was written which had been mostly cancelled out by improvements in hardware and so on. The outside code invariably had limits or faults that they found too tedious to fix or work-around. For sure, this was much easier back in the 1990s, but to a degree, it is still applicable today. Advice I have seen thrown around to new developers is to at least TRY to code an engine for your game before you rent one from someone else. Best case scenario, your engine will do exactly what your want it to do. At worst, you spent time learning the limits of your programming skills. Either way, you learn from experience, good and bad.
@philbertius
@philbertius Месяц назад
This is exactly the rationalization I needed to continue working on my engine of 8 years 😂
@ciscornBIG
@ciscornBIG Месяц назад
I could listen to you talk about programming forever, Tim. You're making me want to try again...
@ki3657
@ki3657 4 дня назад
I am so glad you mentioned the UI thing. I'm prototyping with minimal UI right now (99% of it is a single text block) purely due to how much time I lost on my last project to UI hell. It's the single most frustrating experience I've had in 10+ years of coding and I have this niggling suspicion that, if this prototype makes it to project & one day ships, I'll spend more time trying to avoid designing an UI than on anything else.
@Fokkusu
@Fokkusu Месяц назад
This is such a good video, I used to be a programmer but now I am a technical artist so is still relevant to me, and your suggestions to deal with these problems and frustrations are what I do already, but this video format on it is super useful because now I can point at it and educate others in why sometimes I can take weeks on something that was supposed to be simple without loosing the little remaining sanity I have left.
@TheAlison1456
@TheAlison1456 Месяц назад
Incredible video I loved how you addressed different roles in gamedev throughout the same subject. Also, pair debugging is awesome.
@StavrosNikolaou
@StavrosNikolaou Месяц назад
Thank you for this very sound advice! All of the suggestions i have used and all have been successful in one context or another (though number 3 hurts when you have to do it). Have a great day Tim!
@RazielIgor
@RazielIgor Месяц назад
I was literally thinking about asking this today. Thanks for the video ❤
@FerreusDeus
@FerreusDeus Месяц назад
lmao Oh god, your very first one and I'm like, "GOOOOOD WHYYY?!" It's so real! War flashbacks, man. Even in programming war never changes.
@lunch96box
@lunch96box Месяц назад
Much love from Florida brother 🙏 Your games were my childhood man, don't think anyone can hold a candle to you and your guy's work ✌️
@vikinggameprogrammer7233
@vikinggameprogrammer7233 Месяц назад
My right eye started twitching when you mentioned Watcom around 04:08. We have a private Slack channel for our team where we tackle problems together after spending our due time on it as an individual developer and also for rubberducking and it's immensely helpful. Also for sh*t talking about code stuff cos it helps to vent too and humour is helpful during the development process. I'm a little leery about compile-time optimisation but it's safe enough these days to where I'm not ultra curious/paranoid about how it will optimise. Thanks for the vid- subbed too! :D
@fredrickvonstien861
@fredrickvonstien861 Месяц назад
Being a recent programmer I've already experienced all the examples given, the most frustrating thing to me is being given a task to write a program a specific way and check and double check with your lead to ensure everything is being done correctly and then management or the lead themselves decide they want it to do something else entirely different and it feels like I had to throw away almost everything I made, with weeks instead of months to left complete the task and I had to do nothing but to chug coffee and program, no time for breaks no time for lunch.
@TernaryHound
@TernaryHound Месяц назад
Love these tips. Never really thought about the UI thing until now but rings true! My own programming tip is to wait as long as feasible before writing code for a hard problem. A bad solution often takes some reflection to catch and writing code can make you hesitate to change course.
@WilliamAhlert
@WilliamAhlert 8 дней назад
Currently in the thick of it working on some UE Audio Programming for a university assignment and my goodness do I resonate with a lot of these. Thanks for sharing
@darkmattergamesofficial
@darkmattergamesofficial Месяц назад
Thank you for your helpful insights, Tim!
@ZacharyBuechlein
@ZacharyBuechlein Месяц назад
My son just recently got into coding. Will be sure to pass the video on to him as well :)
@colinfrederick2603
@colinfrederick2603 Месяц назад
This mostly went over my head. I love that. Now I know what I need to research further. Thanks Tim!
@Owl90
@Owl90 Месяц назад
What a fantastic video. Thank you, Tim!
@keagancollins3243
@keagancollins3243 Месяц назад
Paired debugging is shockingly effective. Frequently the other person doesn’t even have to say anything, but as soon as I try walking through the code with someone else i often figure out the issue before the bug even presents.
@olppa1
@olppa1 Месяц назад
Interesting to hear about this compiler with flatmode! I remember something like EMS and XMS in DOS, 64kb(?) memory pages you had switch to access extra memory. Also working with SoundBlaster cards was interesting. I remember getting 16bit SoundBlaster and it was the coolest thing ever.
@aleccrisman
@aleccrisman Месяц назад
Don't underestimate how interesting these videos are for non-programmers. I'm a political theorist who games as my main hobby and I basically find every part of the game design process fascinating. Programming seems like the part of the development process where the rubber really hits the road and this seems to give programmers a unique perspective on where and how things can go wrong in gamedev.
@ZwiekszoneRyzyko
@ZwiekszoneRyzyko Месяц назад
I'm very happy that your channel has really grown in a relatively short time! I find your content amusing and informative, really entertaining. DId you get your Yt plaque? WIll you have it on the wall behind you?
@RolyPolyGames
@RolyPolyGames 21 день назад
I'm not sure if I am blessed that I haven't had a lot of these issues yet or cursed. I'm no expert programmer I wouldn't even put myself on a 5 on a scale out of 10. Most of what I do is self taught with some basic understandings from classes. My biggest hookups so far have been stupid typos, and self doubt where I have an idea on how to do something, but I don't dive in and do it quickly enough. I'm getting better at that at least, typos continue to be a random curse. Probably got this video because I was looking up information on debugging better, but glad I found the channel. 13:00 I can confirm getting away from it helps. I was stuck trying to fix an error with my UI not replicating changes on clients for multiplayer for several days.. I went through it line by line confused as all the broadcasts looked great, I was debugging and getting the calls going through up to the exact point changes SHOULD occur, but it wouldn't fire. I stepped away and not more than 4 hours later it popped in my head, "hey you know the rest of the UI is firing fine. Why don't you redo it step by step and see what went wrong." My dumb self had called reliable server instead of reliable client on the initial function. I had a laugh and its back in business now. Just wish it hadn't taken several days going through everything...
@tedbendixson
@tedbendixson Месяц назад
lol immediately the first thing he mentions is working with other libraries. This is why I do as much from scratch as possible. It's comforting listening to this. It makes me realize all the problems I'm running into are totally normal. Just embrace the struggle right.
@BigOlBear
@BigOlBear Месяц назад
Another great video, I really love this channel so firstly thanks very much for sharing all these videos. I am a programmer as well, in web development so a bit away from game development, but your points all resonate for sure! The UI and design changes especially, what can look like a simple shape or size change can have a massive impact. One other area that maybe isn't as common in game development is also tool or library upgrades. In web development I don't know how many times I've upgraded a library to a new version that says it is not a breaking change only to have... breaking changes. I wonder if this is something common in game development, or is it more set that you know early on the versions of things like engine version, library versions etc.?
@LDiCesare
@LDiCesare Месяц назад
I think people just avoid changing game engine or library versions as much as possible once they have something running. It's always a lengthy process and introduces different bugs. In web, you tend to have to go with the latest versions for security reasons, which rarely matter for games. It may also be different in MMOs or games with very long development lifespans.
@BigOlBear
@BigOlBear Месяц назад
@@LDiCesare Yeah that was my thinking, games are maybe a bit more static in terms of the choice of tools or libraries and how what you choose at the start is what you stick with. I can imagine a game engine upgrade mid development (or even post!) is a big undertaking, it is impressive when you hear of those long running games that do upgrade something massive like the engine yet still continue to run very well.
@Ambanoid
@Ambanoid Месяц назад
My most frustrating thing comes at the end of development of a complex system - the "finishing block". It's aggravated by not having strict deadlines and strict design specifications, since I work on everything gameplay related and always cross into game design and have to think for both designers and players. So making the finishing touches to a complex system, that gotten tad bit too complex through the course of its development, wrapping things up and shipping it into the workspace often puts a sort of a block on me. Procrastination, overthinking, burnout - all the good stuff.
@unitedpainter9875
@unitedpainter9875 Месяц назад
Completely Unrelated question: Would you remaster or remake Arcanum? What would you add? What would Take away? More events? New User interface 😂? Etc. Thank you so much for your time. I just started watching your videos, not but a week ago, and I’ve just been binge-watching it; great stuff!
@CainOnGames
@CainOnGames Месяц назад
You might like this video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-pgn2sQ4vAkU.html
@RaccoonKCD
@RaccoonKCD 29 дней назад
I don't even have an interest in game development but listening to Tim talk about things he is interested in and has experience in is just super entertaining for some reason
@aNerdNamedJames
@aNerdNamedJames Месяц назад
What I appreciate about this video is that, even to someone who is neither production nor programming focused, the realities of small teams can often mean that everyone is involved in production to some capacity, so more go-to reference material for easing communication between programmers and non-programmers is always a godsend.
@NoMastersNoMistress
@NoMastersNoMistress Месяц назад
This was fascinating... I'm interested though in your experiences with modifying an existing engine, i.e. adding and removing classes to it, but especially your thoughts on adding and modifying scripting engines and modding API's to existing game engines, since that's actually a hot topic in some indie quarters.
@vast634
@vast634 Месяц назад
For the redesign thing: I think projects should have enough time for the prototyping and pre production stage, where key mechanics of the game can be quickly implemented and tested in a rough version. (like the example of having a clickable round button. A prototype specifically just for testing this part). In this preproduction stage rewriting and iterating on code should be expected and normal. Finding a fun game-loop is important. Once the critical mechanics and designs are prototyped and tested - starting with the production phase - code should be cleanly reimplemented and the producer can be more rigid about what changes are allowed.
@TheClodax
@TheClodax Месяц назад
I am programmer, but I have never worked on game development. I write code for servers for a large multinational company. I always wondered what coding for games would be like. Your channel has showed it me that it's about the same. It is interesting to find out game programmers run into to same issues that I do.
@MrHerrGotlieb
@MrHerrGotlieb Месяц назад
Hi Tim! This technically-minded video has reminded me of something I wanted to ask you: How come the pathfinding range on movement in Fallout is quite low? Replaying the game recently, I noticed that just scrolling one screen away is enough for the hex cursor to show the red X, as if you can't go across the open field. Now, this never bugged me when I was a kid, playing on my Win 98 with a 4:3 CRT, so maybe this is only noticeable on modern resolutions? I refuse to believe that you couldn't figure out an efficient pathfinding algorithm, so in my head, I explain this as being too low-priority to "fix". I asked a question once before (which prompted your video about Disneyland), so I politely waited before posing another one. Thanks for the great videos and great games!
@gilgamecha
@gilgamecha Месяц назад
Pathfinding is a fundamentally difficult computation problem.
@chigbungus3026
@chigbungus3026 Месяц назад
I love your passion and zest for your crafts. The world can be such a bleak and depressing place but creators like yourself offer stories and worlds not like our own that give some much needed fun and escapism. I don't know if you've touched upon it already but id like to see a video on how you keep the fire for creativity going inspite of life and all its tribulations trying to extinguish it.
@CainOnGames
@CainOnGames Месяц назад
Avoiding Burnout: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-S9H_S71oJgc.html
@georgeabitbol4180
@georgeabitbol4180 Месяц назад
Now i take my breakfast watching one of your videos everyday, honestly it's a great way to start the day xD, not sure that this information will be useful for you tho
@jwithersooon
@jwithersooon Месяц назад
This channel along with pirate software inspired me to start learning how to make metroidvania type games. fallout: PNRPG is my favorite game of the series which says alot since i started with f3
@YT-Lucas
@YT-Lucas Месяц назад
8:37 - producer here: I need that short reaction as a gif that I can use forever on everything.
@raylder6339
@raylder6339 Месяц назад
Hi Tim, it’s us, everyone. Love hearing the dog asleep in the background 😊
@michalkleszcz
@michalkleszcz 29 дней назад
It might just be me but i love these kinds of issues, they promote problem solving skills which are important and inspire team work and new solutions
@olwiz
@olwiz Месяц назад
I think there was a saying somewhere along the lines of 'a project will take as long as the time allocated for it'- im paraphrasing, maybe it was 'more' then time allocated... it aludes first to how 'more time' have a positive correlation for parts of development bloating(its not lazyness, extra work applied- polish, features etc) but also stands for you cant account for time realistically. No one can. Surprises will always show up, not only bug or technical but even personal and logistics and no one cant ever predict what, when, and most of all how long it will take to fix each one.
@dwroberts
@dwroberts Месяц назад
I recently used a rarely-called method in a library and got a linker error. I needed a newer version of the library to use this specific method. The recommended way to get the library was with my OS. The OS on my machine was too old to receive the newer version of the library that had the added call. So I was faced with either update my OS to get the newer version, or starting to build this (complex) library from scratch on my machine. I eventually surrendered to an OS update - that of course then broke everything else that was already working
@Medik_0001
@Medik_0001 Месяц назад
What OS?
@LDiCesare
@LDiCesare Месяц назад
So true. All of this, from the compiler issues to UI code.
@uncooked_ham
@uncooked_ham Месяц назад
I remember when I was younger, one of my most common sources of programming in Basic frustrations was "10 play Arcanum, 20 Love Arcanum and ToEE more than anything, 30 print "THANK YOU TIM!" :)
@MrSytxferryman
@MrSytxferryman Месяц назад
Random off topic question. Been driving me nuts since your first video. Where did that amazing rotating glowing ball behind you come from? I want one so BAD. lol. I find others but none that rotate or look near as awesome online. 😁 Long time fan since the 90's. Fell in love with F1 when I got out of the Army and just been a obsessed fan hunting down anything even remotely similar since. Thanks 😁
@CainOnGames
@CainOnGames Месяц назад
It was a gift. I think it’s this: a.co/d/9Ab3oGI
@ShmilS
@ShmilS Месяц назад
Design changes also might affect a basic principle the code is leaning on and then you either rewrite everything or add some spaghetti.
@revanbrittain3480
@revanbrittain3480 Месяц назад
I just wanted to say how much I love watching your videos since I found your channel! I've been a Fallout fan since I was in middle school, and even though my first game was New Vegas, I fell in love and I played the original Fallout and fell in love again. I love the original game and Fallout and finding your channel where we get to learn about not only Fallout itself but just your life as well it brings me joy especially now as times are hard for me and my husband at the moment. Watching your videos has given me an outlet to find some peace in this crazy world, Thank you!
@Nightwulf1269
@Nightwulf1269 Месяц назад
Thank you Tim! Same stuff everywhere....I'm working in a very different area but can sign the whole video. Just with other topics like APIs not beeing documented, describing not the reality, not following standards or even invent their own "protocols". Especially REST services often don't get HTTP response codes right. Same applies to libraries. As another guy mentioned already in the comments, I'm a big fan of doing stuff myself meanwhile. And you just described, why 😉 Only exception I make is, if something around crypto is involved or other things you really, *really* need to be an expert in, to get it right.
@nafanail2nd
@nafanail2nd 28 дней назад
Hi Tim, a software manager here. I haven't done game dev itself, but worked with gaming companies and had some exposure to their processes. Crunch and delays are common, however regular software application development produced varieties of techniques for early detection of development delays. Iterative approach, regular milestones (or some call them "gates"), agile practices. I understand it all probably does not work well in game production, but can do you think you could talk on this topic in detail?
@B.von.Bentzen
@B.von.Bentzen Месяц назад
Hey Tim. Have you heard of Underrail, Styg was heavily inspired by Fallout. It's a very old-school RPG. Wrong perks and stats and you will have to start over. I love that game.
@robert-de-calvary
@robert-de-calvary Месяц назад
On your point that sometimes it is extremely hard to make a minor UI change like making buttons round I found that there is often even further level of frustration. When your projects manager asks you something like "It's ONLY making the button you already have round. Why is it taking you two days to complete this minor change??"
@thebaffman4898
@thebaffman4898 Месяц назад
My personal programming philosophy is "never compromise". Unless I'm rushing to complete some prototype, I always write code to account for every possible scenario I can think of in that situation. If you write code that's too specific, sooner or later something will need to be changed or added and that will lead to spaghetti code that will be a nightmare to debug. Of course being human you can miss things, but if your code is flexible enough you will thank your past self for the few more hours you spent making robust code instead of rushing because "I only need this one thing now, who cares". This strategy saved me a lot of time and headaches more times than I can remember.
@philbertius
@philbertius Месяц назад
How do you feel this interacts with KISS, “Keep It Simple Stupid”?
@thebaffman4898
@thebaffman4898 Месяц назад
@@philbertius That's a valid rule and, in a way, what I do helps me keep things simpler in the long run. I very rarely have to rewrite code, and when I have to add things it's usually very easy because when I was writing the code I thought "I might need this functionality in the future" and accounted for it. I don't take shortcuts to speed up things because I know that's gonna bite me in the ass sooner or later. Also this way my code is reusable and easely extendable so as a plus I save time by recycling it in other projects.
@Videogamevoice
@Videogamevoice 19 дней назад
I would really love to watch a tutorial of you creating a small basic demo start to finish
@UlissesSampaio
@UlissesSampaio Месяц назад
Hey Tim, what are your thoughts on the "consolization" of games? Since late 2000s, seems like every game is now made with gamepad in mind. This imo forced games (including RPGs) to simplify its mechanics due to not being able to use a mouse.
@LakevusParadice
@LakevusParadice Месяц назад
Of coarse. Less input potentials IE; buttons. Naturally lead to more simplicity. Imagine a game like arma 2 on a controller. How would that change the experience?
@danutz_plusplus
@danutz_plusplus Месяц назад
Tim, what's your opinion of Fallout Tactics? I never heard you ever mentioning it. I'm not even sure I know the history. Was it contracted out to a separate studio? But that's technically the very first Fallout game I ever played, before I got the chance to get into the wonderful Fallout 1.
@nathanlonghair
@nathanlonghair 28 дней назад
What I’m hearing is “never write a precious perfect gem”, always write spaghetti, and either refactor later after revisions or just suck it up 😂 (especially regarding UI, which has absolutely always been a pain for me too, almost no matter how simple)
@shnargru
@shnargru Месяц назад
I own a cup that says, "Please forgive me for what I said today. I was debugging." 😂
@lilykp
@lilykp Месяц назад
its weirdly reassuring to know UI programming has always been like that™️
@TimvanderLeeuw
@TimvanderLeeuw Месяц назад
It's not just _game_ development, it's _development_. I remember these bugs that got you stumped for weeks in my own development projects that I've worked on. Sometimes it's you, sometimes it's the compiler, sometimes it's a library, sometimes it's one of the external systems you depend on. Sometimes you switch suppliers and they should implement the same API but there's subtle differences that mean you suddenly have a bug. I could go on.
@dmath1490
@dmath1490 Месяц назад
I remember having to use wx widgets without any GUI helper and it was the worst experience i have ever encountered.
@occupationalhazard
@occupationalhazard Месяц назад
It is mind blowing how many features are entirely unimplemented in a large number of games. I'm amazed what some developers get away with. I'm never releasing any of my games in that state.
@deadclicks
@deadclicks Месяц назад
Felt satisfied to hear that implementing UI stuff is awful for everyone else as well
@therosincrans6221
@therosincrans6221 Месяц назад
I’m curious if you have any stories or advice about collaborating with programmers with different styles, or different comfort levels of best practices. Like having to work with someone else’s code that does the job it’s supposed to, but to your eye it’s sloppy, could cause issues as it’s built upon, or just hard to debug.
@Noxfrolic
@Noxfrolic Месяц назад
I'm not sure I agree with the estimation and buffer bit. The way I see it is more in terms of who does the estimation and planning. I've worked in software engineering for two decades, not in game development at all but in "boring" sectors like energy and finance, and we tend to meet our estimates fairly well. A big part of this is that we don't ask programmers to do estimations. I wouldn't even trust myself to make a good estimation on a lot of things. Instead our production people use the data we've collected over the years and find similar issues being solved. Which I guess is easier outside of game development, but is still very useful since it's basically always more correct than any project estimate given by a current project team. Because if you take the data of implementations of solar inverter data and the consumption of these on 10 different plants, then you're like to get an average estiamte that's going to be pretty close to what will happen on the 11th project. Even when the tech is widly different because, well, why wouldn't they build those damn things without any sort of standards? I don't believe in crunch, but then I'm Scandinavian. I'm not sure I know a single programmer who wouldn't just clock out at 3pm regardless of what you told them. I know I would... I'm sure there is some sort of godly amount of money you could pay me to get me to stay and work for a weekend, but it would probably be ridicilously high because I'd rather be with my family, and what are you going to do? You're already spending too much money on HR headhunting because programmers are hard to come by. Which I guess is less of an issue in game development (and probably not in north american working culture at all), but it's still just a concept that's so weird to me. Other than that I think this is a very excellent video.
@thesardiner2034
@thesardiner2034 Месяц назад
I wonder what Tim thinks about microtransactions in single players games. I thought the trend was over but then with Dragons Dogma 2 its come back into the general gaming talking points. I see a lot of apologists for it saying "its all earnable in game so its not a problem". I generally dont agree with slippery slope arguments but there is one to make with microtransactions in single players games because it crosses the metaphorical rubicon of the value of play time. With them in, it tells the player this isnt worth playing because you can pay to skip it. Thoughts anyone?
@inuous
@inuous Месяц назад
UI code is certainly my least favorite to write (and always the buggiest). Writing UI code as we speak.
@dogecoin1692
@dogecoin1692 Месяц назад
Tim, in your career, did you ever second guess it? Did you ever think, “maybe I should be doing x rather than this?”
@puffpuffpass3214
@puffpuffpass3214 Месяц назад
I constantly think of the dude I found on reddit like years and years ago who went to school to learn everything to make SAO possible. He wanted to recreate it 1-1 and I MEAN 1-1. The idea was so batshit insane yet at the same time the guy seemed so adamant about being able to pull it off. Now I wonder if there's going to be a freeware death game floating around someday
@puffpuffpass3214
@puffpuffpass3214 Месяц назад
-Someone made a lethal headset not long ago. There's a partner ship if I've ever seen one
@Kata_Mae
@Kata_Mae Месяц назад
OMG... was it the same bug ? I do remember, maybe 20-22 years ago I was learning C and C++ and while doing things with realloc I did have issues of memory rewritten, so I basically did a manual copy with malloc instead. I remember the teacher telling me it was obviously a bug in what I was doing but I never managed to find the issue.
@niallmacrae6016
@niallmacrae6016 Месяц назад
Hi Tim, it's us, everyone!
@Rodhern
@Rodhern Месяц назад
Totally understand the point, so I am not saying the message is wrong - I am just plain old fashioned curious. At 4:15 Tim mentions a 64kB memory block limitation on Windows. I think I always saw that limitation as a choice of processor memory addressing instructions (addressing using classic segment registers and 16 bit addresses 'automatically' limits you to a maximum of 64kB). Is there a particular reason that the instruction set variation and operating system would be paired up as hinted? Again, I understand why Tim phrased it as he did, and I am not picking on that; it is probably the best way to explain it - purely a nostalgic curiosity.
@ClintChocolateChip
@ClintChocolateChip Месяц назад
Tim, do you have any advice for anyone who is put off by the idea of coding but still wishes to learn? The earliest I was introduced to coding was in freshman year of highschool back in 2009 in Comp. Science class, and I had a teacher who taught with seemingly no enthusiasm and would not slow down for those who were struggling, so after so many instances of falling behind in class, I essentially gave up trying to learn from him and flunked the class. Since then I've associated programming with the frustration I felt trying to follow along in that class and put up a wall in my mind that I just am not capable of programming. I still have a strong interest in making my own stories and games though. Any words of wisdom?
@JM_Traslo
@JM_Traslo Месяц назад
Hey Tim, do you have any opinion/insights on games as a longer-term life cycle post-launch versus calling time and doing sequels? I know you hate sequels, but if a studio has the choice between moving forward onto sequels or keeping a game going for years post-launch with more support, what is your opinion when comparing the two? What would be the best for gaining more experience, for fixing big mistakes, and continuing any degree of succes? I'm mostly referring to this at an indie level. (e.g. Terraria continuing support when they wanted to try and do Terraria Otherworld or Terraria 2)
@kylepulman
@kylepulman Месяц назад
7:18 As a web developer, PREACH brother
@philbertius
@philbertius Месяц назад
“It’s like extracting _teeth_!” Haven’t laughed like that in a long time, thank you 😂 (And so incredibly true!)
@CamCommand99
@CamCommand99 29 дней назад
I was taught by the guy who made dlmalloc and I still don't get memory stuff super well.
@badhunter0303
@badhunter0303 Месяц назад
Have you ever played Dragon Age Origins? Is there any video of yours talking about it?
@MudHoleCreation
@MudHoleCreation Месяц назад
Found a bug in Godot yesterday. I've been using it for a week. I've found them in every engine I've used. Ironically, this one was in UI.
@100HourSave
@100HourSave Месяц назад
Hi Tim, I have a question regarding older games, and continued development. Why don't developers go back and make expansions to their older games? The increasing size of game budgets had me thinking of ways to generate revenue with lower overhead, and this seemed like an lower cost way to leverage existing audiences and generate new income. A game like Civ V still has 17k peak players every day, despite being almost 15 years old. Why not make a low cost expansion for it? Something fun like aliens. It seems like developers and publishers let their back catalog languish, before pouring a mountain of cash into a full scale remake. Is there something I'm missing? Thanks!
@CainOnGames
@CainOnGames Месяц назад
Developers cannot do that without their publishers permission. My guess is most publishers want to spend their money on new big IPs, hoping for a big hit rather than a small return on their investment. Ultimately, your question is for publishers to answer, not developers.
@100HourSave
@100HourSave Месяц назад
@@CainOnGames Thank you for the insight, I appreciate it!
@ucfj
@ucfj Месяц назад
Agile ppl got that thing right. Just build it & see how it goes. Root of all development troubles is insisting on having everything planned top-down & scheduled to the day
@LunarcomplexMain
@LunarcomplexMain Месяц назад
and now everything's going back to the rounded theme ONCE AGAIN COME ON, and not even all of them are circular click areas like on this page, subscribe button circular, like button not, share button circular, the create button not, ugh
@TheNezharMC
@TheNezharMC Месяц назад
As a junior programmer, this video interests me a great deal.
@AntonioDoesMetal
@AntonioDoesMetal Месяц назад
As a senior engineer, this video interests me greatly. There's almost no end to wisdom you can get from people when they're telling you stories of code they wrote in the 80's and 90's. It might not click immediately, but eventually you'll have an "ooooooh" moment and realize how potent a piece of knowledge is
@iswordlogici7760
@iswordlogici7760 Месяц назад
I am currently learning the basics of Python and this video interests me. All of Tims do tbh, thats the reason im learning programming
@jvnkman9024
@jvnkman9024 Месяц назад
Hey Tim, I had a question, what was the original of ghouls (like whos idea was it) and were ghouls originally supposed to be zombies or were they always meant to be irradiated humans?
Далее
Job Interview Tests
16:07
Просмотров 17 тыс.
School vs. Self-Taught
15:11
Просмотров 26 тыс.
АНТИГЕЛИК ПРОТИВ ГЕЛИКОВ
00:42
Просмотров 102 тыс.
Top Five Modern RPG Masterclass
13:40
Просмотров 133 тыс.
Piracy
11:54
Просмотров 52 тыс.
Fallout Development Timeline
23:51
Просмотров 32 тыс.
Job Interview Questions
12:41
Просмотров 12 тыс.
Skill-based XP
15:31
Просмотров 21 тыс.
My Top Five Video Games
12:08
Просмотров 57 тыс.
Being A Gay Game Developer
20:23
Просмотров 132 тыс.
Bugs In RPGs
18:11
Просмотров 15 тыс.
Fallout TV Show
16:55
Просмотров 337 тыс.
Body Symbol Game With Sonic And Shadow
0:23
Просмотров 2,7 млн