Chosendeer

Learning to Code

19 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

Consiousness is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

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.


Consiousness is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

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 Love. You are Infinity. You are Leo.

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

(I already talked to you over PM but I will copy paste the answer here as it may help other aspiring developers as well.)

If you're gonna go at it solo, then you're going to have to put in a lot of work. Learning to code is a life-long process, you have to love it and you have to constantly improve and never stop learning. I know a lot of programmers and the vast, vast majority of them are very bad at it. If you want to get good at either coding or gamedev, my advice is to keep doing your own projects over and over, that's the only way to get good. Just do it for fun, make one game every week and eventually you'll get to a point where you'll be able to develop stuff professionally. It might take a while, it took me more than a decade before I considered myself a professional, and even now I have to humble myself over and over when I encounter people with vastly higher skill than me.

If you want to get good at coding, do formal classes as well. You can self-teach yourself, but it's much easier to just go to university. Also don't stop at a single language, a good developer knows 1 language by heart, and 10 more which they can easily use. Study theory as well.

If you want to master game design, play a lot of games. Take notes. Watch GDC with famous designers. Read design books. One of my favorites is "Level Up! The Guide to Great Video Game Design" by Scott Rogers, it doesn't go too much into depth but it's presented in a fun way, which makes it easy to read through and memorize key details, and it's broad enough to cover most important topics.

Similarly if you want to master art, do a lot of art. Draw. Design in 3D. Make music. Make sound effects. Write stories. You can do it all, trust me. Just gotta work at it, and work at it steadily. When that nagging voice in your head pops up that tells you you can't do it, ignore it. This goes even if you plan to outsource all your art because you have funds for it. You CANNOT tell which art fits in your game and which doesn't unless you yourself are an artist as well. Even if you only know the basics. Learn them.

One final advice. The #1 project killer in game development is lack of respect for feature creeping. You are NOT going to develop a new Skyrim on your own. You're not even going to develop a Super Mario on your own. In order to finish a project, you have to humble down until you're the size of a grain of rice. Cut down on features until you have something you can actually develop. And when you have something playable, you can decide what features to add to it. Don't start with 10000 features which you'll never be able to implement. Start with 2, 3 core game mechanics, implement, and then when you can actually play it and test it, decide what features to add to it. 99% of game projects never finish. Every game developer has a hard drive full of failed past projects including me. It's how it works. Be aware of it. It's better to make Snake, and make it incredible, than to try and create the next big thing and never finish.

Hope this helps. Good luck!


"The trick is in what one emphasizes. We either make ourselves miserable, or we make ourselves happy. The amount of work is the same." -Carlos Castaneda

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

I help adults with ADD to overcome self-doubt, function optimally and live their dreams through my proprietary coaching program.

https://calendly.com/erik-coaching/add-coaching-free-strategy-consult

Besides that, ♂ I offer single breakthrough calls for men on social life, dating, relationships and sexuality.

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 Love. You are Infinity. You are Leo.

Share this post


Link to post
Share on other sites

@Leo Gura Would you recommend to learn just what I need to know, and self-correct / adjust as I make progress working specifically for my app?

Or do you think it's better to do smaller 'generic' projects to learn general skills in Unity first?

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

Some organizations prefer to hire dedicated IT professionals who work on their software development. A dedicated software developer is someone who has complete ownership of a specific project. Thus, the software developer is the true owner of the software development project. A dedicated professional helps maintain regular communication lines with the customer and keeps them informed of the progress of the project. While the cost of custom software development depends on various factors, it is not difficult to find a competitive price. The price of software starts from the coding and integration aspects to the final design and implementation of the project. The more project complexity, the higher the software development cost. For instance, an organization that deals in medical software will have a much higher development cost than a company that deals in financial software.

Edited by mikesoalmin

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