Hello devs, I am actually new to programming, so I only learnt Java and C++. However, I found out that I desire to become a game developer, but I do not know how to start. I want to start from the basic ones to the harder ones (BTW, I have used Scratch before). My goal is to make at least one game each day from now on, from easy to hard(so it will gradually become a few days per game or more). I do not mind hard work and because it is summer, I can have more time on this. Therefore, what do you recommend me to start first and then afterwards?
The majority of games are written in some dialect of C (C,C++,C#,Objective C). Java (Android and PC) and Actionscript (Flash/web) have a non-trivial share, but C is still the king.
The first few generations of game consoles were mostly straight C (and Assembly/machine code) for performance reasons. C++ became an increasing wedge in the early 2000's and is now the predominant language of PC/console games. Objective C is an Apple variant of C which is similar to C++ but is the native language of iOS. C# was developed by Microsoft as a Java alternative. It was originally used for making windows programs and tools, but has recently gained popularity for games.
With that said ... once you learn the basic concepts behind programming it becomes easier to learn new languages - and each new language is easier than the last - so the most important thing is to just start somewhere, anywhere that you can get a foothold.
Mev-Rael
Executive Product Leader & Mentor for High-End Influencers and Brands @ mevrael.com
Stop asking questions in wrong order. Define them in correct one and you will get an answer yourself
You always start from the end and go backwards from there until you will arrive at point where you are now. Now you see all steps clearly and what it would take to achieve.
What do I want?
Learn basics of Game Dev and I don't know how to start
What most of the businesses today use for professional and commercial Game Dev?
Unity, Unreal Engine
What is easier for beginners to start from?
Unity
What programming languages are available for Unity?
C# and JS-like syntax.
So answer to your question is C# and Unity, but only to get started. Of course you shouldn't be focused on using ready Game Engines only but also learn how it works and write basic engine yourself from scratch someday.
After that you will also need to get your hands dirty with UE4 which is using C++. I would say C++ is a general Game Dev language and most of industry is written on C++.
Finally, it is never about a language, but as I said - about a goal. Game Dev is extremely huge industry and there are just too many types of games. Always start from the goal and ask yourself same stupid questions going backwards again and again. Now when you have some basics of Game Dev, C#/C++ and Unity/UE which are required by every Game Dev studio recruiting junior engineers, you will start asking yourself:
If it is "RPG with some PVE", then you just Google "How to build AI in C++ or Unity or whatever" and Google all the time.
Also browse source code of open-source engines and projects on GitHub and learn from them.
But always remember
Focus on basics, on principles, and on theory. Become Guru of both 2D and 3D graphics from scratch, building basic AIs, UIs, physics and all the related math.
Principles and laws never change. Engines, language, teams, projects change.
Requirements define action. Not vice versa.