Don't Let Code Control You: Programming Skills are NOT the Most Important Skill You Need

  Рет қаралды 4,042

Sasquatch B Studios

Жыл бұрын

Show your Support & Get Exclusive Benefits on Patreon! - www.patreon.com/sasquatchbgames
Join our Discord Community! - discord.com/invite/aHjTSBz3jH
Check out the Podcast! - sasquatchbstudios.podbean.com/
I've learned the hard way that programming skills are NOT the most important factor in game development. Since I started working on Samurado, my 90-day commercial game challenge, I've been forced to approach game creation differently... and I've learned A LOT!
In this video I share what I consider to be the most important skill to creating a successful game, as well as some practical tips and insights that I've learned on my game dev journey.
If you're new to our channel, we're Brandon & Nikki from Sasquatch B Studios. We sold our house to start our game studio, and work full time on building our business and making our games, Veil of Maia & Samurado.
Wishlist our Games:
Wishlist Samurado on Steam! - store.steampowered.com/app/2343270/Samurado/
Wishlist Veil of Maia! - store.steampowered.com/app/1948230/Veil_of_Maia/
---
In need of some Unity Assets? Using our affiliate link is a great way to support us. It's free, and we get a small cut that helps keep us up and running: assetstore.unity.com?aid=1100lwgBQ
---
Subscribe for NEW game dev videos every Monday & Thursday!
Follow us on Twitter for regular updates!
SasquatchBGames
---
**Shown in this video**
Book: Level Up! The Guide to Great Video Game Design
Purchase in Canada: amzn.to/3o1lCkE
Purchase in USA: amzn.to/3o14jjD
Please consider using these affiliate links should you purchase a recommended product, it helps support us and our channel. :)
---
Music from #Uppbeat (free for Creators!):
uppbeat.io/t/mountaineer/fly-away
License code: LHB1KIN8XKCFLFZJ
#motivation #indiegame #gamedevelopment

Пікірлер: 45
@chadmoberly7044
@chadmoberly7044 Жыл бұрын
I would love a solid principles video for coding! Even if I've seen some of the concepts you decide to cover, I'm just able to absorb info better when you teach it.
@johnleorid
@johnleorid Жыл бұрын
If you have to give up on a project because of bad code, you might see this from a different angle. You'll never have to give up because of bad sound, bad animations, bad folder structre because you can always change those things in a couple of hours or days. But when you have 2000 code files and 99% of them have to be refactored, you have to start from scratch. Also just writing code doesn't automatically make you better at coding, it makes you faster at typing. Like if you go running you will get faster but only if someone tells you how to run efficiently you will be able to reach your maximum potential because technique matters. For coding it's the same thing, only if you want to write more maintable, flexible, modular and clean code, you will look for ways to do so (basically looking at how other people solved certain problems). I'm doing this since 10 years and I didn't really got better until I wanted to (which was about 6 or 7 years ago). Also there's never a state of "I can code everything" xD I couldn't code voice recognition, natural language processing (part of chat gpt), drivers for a mouse, stadia or other streaming stuff and so on. "Coding" is just too big to be able to do everything, no matter how much you learn.
@nohost_dev
@nohost_dev Жыл бұрын
Well put! Totally agree
@principleshipcoleoid8095
@principleshipcoleoid8095 Жыл бұрын
I'll be nit picky and say sometimes Clean Code™ is pessimised performance wise code. And performance does matter. Too many abstraction layers at runtime cause exponentionall growth of attack surface and places for bugs to happen (in individual layers and interactions between layers). Like dynamic classes at runtime will slow you down compared to templates (in Rust for example).
@ludomancerstudio
@ludomancerstudio Жыл бұрын
I think what he meant regarding "I can code everything" was restricted to gamedev on unity, which isn't that bold of a claim to me.
@gamevies9254
@gamevies9254 Жыл бұрын
Im learning that the hard way. I kept beating myself up for not knowing everything and truthfully that mindset was holding me back. To code, you have to always be open to learning new things.
@mr.hashford713
@mr.hashford713 Жыл бұрын
7 years of coding. Every day, I am amazed at how much i'm stupid
@DannyDeer
@DannyDeer Жыл бұрын
Completely agree. This is something I struggled with when I was fresh out of Uni. They teach you to ALWAYS write clean code. Meanwhile, it's a tradeoff: - write clean code and save time in the future - or save time now by writing bad code and lose time in the future. Only write good code when it saves you more time in a long timeframe. (When you're in a team, writing clean code is the right choice ~90% of the time, but in solo game-dev writing bad code is the right choice most of the time IMO)
@sealsharp
@sealsharp Жыл бұрын
There are a lot of best pratices out there but not all of them are always optimal for everyone. The best practies i would recommend for teams in a corporation are not the same i would recommend for a single Unity-Dev. Here's my favorite: Keep it simple. Sometimes it the best to just code what you actually need, especially when you are not experienced enough to know what else you will most likely need further down the road. Here's my second favorite: Assume the next programmer is not as smart as you. Because most likely, it IS YOU! ...After you forgot half of all the smart thoughts you had. Often, there are resssources that help understand the issue, and knowledge gained. Write it down. Write what how you would explain in to someone in a simple and precise sentence. Often, a single sentence can sum up the intention of a whole block of code. And if that block ever has a bug or needs change, you have a written intent to compare to the acutualy behaviour as seen in the code. Here's my third favorite: When the internet tells you that coincidentally being a lazy, selfabsorbed asshole is what makes a great programmer, click away. We see it all the time. It seems like REAL programmers argue about IDEs and color theme and languages and shit and it's easy to join because if you declare that real good programmers only use emacs and linux, you can claim to be better than 99,9% of all programmers out there without writing a single line of code. Sounds stupid because it is. There's a lot of ego out there. And then there's people like John Carmack, who says things like how practical debuggers and IDEs are and how static code analysis was useful to him and it's all so pragmatic. So if you ever want to be like someone and you have to decide between the attitudes of one of the greatest innovators in gaming and some random that thinks everyone else is shit, don't take the easy route.
@theDarkerSan
@theDarkerSan Жыл бұрын
That's REALLY GOOD advice, I wish I heard that a long time ago. My code being "bad" was a huge demotivator for me in the past.
@jeremydiaz9642
@jeremydiaz9642 Жыл бұрын
I was thinking about quitting game development because I'm foremost a writer, and a writer can't program as well as a programmer. But this video helped me get back in action, I hope you get more views!
@daelsan1909
@daelsan1909 Жыл бұрын
I know that feeling. I´m an Advertising Copywriter and Content Strategist working in social. I´m learning the basics of programming and learning to do so in Godot. Sometimes, coding makes me feel horrible because it doesn´t flow naturally like writing goes for me.
@mehmedcavas3069
@mehmedcavas3069 Жыл бұрын
The video about solid and abstract coding would be awesome. Would be cool to show real project examples too and more than 1 example :))
@After_Pasta
@After_Pasta Жыл бұрын
Lots of people get stuck on the idea they are not writing good enough code when the truth is a whole lot deeper when talking about good code we are talking about what compiles, runs & doesn't break the reason we have rules is so we can work in teams and have a system of design otherwise we are talking about what is less taxing for a program however the handy part about most languages and even modern c++ is memory is far easier to manage than a decade ago
@imraanakollo-arenz1449
@imraanakollo-arenz1449 Жыл бұрын
Technical debt is both the friend and the enemy. Get that game and system working and performing well enough first then go back and optimize. However, don't get too lazy with it because you have to go back and fix that code.
@StealthyShiroeanGames
@StealthyShiroeanGames Жыл бұрын
I definitely agree with this. I'd say that I'm a bad programmer. But I'd also say that I can probably figure out how to do most things I'd want to make as long as I'm willing to dig for answers and try things out. I know that I'm better now than I was a year ago but I definitely feel like I need to get back to basics because since I've been learning on the go and sometimes not even working on code (since not everything in game dev is coding) I find that a lot of my programming knowledge has huge holes in basic foundation. So I definitely would like to improve that. However, the difference now is that before I only wanted to learn how to get better at programming. I figured that was the most important thing and my biggest hurdle. I knew that I wanted to learn how to do art as well but I decided to push any of those courses to the side to concentrate fully on programming since without code there is no game. And while that's true...there's quite a few other things that are needed to make a game good. I'm beginning to realize that I need to take some time to improve other disciplines within game dev if I want to try and do this as a solo dev. Great video as always, Brandon! Love the stuff that you and your wife put together!
@kyoseoul
@kyoseoul Жыл бұрын
I started coding a year ago (C#) and im not at the point where i can code everything is want. Additionaly I often get errors and need like 1-20 minutes to fix them. Im at a point where i try to learn some optimized ways to code something only to find out there is something easier and better. Generally im not a perfectionist in coding, i just try to think about how to apply solid principles, which often fails and frustrates me. I guess that right now while working solo, not optimized and sometimes messy code is fine as long as the feature is fun. I would love to hear your coding jouney, since you learned on your own. As well as how to apply coding principles. Keep up the good work!
@sasquatchbgames
@sasquatchbgames Жыл бұрын
Thanks! Actually, I SORTA did the coding journey already if you go and loookup the video "How I would learn to code if I could start over," - you'll get the story of how I got to where I'm at.
@agdneto3760
@agdneto3760 Жыл бұрын
Hey guys, I just visited your game's Steam page and wanted to share some feedback. Improving the page requires a lot of work, but I strongly believe you need to prioritize it immediately. =0 It almost made me cry looking at it. =P Joking. But not joking =| I wishlisted anyway to support. =)
@SextonDoug
@SextonDoug 2 ай бұрын
I watched this kinda by mistake, but man, exactly what I needed to hear. Thank you so much. Your tutorials are amazing!! Love how you approach topics.
@mehmedcavas3069
@mehmedcavas3069 Жыл бұрын
This video is just made for me. I also do now like the work with place holder assets or always try to write the best code but in the company I'm working right now is speed everything. The thing with knowing everything happens me a lot. I do know a lot of stuff in game dev or unity in general but I also know that I do not know the best way to do it. And when I think deeply I also know that I know nothing. I can make most of the game mechanics, I have good algorithmic thinking and so on but I feels sometimes like I have almost no experience :D
@Butanoshi
@Butanoshi 6 ай бұрын
Started programming in pascal when I was 14. After many years, BSc Computer Science degree and many years as a programmer/engineer now at 32 I am still feeling like I know nothing a lot of the time... that never goes away.
@ytmiva2
@ytmiva2 4 ай бұрын
As a professional programmer, you're absolutely right. Code is just a tool to make your designs come to life. All the mentioned principles are very useful and I recommend everyone to learn them eventually. The principles are used to help the developer. They also help the player indirectly in a way that it minimises potential for bugs and new content can be delivered faster.
@mrultima9466
@mrultima9466 6 ай бұрын
Honestly, the greatest moments of satisfaction I've had in my life are the times when I was trying to learn a new programming thing - for the purpose of making it easier - just to say "fuck it" and do what that's supposedly for with boolean variables and if statements in a much shorter time.
@southcoastinventors6583
@southcoastinventors6583 Жыл бұрын
I would also add to that don't get caught it up in level creep. It okay not have every feature in the game as long is the game loop is fun/addictive that's enough, I mean look at flappy bird for instance. Is your game also going to be ported to android/iOS ?
@nsgames24
@nsgames24 Жыл бұрын
I'm a beginner with indie game dev and I tried to do coding with Godot, last year and it left me frustrated. Not the engine. I like Godot for what it is and what it can do, but still. I followed tutorials, but still didn't get the results I wanted and all I was trying to do was make a prototype for what I'm planning to make in the future. After leaving that engine, I went to GDevelop and so far, less of a headache that I have to deal with. It has its problems, but what engine doesn't?
@BraveDragonWolf
@BraveDragonWolf Жыл бұрын
Coding is something I'm still trying to learn and I know that I can get better if I keep my nose in it. But, my creative art skills isn't so bright.
@daelsan1909
@daelsan1909 Жыл бұрын
Try finding an art style and art tool that make you feel nice and actually drives you to make the effort to learn. Discover what kind of artstyle you want and specialice on it.
@tomkol2453
@tomkol2453 Жыл бұрын
The don't nest more than 3 levels guide line is complete bullshit if you work on a big project than it will just make your code harder to navigate around you should try to nest only when needed but limiting yourself to only 3 is just dumb
@samarsudhanshu7019
@samarsudhanshu7019 Жыл бұрын
How much data structures and algorithms are important for game programming. I'm newbie just building prototypes following tutorials
@sealsharp
@sealsharp Жыл бұрын
In my experience, the biggest problem for beginners is not really understanding what happens and when. All kind of algorithms can be googled like "sort stuff by X, descending, no memory allocation". Seeing that and syntax as what is programming about leads to people thinking they can "program" with ChatGPT or that it can make games for them. I've trained people in my job for 10+ and i've been around beginner programmers in indiedev for amost 20 years. Beginners usually don't have a problem writing 200 lines, they have a problem building the mental model of what those lines are supposed to do in detail. Bugs are a discrepancy between intended and actual behaviour, so in order to fix them, a developer needs to understand the intended behaviour. My first advice is: learn to debug. Attach the debugger, look into the values your variables and objects have and when they change. Being able to check if things happen as you assume they would is the way to build the mental model that is required to understand more complex code and systems later. It would surprise you how little people know how to debug. There a thousands of topics asking "i wrote this 200 lines and it doesn't work, why?" with no understanding if it fails at line 5 or line 190. If you can test your assumptions and your results, you can built any system piece by piece.
@georgedowell7747
@georgedowell7747 Жыл бұрын
Thanks man, I needed to hear this
@KenWaite
@KenWaite Жыл бұрын
Amazing wisdom. You are giving encouragement to so many.
@NeatGames
@NeatGames Жыл бұрын
I think you might vomit if you saw my illogical code haha :D
@giantarcsfora9279
@giantarcsfora9279 Жыл бұрын
Hey thanks for the motivational videos! I've been working on a game myself for close to 20 years and still not done...
@DINGOS30
@DINGOS30 Жыл бұрын
Please tell me this was not non stop consistent game development.
@giantarcsfora9279
@giantarcsfora9279 Жыл бұрын
@@DINGOS30 I had a full time job and then working on game in my spare time. Now retired so doing game full time.
@allinallgames9252
@allinallgames9252 Жыл бұрын
i feel like a beginner and ive been developing for like 3 years now
@lowHP_
@lowHP_ Жыл бұрын
it's funny because last night i was banging my head against the keyboard for the same reasons
@Aaron-vn5fd
@Aaron-vn5fd Жыл бұрын
message so good i had to watch twice
@manai2683
@manai2683 Жыл бұрын
Depends on what kind of game you want to make.
@janfilips3244
@janfilips3244 Жыл бұрын
@MaximumAxiom
@MaximumAxiom Жыл бұрын
I think as a solo dev you feel like a novice constantly. Even if you're good at a few things, you probably suck at something else because you are always somewhat a jack of all trades
@TravisBerthelot
@TravisBerthelot Жыл бұрын
I am made of code. You are made of code. I would not be surprised if the Universe was code. So I do not agree. Code is everything. Wetware/Software is all that matters.
@Coco-gg5vp
@Coco-gg5vp Жыл бұрын
First
Help Me Celebrate! 😍🙏
00:35
Alan Chikin Chow
Рет қаралды 85 МЛН
Кәсіпқой бокс | Жәнібек Әлімханұлы - Андрей Михайлович
48:57
ВЫЖИЛ В ДРЕВНЕМ ЕГИПТЕ!
13:09
Бурёночек🛑
Рет қаралды 471 М.