Jump to content
  • Advertisement
Fallofduty

Advice for a noobie programmer.

Recommended Posts

Hi guys, I just joined the forum today. I am currently enrolled in  a game programming program. I have never programmed before. so first semester for me was specially hard as I had trouble understanding many of the concept. I have gotten advice from some experienced programmer to try learning python first as it would make learning c++ little bit easier. I like to read programming books make my own notes and work on problems from textbook also. I am still learning and struggling  but its fun as I want to work in the game industry. Would you guys recommend any advice to beginner like me cause I would like to be better at game programming and make my dream game someday. Thank you for reading my post. 

Share this post


Link to post
Share on other sites
Advertisement

Welcome to Gamedev and I hope you enjoy this forum.

A programming language is like a person you date, and you'll be spending time with many languages in your programming career. Your friends will try to hook you up with a language.  You'll regret some but fall in love with others. You'll either bless or curse your friends. But no matter who we are with at the time we need to look after ourselves and stay healthy.

More important than any language is the time you take to maintain your code. Give this a try; once a week spend 30 minutes reviewing your code.  Tidy it, improve your variable names, comment your code where it makes sense, simplify your statements and eliminate "fluff".  For those 30 minutes, focus and do not pause.

The result, if done regularly, will result in code that is easier to understand and use.  Another bonus is that you will develop your own unique style because the focus is on how you write, not what you write. 

In a similar fashion, spend some time with your current language.  Perhaps spend 60 minutes a week on learning or practicing an aspect of your language.  This could be loading and saving files to disk, manipulating memory or adding a widget to a visual application.  In this case you'll have more of an idea of what your language is capable of and develop your own informed opinion regarding its positives and negatives.

Regards!

Steve.

Share this post


Link to post
Share on other sites

The only advice I can really add is try to incorporate things that interest you in your learning. When I started programming I would read books that would teach you (x) concept then instruct you to make a program that tracks employee time sheets or something else that is extremely boring to me... I would always do something different and more game orientated. So instead of an employee time sheet with a clock in and out feature, I would make a battle roster that keeps track of all my creatures in my "party" and make a function that updates their health and displays changes from a simulated battle using a randomizer. (Very simple example....) This was much more interesting to me than making an employee time sheet tracker.

I've done my fair share of "office application" programming, but I motivated myself in the beginning by taking learned concepts to make text/visual games and game related tool-kits, and not creating boring applications that I could careless about.

Share this post


Link to post
Share on other sites
12 minutes ago, Rutin said:

I've done my fair share of "office application" programming, but I motivated myself in the beginning by taking learned concepts to make text/visual games and game related tool-kits, and not creating boring applications that I could careless about.

I'd say the boring part is very important here.... I don't know about too many of you guys, but the only way I've ever really improved my coding significantly, Is by choosing a goal, and then hacking and clawing my way till I get there.
Sure everyone's first code is a mess, and mine still is, but I can now look back on the projects I've done where I started with 0 knowledge, and I can very clearly see my improvements and the steps I took.
Projects are actually the only way I've ever managed to motivate myself, but yeah... if you can motivate yourself too "just code" 30 minutes a day then that'll help tons.

My very personal suggestion is pick something you want to do with your code eg. Website, Game, Software, and then hit it with all you got, and don't give up till you finish!

Before you listen to my advice though I will warn you it's probably the hardest way, and when you mentioned C++ and the words "never programmed before" that made me wince... definitely get a handle on Python first... It'll literally take years for a completely mature coding language to ease into your brain the first time.

With that said I wish you all the best bro! Programming is incredibly rewarding if you don't give up, so best wishes and God bless!
 

Share this post


Link to post
Share on other sites
Posted (edited)

I am not a professional programmer in game industry, I just learn some things to be one. I have some principles in my head and I want to describe them here. I use this principles in practice for learning programming.

If you want to be a programmer then studying syntax of the language in not enough. There a two important things that you need to learn: algorithms and OOP (object oriented programming). Read books for beginners about algorithms. I think this book is one of the best to start: Grokking Algorithms

Draw flowcharts for your algorithms. I like this free instrument for writing modern flowcharts: https://drakonhub.com/ You can watch this short video how to use it: How to draw a flowchart in DrakonHub I think writing flowcharts is very important for beginners (and not only for beginners).

Edited by 8Observer8

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!