game development is a unique job in that anyone can get into it whether
you're 3d modeler graphic artist or even a storyteller there are tools like unity
that make it possible for anyone to bring their game ideas to life and
if you're missing some skill say level design isn't your forte you can always
find something to make up for it on the unity asset store this is not however
always the case when it comes to programming while there are a ton of
great scripts to be found one way or another every game dev eventually has to
learn how to write code you know for some of you out there that might sound a
little scary but it doesn't have to be in fact if you follow the advice in this
video you might actually enjoy it because I'm gonna share with you five
tips that will help you learn programming more effectively but first
my name is Charles and this is infallible code a channel designed to
help you become a better game developer you'd like to learn more about unity
programming and game development be sure to subscribe to this channel and don't
forget to hit that Bell icon one of my favorite teachers used to tell me to own
my knowledge she wanted me to commit everything I learned to muscle memory so
If I was studying a new mathematical formula I'd write it down over and over so I
didn't even have to think about it anymore that's tip number own your
knowledge in practice that means engaging with tutorials and courses by
following along in unity but you shouldn't just follow along you should
be able to reproduce the code from every lesson without referring to the source
material that's only the knowledge it's the reason my example projects are free
to download because I want you to grab the code and change it yourself so you
can truly own the topic I'm teaching
owning knowledge is great and you should never stop trying to learn but
eventually you're gonna have to put that knowledge into practice you do that by
well making games and writing code and this is where a lot of new programmers
miss the mark because as you may have seen in my recent video called
is making an MMO worth the trouble large projects actively hurt your growth and
new game developers love working on large projects now don't get me wrong I
understand that everyone has that dream game that they're trying to make I'm
just as guilty but they're usually elaborate concepts that provide little
value to your education and what's worse is that pursuing them can actually
instill bad habits that'll make you a worse programmer in the long run small
projects on the other hand teach a whole lot of valuable lessons they allow you
to experience the entire development stack firsthand and expose you to a
variety of challenges that help you grow and if you're lucky they'll even put you
on a path to that dream project that'll one day be the shining achievement of
your game development career so tip number two is to choose realistic goals
tip number three is to plan ahead I've never worked on a project without a plan
like you just opened up unity and began implementing whatever came to your mind
I like to call that doodling and I do it a lot but unfortunately it isn't a good
habit because how it feels good to have that free rein
it just doesn't provide any long-term value most of my doodles either get lost
forgotten or delete it when I have to free up space on my hard drive now a
good plan provides direction and purpose for everything you do and you should be
purposeful making sure the time you spend working is helping you grow as a
programmer so plan ahead whether it be a well-thought-out design document or some
notes on the back of a napkin create a reference that describes exactly what
you want to accomplish from start to finish then execute rinse and repeat
as you work you'll find that you have to make a lot of difficult decisions like
how should your game manager talk to the player class or where should you put the
UI logic now you haven't already you'll probably learn that design patterns can
help answer a lot of these questions for the uninitiated a design pattern is a
generalized and repeatable solution to a commonly occurring problem in software
development like a template that you can use to solve a problem which is a key
takeaway that a lot of young programmers miss that design patterns were fitted to
help solve existing problems meaning you need to write code that has a problem
before you should start looking for design patterns solve it
that's why tip number four is to code what you need break your project into
bite-sized pieces and write pulling the code that's required to complete each
piece nothing more nothing less using this approach you'll find that you
have better focus and will be overwhelmed by the countless decisions
you face on a daily basis and on top of that you'll be positioned to use design
patterns correctly when you actually need
all right so you've owned new knowledge created a few small projects and I've
probably written a whole lot of code that would well tip number five is to
have your code reviewed regularly because it may run that doesn't
necessarily mean it's good so what is good code well here's some criteria that
I use first good code should be easy to understand one of my favorite quotes is
by Martin Fowler who says any fool can write code that computers understand
good programmers write code that humans understand and trust me when I say this
if I can't understand your code then you won't be able to either next good code
is flexible along with design patterns all programmers should learn about clean
coding and the solid principles they provide guidelines for producing code
that's receptive to change and believe me it will change so you want to make
sure that it's ready when it does lastly good code should not contain bugs
now this one may sound obvious but you'd be surprised at how much working code is
riddled with bugs in fact a case studies show that in one organization 55% of one
line code changes had an error so how do you ensure that your code is readable
flexible and bug free get it reviewed and if you're looking for someone to do
that you can submit your code to infalliblecode.com/code-review
and I might just take a look at it during my next live stream so those were
five tips for game developers looking to learn programming own your knowledge
choose realistic goals plan ahead code only what you need and finally have your
code reviewed regularly it won't be easy but I truly believe that if you employ
these tips you leave much more effective in the long run and bonus tip I highly
recommend getting involved with the community of game programmers like the
one we have on the Infallible Code Discord server I'll leave a link to that
in the description well as always thank you for watching I'll catch you in the
next video