Hey guys! I am fairly new to unity and its awesome community(started 5 days ago:))
please help this newbie here!!!
I am a B.Tech student in India and this is my 2nd year. I previously had no knowledge of programming but here in college I started studying C so now i guess C is pretty much over in terms of basics. I want to be a game programmer but got confused what to do so I started using unity engine to make simple games by using their tutorials.
But now I feel like I am going down the wrong path(i feel i am going in the designer field and not programmer field).
So can you guys help me in terms of what should be the next step.I don’t want to jump into hardcore game development -RIGHT NOW!!! (I DO WANT TO BE A GAME PROGRAMMER!!!) but what to do and how to follow up the next step is a daunting task for me.
Give me some reference tutorial or books in terms of maths(if you think i should start studying maths for game development)
or should i start just making games in C
or should i start to learn about Game ENGINES
or should i just stick to UNITY???
or do another language or improve on my basics???/
Another question- Is it too late for me to be aspiring or trying to be a game developer,I mean many programmers start at the age of 10-12 but I started doing it when i was 18! So is it too late for me???
sorry for these many question but I have been this flustered for a couple of days as I cant figure out what to do!!!
Please help me!!! and THANKS IN ADVANCE!!!
You’ll almost never encounter C in game development as C++ is almost always covering the same range of platforms.
Learning how to build your own game engine can be beneficial in helping you understand the underlying hardware and how everything works, but it isn’t necessary to get a job.
Learning your first engine or language tends to be the hardest as you have to pick up the basics of programming, but once you’ve become semi-proficient in one it becomes very easy to pick up another as the concepts behind them are often universal.
Practically every language has if-statements, loops (for, while, etc), and similar data types (int, float, etc). Improving your knowledge of the basics will improve your ability with every language.
You could go from C to C++ then give UE4 a try. The only case left for C that I know of is reading data that you don’t know or care about what the type is. Shove it in a void pointer. You can learn the basics of C from your studies, then pick another language after that. Unity uses C# and a sort-of javascript. If you can take java courses, java is similar to C#. If you can take web courses, you can learn javascript there.
Well, the primary element you want to start focusing on is Object-Oriented programming. It is one area where straight C is usually considered to be lacking. You can either continue working with C# in Unity, or you can start looking into C++. Both of those languages extend from C, and have very similar syntax standards. Most programmers move from C to C++, and then to C#. It’s a common progression. Object-Orientation is a valuable concept that can take a little while to “get.” Once you do wrap your brain around it, it helps immensely in organizing your projects and breaking them down into manageable chunks.
If you would like to get a better foundation of game development in C, I would strongly recommend downloading the source code to the Quake engine. The original Quake engine is available as open-source. (as well as the Quake 2 and Quake 3 engines) I’m pretty certain that the entire Quake engine is written in C. So going through that engine would be a great way to see how a lot of game-related structures are handled using just C. It might help to give you a better idea about engine design using the language you’re currently most familiar with. It would also be possible to use the engine to produce your own modded game, if you so choose.
I personally started learning programming in C# and Actionscript 3.0. One of the first times that I felt like I really “got” game development was when I dug into the open-source AS3 engine “Flixel.” Being able to poke around the internal structures and figure out how all of those systems were being implemented was a real learning experience for me. I came out the other side of that feeling like a much more capable developer and programmer.
You have 40 + years of an active career ahead of you. It takes maybe a year or so to get reasonably competent with game development. You’ve got plenty of time.
THANKS A LOT- Ryiah,Tomnnn,RichardKain& BoredMormon!!!
thanks for the advice!! this helped me a lot !!!
I will just make a few games and take a leap of faith !!!
Thanks a lot!!!
I would stick to unity,I’m new to it and it has lots of tutorials,documentacion… about the programming language,i think c# is similar to c so i would try to learn the basics of c#
It really depends what you want to learn. I will say, if you go the low-level programming route, you should look at C++ not C. And so I think your choices really boil down to: program games in C++, or use Unity.
If you want to get into programming graphics hardware and/or your own game engine, you want to work in C++. On the other hand, if you want to get directly to programming games and not just programming graphics, then you should use Unity. For the latter case, you should check out my book Unity in Action!
I didn’t start understanding how to be productive in software development until I was 22. There is no too late, it’s just a matter of how fast you learn and how quickly you can actually make something.
If you want a quick start at actually producing a game, try this free demo of Codey’s Lab. It will give you a quick overview of how to make a simple but decent looking game in Unity: