Game Development Career Question?

Started by
10 comments, last by xoxos 8 years, 8 months ago

Hey guys, this is my first post on this website ever so I guess I should introduce myself first. My name is Joe and I live in New Jersey, I am 15 years old and currently entering my sophomore year in high school. I have been coding since I was in 6th grade, I started with FreeBASIC which I learned very fast and easily, than I moved on to GML (Game Maker Language) which was used for making games in Game Maker. Now for my question:

I have been experimenting in many engines such as Unity3d, and Game Maker. I have moved away from Game Maker as of late because I want a more "serious" approach to making my games, because I think Game Maker feels like a toy. So I began using Unity. I also began learning C++ programming by itself, which makes me think... I have been wanting to pursue a career in game development (programming) but I'm not sure whether I should focus on using Unity and learning Scripting for it, or focus on learning how to completely write everything from scratch. Obviously one of these is easier, but I want to know what would be best for what I want.

It basically comes down to Scripting VS Programming (Unity VS C++). Do colleges use engines? Or do they teach you to make them from scratch? Or both?

Any information is helpful,

Thanks

Advertisement

Scripting VS Programming

"Scripting" in unity is usually done with C#, which is a general purpose programming language... which means you'll be programming.

Learning to program well is important. You can do that in C#/Unity.
If you want to be a game programmer as a career, you should learn C and C++ at some point, but the order doesn't matter.
Many people will recommend that you learn C# first (it's more beginner friendly), then move backwards to C (because it's a lot harder)
I started with C++ first, and learned C# afterwards... but it was very frustrating laugh.png

There's not really a wrong way to do things as long as you keep practicing your skills and keep learning new things! Keep it up! biggrin.png
Try both approaches. Switch back and forth between them. Learning industry-standard tools like Unity is very important too.

Scripting VS Programming
"Scripting" in unity is usually done with C#, which is a general purpose programming language... which means you'll be programming.

Learning to program well is important. You can do that in C#/Unity.

If you want to be a game programmer as a career, you should learn C and C++ at some point, but the order doesn't matter.

Many people will recommend that you learn C# first (it's more beginner friendly), then move backwards to C (because it's a lot harder)

I started with C++ first, and learned C# afterwards... but it was very frustrating laugh.png

There's not really a wrong way to do things as long as you keep practicing your skills and keep learning new things! Keep it up! biggrin.png

Thanks for the answer Hodgman! And yeah I have heard a lot about learning C, but I'm puzzled because as far as I know, C is basically unused at this point in time. I'm sure a million things use C that I am not aware of, but I feel like C++ has taken the throne, I don't really know the difference between the two. I'd guess C has more uses? I don't know haha.

When I was in college I took a few courses one using an engine (proprietary scripting language) and the other learning the "from scratch" route using DirectX in C/C++. I would highly recommend the C++ route and get a feel for mid-level programming to lower level. It will help you understand the fundamentals of it all and you are young still. You won't be making awesome, amazing games at first. If you go the route for Unity3D now that is has gained a lot of traction, I have seen game companies who use it have job openings (not a whole lot as of now, but there are).

My own personal opinion I hated using an engine with their own scripting language. I do however enjoy Unity and using C# and just like Hodge I learned C/C++ first then C# and it does have its frustrations that route but at the end of the day I am glad I did it that way with no regrets. Well I hope my story helps you out.


I'm sure a million things use C that I am not aware of, but I feel like C++ has taken the throne, I don't really know the difference between the two. I'd guess C has more uses? I don't know haha.

While it's true that most games these days are written in C++ it's still useful to know C because of the enormous amount of legacy code written in it. Also some programming languages are implemented in C such as Lua and Python. So digging around in the internals of those languages would require knowledge of C. Also it's not that C has more uses, both are Turing-complete programming languages, meaning that any possible computer program can be implemented in them. Although one of the advantages of C is that its implementation is simpler, which means it's used more often on embedded systems.

Scripting VS Programming

"Scripting" in unity is usually done with C#, which is a general purpose programming language... which means you'll be programming.

Learning to program well is important. You can do that in C#/Unity.
If you want to be a game programmer as a career, you should learn C and C++ at some point, but the order doesn't matter.
Many people will recommend that you learn C# first (it's more beginner friendly), then move backwards to C (because it's a lot harder)
I started with C++ first, and learned C# afterwards... but it was very frustrating laugh.png

There's not really a wrong way to do things as long as you keep practicing your skills and keep learning new things! Keep it up! biggrin.png
Try both approaches. Switch back and forth between them. Learning industry-standard tools like Unity is very important too.

I did the other route and learned C# first and then C++, its also frustrating biggrin.png there are minor syntax differences between the two languages that will constantly trip you up. I am not talking about memory management and such but simple about very minor syntax differences.

Thanks for the answer Hodgman! And yeah I have heard a lot about learning C, but I'm puzzled because as far as I know, C is basically unused at this point in time. I'm sure a million things use C that I am not aware of, but I feel like C++ has taken the throne, I don't really know the difference between the two. I'd guess C has more uses? I don't know haha.

C is still heavily used and in games we are actually more writing C with classes than proper C++. Things like templates, exceptions and newer C++ syntax are still largely please dont use in a lot of companies.

The major difference between C and C++ is the use of objects in C++.

While it's true that most games these days are written in C++ it's still useful to know C because of the enormous amount of legacy code written in it. Also some programming languages are implemented in C such as Lua and Python. So digging around in the internals of those languages would require knowledge of C. Also it's not that C has more uses, both are Turing-complete programming languages, meaning that any possible computer program can be implemented in them. Although one of the advantages of C is that its implementation is simpler, which means it's used more often on embedded systems.

C's compiler is smaller and simpler that is why it is ported to more platforms than any other compiler. C++ is a very cumbersome compiler and syntax to implement, which means you have tools for every thing you would like to do, but it also makes it very complex.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

NO! Definitely do not start with C++. You need something which you will be able to comprehend from the start it isnt good way learn to do "its somehow working" projects. You could start with C its on you if you want to learn from scratch and lots of low-level stuff or if you want to start with actual "abstract" programing and creating something start with Python,Visual Basic or C#. It dosent matter when you understand one language you are able to switch at another one in short time.

My share;
Try to think ahead what role you want to be in, like you said, being a "scripter", versus tech engine programming, vs gameplay programming (vs many more :)).. If you're aiming for a serious career, then I'd base my steps on this answer.

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

Try this: http://www.amazon.com/Learning-C-Programming-Unity-3D/dp/1466586524/ref=pd_sim_14_2?ie=UTF8&refRID=192ZGD19HSZ2J33Q8A9D

Beginner in Game Development?  Read here. And read here.

 

Hey thanks for all of the replies guys, I think based off all of these replies I'm going to look more into C programming, I started learning it a while ago I learned the fundamentals then stopped to go learn C++. I think I will be looking more into C. Thank you all!

This topic is closed to new replies.

Advertisement