Hi everyone,
I’m a college student trying to get my degree in gaming development/programming and a question I wanted to ask is what are some helpful tips and advice to give me as a beginner programmer/Unity user and what topics or techniques should I study early?
First advice from me, is to learn how to use search tools.
Similar questions been asked many times over her on this forum alone. But any search engine will give you plenty answers to get start off. If you even go through threads of past few weeks, you will find something useful.
Also look into Getting Started sub forum.
And I am not even joking. Or being sarcastic. Learning how to find information, before asking, is most critical skill you need to have, if you even thinking about game dev journey. Because you are not the first, nor unique, nor the last person who did and will ask same principle questions.
Start small. Make Pong and Tetris and Space Invaders, with just one or two unique things to them.
When you run into a problem, try to solve it for yourself. Programming isn’t about writing code so much as it is about problem solving, so you need to practice that.
My advice would be:
- Don’t try to fight against Unity’s component system
- Think of components as much as possible like a physical device with inputs and outputs, for example if you have a car, make an Engine component with accelerator inputs and torque outputs. This makes building your game a lot easier. Don’t sacrifice your workflow to please the programming gods.
- Use events (especially Unity Events) everywhere possible, games are 99% events.
Most of game programming is the same thing, an event calls a function with possibly a for loop in between. There’s no need for anything fancy.
And yeah, like others said, learn how to find the solution to your problems from the smallest fragment of obfuscated information floating around somewhere on the internet. It will serve you well.
Don’t learn programming by starting with Unity, start with the language first, then patterns so you’re not learning a tool (Unity).