Answer the question
In order to leave comments, you need to log in
How to start a beginner in learning c# for gamedev?
I would like to get practical advice, as for a beginner who wants to learn the world of programming. There is no experience in developing and studying any of the languages, we can say learning from scratch.
Please tell me, what material can I read to start my, so to speak, first entry into the world of programming?
What software can be installed so that one can also begin to learn this area? I read articles that it seems like the c # language and the Unity platform are used for simple knowledge of the world of gamedev for programming, is this so?
In general, the question is this: what material can be read for a beginner (without experience in programming and knowledge of programming languages in general), what should you pay attention to and how best to follow and start your journey?
Answer the question
In order to leave comments, you need to log in
For C# (capitalized), install the Visual Studio Community development environment ( link ).
First of all, you need to learn C#. So that you can write code automatically. At first, you will be very hung up on every little thing. The simplest mistakes will baffle. Surely, here to ask questions, which is normal. This is not a quick business, it is impossible to learn everything from scratch in a week, it will take from six months. And you will need to spend a lot of time on this, preferably even every day. Without knowledge of the language and the ability to write simple applications in the OOP style, I am sure that there is nothing to do in Unity.
I recommend creating a Solution in C # in Visual Studio and adding projects on topics from the book to it.
Example projects in solution:
Learning C# (.sln)
1. Variables, loops (.csproj)
2. Classes (.csproj)
3. Inheritance (.csproj)
4. Delegates and events (.csproj)
Only name projects in English.
I read the chapter, made examples from the book, wrote comments everywhere with explanations. Make it so that later you can return to these projects and quickly remember what you forgot. After you spend a lot of time studying and reading a book, you will remember the details of the language better and better. It is due to spending a large amount of time and learning over a long period of time that everything will learn by itself. I didn't learn almost anything.
Very good C# explanation here. I must say right away that the lessons are very old, but very good (there is about the .NET Framework platform, but there is nothing about .NET Core, and now it’s just .NET (starting from 5) and much more). You can watch these lessons, after them start reading a book on C #, even though a lot of the lessons will be familiar, but, most likely, in the book you will learn new details and it will be easier to learn.
Another such course is more modern, I have not watched it.
By the way, in order not to lose interest, of course you can install Unity for yourself, find lessons on creating a 2D platformer, even start making the first game from the lessons, but I advise you to periodically return to the book after sitting on Unity and read it further, and so on until you have read everything. That's how I learned C#. I wrote an appendix, because that was what was interesting, and periodically returned to the book.
Algorithms. You can read at least something simple to get started. For example,
Algorithms. Introductory course | Kormen Thomas H.
https://qna.habr.com/q/848533#answer_1745621
There are books like this:
C# 9.0. Directory. Full language description ( link )
C# 7 programming language and .NET and .NET Core platforms | Jepix Philipp, Troelsen Andrew ( link )
Perhaps even
C# for dummies | Müller John Pohl, Sempf Bill (C# 7.0 here). ISBN: 978-5-907144-43-9
I also recommend Metanit.com . All my studies at the university I studied only on it. Everything is very well explained and laid out on the shelves.
You can spend a lot of time on a detailed study of C#, VisualStudio, Unity, then you will forget everything that you have learned and you will get tired of it. Or you can learn as you create C# programs and games in Unity (Unity is the simplest and most powerful game engine for beginners). For example, if you haven’t studied languages at all before, then watch 15 lessons (no more needed) from this playlist https://www.youtube.com/playlist?list=PL0lO_mIqDDF...
Then practice a little in C #, write a couple of console programs like a calculator (and not the usual boring calculator that +, -, *, / knows, but add the root, degree, factorial, logarithm and other operations to it). Then write a program in which you need to drive in your date of birth, and it will calculate how old you are and how many days are left until the next DR. Write some kind of lottery, such as "Enter a number from 1 to 20", then let randomly select a random number from this range and if it matches what the user indicated, then he won. These small projects will give you an idea of how to write small programs to make it easier later. If you don’t know something, for example, how to choose a random number, then google it. Do not know how to get the date and time, Google to help. And so when you write any program for the first time without knowing what to write, use Google.
Next, I learned C#, learn Unity, well, how to learn, learn the basics, here's a cool little course: https://www.youtube.com/playlist?list=PL0lO_mIqDDF...
You will get used to it and it will be quite easy. Then you can stupidly drive in topics in YouTube (* see below) and study each one in order to know what is there and how to use it.
Then write small projects, find a video on YouTube where people make a game and stupidly repeat after it. Here are some examples:
https://youtu.be/1ziJAD8Mazc
https://youtu.be/Ux6wQQIHimQ
https://youtu.be/tXVXa7A1FXU
https://youtu.be/GqB-Urh61Fg
And most importantly, do not try to immediately make some kind of GTA V, it will not work, and there is no point. Either you kill more than one year and garbage comes out, or you kill a lot of time, then you get bored, you abandon the project, and then you even abandon game development. Do it this way, set yourself the task of making a game in 24 hours, 48 hours, in 5 days, in a week, but no more, while trying to make them as high quality as possible, you don’t need to write crooked code, it’s better to make a small simple project, but with a cool code than a big project with shitty code and lots of bugs. So you will learn, firstly, to make games quickly, secondly, you will gain experience very quickly, thirdly, you will not get bored with working on one game for six months, fourthly, you will accumulate a huge number of completed projects if you go to work in the future for a game programmer,
Another piece of advice, you don’t need to find paid courses, pay money and hope that they will teach you everything there. Firstly, it’s impossible to teach everything, and secondly, even after the courses you will write games and forget everything you learned, you’ll have to go to Google and ask “how to make joystick control for android in unity, watch YouTube online without registration and SMS” . Learn everything yourself, for free, on the Internet there is a lot of information on this topic.
And yes, don’t be afraid of mistakes, if something doesn’t work, doesn’t start, errors fly out and so on, this is good, because you will have to look for solutions to errors on the Internet and you will learn how to google correctly and find exactly what you need. Even if you haven’t been able to solve a bug or error for weeks (it happened to me), don’t give up exactly, look for an answer (here you can already ask a question on the forums if you just can’t find a solution in Google for so long). How many hundreds of different mistakes I had, sometimes it seemed that I couldn’t solve it, it’s difficult, I have to abandon the project ... But I didn’t leave a single mistake without a solution, yes, it can take weeks to find a solution, but there is a solution .
* And here is the same list with topics for learning Unity (I found it on some site with a course on unity, this is a type of course program. You can skip topics that you know):
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question