Chosendeer

Learning to Code

15 posts in this topic

Hi

Im currently studying Gamedesign and teaching myself basic coding in my free time. While coding is not part of my Study i want to learn it so i can work independently on small projects for myself.

So my question is what is the most effective way of learning to code?

I currently work in Unity with visual studio (c#) and do youtube tutorials where they teach me basic game coding like doing a basic version of angry birds and games like that. I just worry that the things they teach wont stuck in my head as i mostly go thru the motions they teach in the videos and i want to actually develop knowledge so i can write the codes by myself in the future without looking at tutorials the whole time.

 

Any suggestions on what to do? Or is the best way to just code code code?

Share this post


Link to post
Share on other sites

If you've done no coding before at all, then you'll need to get the basics under your belt.

It's best just to choose a particular language and learn in that (so C# for you). Very briefly you have to understand: variables, variable scoping and typing, loops, conditional statements, functions, and expressions (maths). That's already a lot of stuff to know. If you can learn and use those without relying on a tutorial, then you're off to a good start. Other than that you have to understand the IDE (integrated development environment) you're using: how to compile a program, how to fix errors, how the editor works, and other tools to help you program.

Start off with coding very simple programs and experimenting a lot. It might be dull, but you really need a good grounding before you do more complex stuff. C# itself is vast and it has a lot of very up-to-date and advanced programming concepts - so you have a long road ahead to understand all that. A lot of it such as learning syntax and basic programming is just rote learning and memorisation. Be persistent and don't give up if you don't understand something - use the internet and especially https://stackoverflow.com/, ask plenty of questions.

Where you want to get to is to be able to write a simple program from scratch without cutting and pasting from the internet or looking at a YouTube video. Force yourself to code from memory. In short, code, code, code and code some more. 

Edited by LastThursday

All stories and explanations are false.

Share this post


Link to post
Share on other sites

Cool thanks for the answer.

Do you recommend literature or would it be best to learn it through the process of coding itself?

Share this post


Link to post
Share on other sites

For the basics, books can be useful as a guide to what you should be learning. But I'm not a C# programmer so I can't really recommend any books. Although, any book with the word "beginning" or "starting" or "dummies" in it should be good! However, as you get more experienced there is so much on the internet, that I would say it's not worth relying on a book.

The problem at the start is that you don't have enough knowledge to just go ahead and code, so it's hard to keep momentum without some sort of guide. But it looks like you're using tutorials anyway, so that helps a lot. Programming requires a lot of conceptual problem solving, so sometimes you can work things through by yourself, but a lot of the time you'll need to look stuff up to see how to solve a particular type of problem.


All stories and explanations are false.

Share this post


Link to post
Share on other sites

I'm learning Java in university and studying it on my own on the side. What I did is just searching for the very best sources for learning Java. Across multiple subreddits, posts and other forums, I always stumbled upon the MOOC from the University of Helsinki, as well as some other courses to follow up on that. So that's what I'm doing - I recommend you do the same for C# or whatever language you're gonna use most. Because there are TONS of tutorials and courses out there, and they vary greatly regarding quality. Find the absolute best ones and dive deep B|

Share this post


Link to post
Share on other sites

id recommend finding highly experienced programmers in good positions and asking them questions. i say this because i have friends who work in silicon valley and their understanding of the coding world is immense. 

Edited by Jacob Morres

Share this post


Link to post
Share on other sites

The best way to learn Unity C# is to just make your own little projects and study all the tutorials.

Many online classes are available for Unity and C#.

Check Udemy and Lynda.com.

I taught myself C# just by doing tutorials and my own game projects.

Try to make an actually playable demo. That will force you to learn to code. For example, make a basic platformer game or a fishing game.


You are God. You are Truth. You are Love. You are Infinity.

Share this post


Link to post
Share on other sites

What @Leo Gura said.

I've been doing this exact thing nowadays. I'm working on a small platformer game and every single day I learn something new. You have to google a lot, watch youtube videos, buy courses and most importantly: think. Try to actually understand what you're doing, because copying codes mechanically won't get you far.

Also, this website has pretty good C#/Unity courses: https://www.gamedev.tv/

Share this post


Link to post
Share on other sites
On 14/09/2021 at 4:09 PM, Chosendeer said:

I just worry that the things they teach wont stuck in my head as i mostly go thru the motions they teach in the videos and i want to actually develop knowledge so i can write the codes by myself in the future without looking at tutorials the whole time.

I'm a professional C# programmer and have taught others.

 

The key is to create your own thing. Creatively come up with something that you want to make. Then there will be no predefined answers, and so you'll have to look everything up and learn how to use it and apply it until it works.

Step by step code-along tutorials are almost useless, you learn very little from those. I don't recommend following along with videos like that. It seems like you're learning but you're not, because you only learn programming if you do the problem solving yourself.

I recommend coming up with an idea of what to make, and then using a decent book to look everything up. That will really seer it into your brain, and get you to a decent skill level fast.

Just get a good book and an IDE, and get creative :)

Edited by flowboy

Learn to resolve trauma. Together.

Testimonials thread: www.actualized.org/forum/topic/82672-experience-collection-childhood-aware-life-purpose-coaching/

Share this post


Link to post
Share on other sites

Thanks everybody for all the answers.

Cant wait for the long road ahead =)

Share this post


Link to post
Share on other sites

hi @Chosendeer

https://learn.unity.com/

Microsoft's C# tutorials are known to be the best if you want to use the .NET Framework (which is useless for Unity) that's why i've decided to learn C# directly in Unity.

i know someone who made a full game with visual programming in UE4, Unity have "Bolt" dunno if that's good i'll give it a try.

Unity is an engine, therefore you just have to make the "game" and most of the annoying stuff about programming you never think about it : creating an engine is soul crushing and valuable for a resume, but if what you want is to get your game/app out as quickly as possible then Unity is the way

Share this post


Link to post
Share on other sites
8 hours ago, Soulbass said:

Unity have "Bolt" dunno if that's good i'll give it a try.

Don't waste your time on such gimmicks.

Just learn C# for Unity. It's not so hard. If you can't handle learning C# then you probably shouldn't be making games in the first place.


You are God. You are Truth. You are Love. You are Infinity.

Share this post


Link to post
Share on other sites

I strongly advise to learn more about high level mathematics. And to try to develop your own algorithms and libraries. This way, you'll both understand the logic of how the functions and classes you are using work more efficiently as, this time, a better user of the same predefined structures and not have to rely on any external open/closed source code when necessary.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now