Hello, I’m new to this forum.
Right now, I want to create a 2D side scrolling game.
But I don’t know how to code, and I’m going to start learning as I make the game because I feel learning that way is more effective for me.
First of all, I’m just trying to create for the Windows platform right now.
What languages do I need to learn for that?
You have a long and challenging journey ahead. Start SIMPLE. I suggest taking on a simple game long pong first. It’s important that you gather foundation skills. YouTube is your best friend.
So C# is the best choice to learn first?
Do you know any good books that teach that language?
I’m going to be spending a few months getting the basics down then strengthen my knowledge through creating the game.
It’s really the only option for Unity. There is also UnityScript (which some people call JavaScript) but it’s not used very often and honestly it’s not as good and only marginally easier to learn. C# is the only language you’ll need to learn for Unity.
If you’ve never programmed before I’m not really sure how to help you get started. I’d suggest actually starting with Unity tutorials on the Unity site and just following along even if you don’t understand it quite yet. See how things fit together so you can see in context how things like variables or classes or methods are used. Then maybe move onto some more generic materials like this.
However, when you move out of Unity-land into pure C#-land remember that you generally won’t need to learn the .net framework. The .net framework is a collection of things for processing strings, opening network connections, parsing data formats, showing GUI controls, etc that Unity does not use. You can ignore any of these things because you will likely never, ever use them in Unity. The one exception to this is collections, you’ll need to know how to use lists and dictionaries and all that stuff. That’s very easy though.
Don’t be intimidated by any of this. It’s not that hard but it can feel very confusing when you first start. It’s OK, that’s normal. Keep working at this every day, even if it’s just half an hour or something. If you walk away from that day’s session knowing one thing more, the next day’s session will go that much easier. If you walk away having made no progress that’s still fine, knowing what you don’t understand is the first step to understanding something. If you get stuck, seek help.
And if you’re feeling frustrated and things seem too hard, don’t stop. A lot of people think that switching to another engine or another language or something will help, but it won’t. You’ll face all the same problems there but you will have lost all momentum going forward and have to start all over. So don’t ever stop, even if you’re only working on it a little bit every day. Consistency and momentum are very important.