lost in learning programming as I just left "Beginner's zone"

Started by
15 comments, last by davejones 5 years, 10 months ago

I guess my level could be classified as "just left Beginner's zone", so, gone through a lot of beginner's programming tutorials already, still junior and the problem is I don't know what's next.

I mean, I found a lot of tutorials for beginners everywhere, and the next things I found everywhere are beautiful and complicated source code on Github:

tutorials for beginners -- materials for "Grade 1 students" to learn

beautiful and complicated source code on Github (not the beginner type of source code) -- materials for "Phd students" to learn

However, what's in between? After I learned the Grade 1 materials I can't just directly jump to Phd level, I am trying to find the Grade 2,3,4,5,6 level materials to learn, right? Didn't find a lot of those. I am still a junior programmer.

When I finished the beginner's programming tutorials I feel like leaving the Beginner's zone, no guidance anymore.

I'm in LA, game programming is not like web programming,etc; there are some web programming bootcamps, but not game programming bootcamps, sad.

Maybe as a junior programmer it is too much for me to request the market/youtube/online learning websites to produce structured intermediate level materials for learning game programming?

It is also possible that I misjudge my own levels so I don't know where I am, therefore don't know what I should aim for next.

The demo of the game I made for practice, somehow showing my level:
https://youtu.be/RNAXWTQOQ2E
The video about programming of my game, somehow showing my level:
https://youtu.be/mi26UiFwvqY
Github:
https://github.com/nancyivy/Game_for_practice

I would be grateful if you give me advice like:
"you are still in beginner's zone", or
"you can do xxx in your game to improve yourself", or
"you may do xxx in programming to improve yourself"
or anything else.

I don't know, I'm just lost. I'm not sure whether this is the right place to post this type of questions; I hope my struggles can help someone in someway (don't know how this will help...)

Advertisement

The thing is, there is no straight step-by-step way to become a master of programming. Every person has different preferences and every software is different.

Try to find a project that's fun for you. If you don't immediately know how to get it done, that's your project. You will run into problems that you will have to solve.

Here are some ideas that you might not have tried, yet: graphic rendering, web sockets, server/client protocols.

 

 

I somehow get the feeling that no programmer ever leaves the "beginner zone".

Think of this more in categories than in one big education.

You might be proficient in simple game design and one or two programming languages as well as one or two game engines.

Now the question is, do you want to broaden your knowledge or is it time to go deeper into what you know right now.

Many beginner tutorials only show some examples of one game engine or aspect of development, they do not integrate into the big picture.

 

When I look at your examples, I would say you are ready to drop the training wheels and try a bigger project.

Try planning a game until you feel comfortable to make it and then post your idea here.

You know how to code and how to structure a game.

Now you need to know how to plan a project and finish it.

The finishing part is where I personally struggle a lot, just like many other game developers.

Feature creep is an evil nemesis which you have to overcome when leaving the safety of tutorials and small projects.

Set yourself a schedule as well to see what you can manage in a set amount of time.

You could do one project, then learn one new thing and implement it in your next game.

This way you learn and get experience in a more consistent rate.

 

After that project...rinse and repeat.

That initial "beginner stuff" and experience is what game development is all about IMO.

As you discovered, tutorials typically teach some feature, and only that feature. Beginner tutorials are a bit wider, but still limited in scope.

The problem for a tutorial beyond the above is that literally the sky is the limit. Anything is possible, and the path to mastering programming takes 5-10 years, in widely different directions. A tutorial for that path would be mostly as large as all knowledge that exists in computer science.

In other words, the pre-cooked world ends here, your next step is to learn how to write delicious programs by yourself. The simplest way to do that is to find a small program that you want to make or extend.

Some suggestions, but feel free to pick something else:

- Your current program is very static, nothing is moving. Couldn't people move around, talk to other people, blink with their eyes, order a drink at the bar, etc?

- At this site, there is a game development challenge group (Commnuity -> Groups -> Gamedev challenge), which is running a friendly "create base defender game" competition now.

- The usually quoted starter article has a list of games you can try to make.

 

I would suggest a couple of things:

1) Get feedback on your existing code, and learn about what could be improved. The forum in our Beginners section is a great place to ask for code review from more experienced developers.

You don't necessarily need to rewrite your code based on the suggestions, but you should get an idea of what to work on in future programs.

 

2) Seek out resources on more advanced topics such as design patterns, how to use tools like a debugger (helps you to find and fix bugs), profiler (helps find the correct places to optimize your code), and version control (let's you roll back changes, can help with collaboration).

Game Programming Patterns is really good.

If you're interested in examining some of that complicated source code, take a look at Fabian Sanglard's site - his black books and code reviews are a good look at existing code.  It's likely some of it will still be beyond you, but reading someone else's assessment may be a bit more approachable than just wading in for yourself.

 

3) Most importantly, get practical experience!  Try to write your own games or other software - whatever interests you. Try to pick some projects that don't seem too difficult, but are a little beyond your current abilities - you want to push yourself to improve.

The GameDev Challenges (recommend above) or any game jam (check this calendar for heaps for options) are great ways to get experience and meet other people who share your interest.

Don't try to write perfect code, just make games work, however you can. Practical experience along with feedback and learning from the tips above will teach you so that over time your technique, your code, and your finished products improve.

Try to solve problems for yourself first, but seek advice or look for tutorials if necessary.

 

 

Hope that's helpful! :)

- Jason Astle-Adams

Oh just want to thank you all! You all give me detailed and helpful advices and I cannot thank you enough. Now I have a lot of things to check out after reading all your replies. Thank you, thank you so much.

You're welcome :)

Hello April i already replied to you on Quora , and you can track back to that reply, but you are still in the beginner zone IMHO and so are most of us.

What you should do at this time to fix the knowledge you have is do as many projects as you can , introducing variation from one to the next to exercise the skills you acquired , there are also a lot of intermediate and advanced tutorials on youtube, some are complete projects while some are single issue based (where the issue is more complex , as for example one i followed about implementing FACEBOOK SDK).

Anyway as i said in the previous reply you can follow Brackeys RPG tutorial , another example of beginner/intermediate tutorial would be this TD series https://www.youtube.com/watch?v=PgDpRMMyxw8, also brackeys has a td series to but it is somewhat lower level, if not search for tutorials on the kind of game you plan to do next , the only way to leave the beginner zone is to have a lot of projects done.

I only recently published my first game but before i got here i made 100s of tutorials and about 40+ projects based on tutorials , including 2048 clone , stacks clone , cookie clicker clone etc. I suggest you do the same, every project you do will most likely teach a new concept and help you fix a lot of previous knowledge.

 

17 hours ago, CrazyApplesStudio said:

Hello April i already replied to you on Quora , and you can track back to that reply, but you are still in the beginner zone IMHO and so are most of us.

What you should do at this time to fix the knowledge you have is do as many projects as you can , introducing variation from one to the next to exercise the skills you acquired , there are also a lot of intermediate and advanced tutorials on youtube, some are complete projects while some are single issue based (where the issue is more complex , as for example one i followed about implementing FACEBOOK SDK).

Anyway as i said in the previous reply you can follow Brackeys RPG tutorial , another example of beginner/intermediate tutorial would be this TD series https://www.youtube.com/watch?v=PgDpRMMyxw8, also brackeys has a td series to but it is somewhat lower level, if not search for tutorials on the kind of game you plan to do next , the only way to leave the beginner zone is to have a lot of projects done.

I only recently published my first game but before i got here i made 100s of tutorials and about 40+ projects based on tutorials , including 2048 clone , stacks clone , cookie clicker clone etc. I suggest you do the same, every project you do will most likely teach a new concept and help you fix a lot of previous knowledge.

 

Really? Thank you for knowing the Quora question is asked by me and thank you for telling me all these details. Hopefully one day I can report back here to everyone that I improved myself.

This topic is closed to new replies.

Advertisement