Need Help Choosing My Path!

Started by
15 comments, last by TheScriptan 10 years, 2 months ago
I think I have questions based on this thread. I have always loved game design. I grew up designing my own board and pen/paper RPGs... It's in my blood. Now that I'm learning programming(CS major/business admin minor) I'm starting to work on video games in my spare time.

I would love to develope games, but I don't want to be limited to just those jobs. I would love to assist in developing many different types of systems and maybe just work on small games in my spare time. School started me off with java, but I've also had intro classes in c/c++.

Where should I start with game development? Java or c++? Does working on games in spare time help portfolios when trying to get a job at a non gaming company?
Advertisement

Believe it or not, there is a huge difference between if you want to learn programming and make games or want to learn programming to make games. The difference being that in the first situation you are equally passionate about both game dev'ing and programming (separately passionate) and want to pursue them both. In the second situation, you are interested in programming, but this as a means to your goal to make games. I have totally separate advice for whichever one you are. Neither way of thinking is better.

If you want to learn programming and make games, then I would recommend installing GNU/Linux and using C to start making programs using legendary tools like GCC, make, GNU nano, bash, Emacs, GDB, GNU/Linux itself, etc. This is a whole different topic, but there is still something I must address. I will definitely get a lot of flak here for recommending what I just did, but honestly if you learn this stuff, everything else is just easier and not superstitious. You can then learn C++ if you want to fit in with everyone else, once your projects become too big for C (you can judge this based on what is comfortable size for you). You don't have to use C++ for large projects, it's all preference. C code is valid C++ code, but not vice versa (its like C is the inside layer of a C++ onion). Some might recommend you stick with something like Python, Lua, or Java on Windows ($indows), but if you are passionate about programming separate from games, you might as well learn the mainstays and norms of the modern PC.

If you want to learn programming, but programming is just a part of your path to making games, ignore the above paragraph. That would be torture if you really didn't want to learn the stuff. Just go grab something like Unity 3D and use JavaScript, Python, C#, etc. as a scripting language. This is a perfectly legitimate way of making games. I don't care what people say, this is the best option for pretty much all indie devs. The only reason people like me prefer writing our own code is because it is just fun, once you get the train rolling. When using a ready-to-use solution, you also get to sit back in your chair with a pretty HD 3D game after a day or two of work with pride and achievement, whereas going for a homegrown approach you can sit back with pride over your 3D (extremely buggy) game that frequently crashes and has caused you to lose half of your hair (this all after 2 months).

Overall, you have some very productive times available to you. Kids have lots of energy at your age, and they also have lots of time. Respond if you want me to elaborate on anything I said.

Believe it or not, there is a huge difference between if you want to learn programming and make games or want to learn programming to make games. The difference being that in the first situation you are equally passionate about both game dev'ing and programming (separately passionate) and want to pursue them both. In the second situation, you are interested in programming, but this as a means to your goal to make games. I have totally separate advice for whichever one you are. Neither way of thinking is better.

If you want to learn programming and make games, then I would recommend installing GNU/Linux and using C to start making programs using legendary tools like GCC, make, GNU nano, bash, Emacs, GDB, GNU/Linux itself, etc. This is a whole different topic, but there is still something I must address. I will definitely get a lot of flak here for recommending what I just did, but honestly if you learn this stuff, everything else is just easier and not superstitious. You can then learn C++ if you want to fit in with everyone else, once your projects become too big for C (you can judge this based on what is comfortable size for you). You don't have to use C++ for large projects, it's all preference. C code is valid C++ code, but not vice versa (its like C is the inside layer of a C++ onion). Some might recommend you stick with something like Python, Lua, or Java on Windows ($indows), but if you are passionate about programming separate from games, you might as well learn the mainstays and norms of the modern PC.

If you want to learn programming, but programming is just a part of your path to making games, ignore the above paragraph. That would be torture if you really didn't want to learn the stuff. Just go grab something like Unity 3D and use JavaScript, Python, C#, etc. as a scripting language. This is a perfectly legitimate way of making games. I don't care what people say, this is the best option for pretty much all indie devs. The only reason people like me prefer writing our own code is because it is just fun, once you get the train rolling. When using a ready-to-use solution, you also get to sit back in your chair with a pretty HD 3D game after a day or two of work with pride and achievement, whereas going for a homegrown approach you can sit back with pride over your 3D (extremely buggy) game that frequently crashes and has caused you to lose half of your hair (this all after 2 months).

Overall, you have some very productive times available to you. Kids have lots of energy at your age, and they also have lots of time. Respond if you want me to elaborate on anything I said.

A really nice write up, thanks. :)

Check out my blog or twitter for news how I am doing in the project "Learn Programming in 2 Years!". You can follow my progress, and help me! :)

My Projects:

"Learn Programming In 2 Years"

"Windows Tutorials"

"Ubuntu Tutorials"

My Games:

Moving@ IndieDB: http://www.indiedb.com/games/moving-rl

My Links:

My Blog: http://www.thescriptan.blogspot.com

My Twitter: https://twitter.com/TheScriptan

I think I have questions based on this thread. I have always loved game design. I grew up designing my own board and pen/paper RPGs... It's in my blood. Now that I'm learning programming(CS major/business admin minor) I'm starting to work on video games in my spare time.

I would love to develope games, but I don't want to be limited to just those jobs. I would love to assist in developing many different types of systems and maybe just work on small games in my spare time. School started me off with java, but I've also had intro classes in c/c++.

Where should I start with game development? Java or c++? Does working on games in spare time help portfolios when trying to get a job at a non gaming company?

One of the most important things someone looks for when hiring is that you can finish things. So work on a small game and finish it. If I were hiring someone for a programming position, I'd probably pick the person that started and finished a game using an engine with absolutely no programming used over the person who started a game in C++ and never really got anywhere.

For Java or C++, it doesn't really matter. If you really need an answer, pick Java if you want to work on Android or C++ otherwise. It's a total joke to learn C++ or Java if you know the other language anyways, so it really, really doesn't matter.


If you want to learn programming and make games, then I would recommend installing GNU/Linux and using C to start making programs using legendary tools like GCC, make, GNU nano, bash, Emacs, GDB, GNU/Linux itself, etc. This is a whole different topic, but there is still something I must address. I will definitely get a lot of flak here for recommending what I just did, but honestly if you learn this stuff, everything else is just easier and not superstitious. You can then learn C++ if you want to fit in with everyone else, once your projects become too big for C (you can judge this based on what is comfortable size for you). You don't have to use C++ for large projects, it's all preference. C code is valid C++ code, but not vice versa (its like C is the inside layer of a C++ onion). Some might recommend you stick with something like Python, Lua, or Java on Windows ($indows), but if you are passionate about programming separate from games, you might as well learn the mainstays and norms of the modern PC.

Just a note but not every C program is a valid C++ program (in fact, it's worse than that: some programs will compile both as C and C++, but produce different output in both cases). This is a common mistake, but C is not a subset of C++. Specifically, C and C++ share a common subset, that's completely different and rather misleading.

I think it's a good idea to get used to base tools like gcc, vim, make etc.. (it also tends to let you understand the process of compiling something and how things work at a low level in general) but don't hesitate to use an IDE if the situation calls for it or if you are more productive with an IDE. You should not listen to people who religiously claim you don't need IDE's, as you are not them and they are not you.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

I'd like to factor in choice here (or the lack of).. If you use CryEngine (With or without Mono) or Unity or Unreal 4 (let's face it, that's the future). You are going to use C#, C++ and C (Maybe Lua if you really feel like it), one for logic another for core functions and another for things like shaders. If you build your own stuff, chances are examples will be in C++ and again for stuff like GLSL C...

So if you want to get into games development, I recon the path is already pretty much pre-determined, plus there not all that different from each other.. Once you get around C# then move to C++ sure theres a fair few differences but you'll be able to find your way around and follow tutorials more easily.

I'd like to factor in choice here (or the lack of).. If you use CryEngine (With or without Mono) or Unity or Unreal 4 (let's face it, that's the future). You are going to use C#, C++ and C (Maybe Lua if you really feel like it), one for logic another for core functions and another for things like shaders. If you build your own stuff, chances are examples will be in C++ and again for stuff like GLSL C...

So if you want to get into games development, I recon the path is already pretty much pre-determined, plus there not all that different from each other.. Once you get around C# then move to C++ sure theres a fair few differences but you'll be able to find your way around and follow tutorials more easily.

My pc can't handle CryEngine or Unreal, it almost handles Unity soooo yeah. smile.png


If you want to learn programming and make games, then I would recommend installing GNU/Linux and using C to start making programs using legendary tools like GCC, make, GNU nano, bash, Emacs, GDB, GNU/Linux itself, etc. This is a whole different topic, but there is still something I must address. I will definitely get a lot of flak here for recommending what I just did, but honestly if you learn this stuff, everything else is just easier and not superstitious. You can then learn C++ if you want to fit in with everyone else, once your projects become too big for C (you can judge this based on what is comfortable size for you). You don't have to use C++ for large projects, it's all preference. C code is valid C++ code, but not vice versa (its like C is the inside layer of a C++ onion). Some might recommend you stick with something like Python, Lua, or Java on Windows ($indows), but if you are passionate about programming separate from games, you might as well learn the mainstays and norms of the modern PC.

Just a note but not every C program is a valid C++ program (in fact, it's worse than that: some programs will compile both as C and C++, but produce different output in both cases). This is a common mistake, but C is not a subset of C++. Specifically, C and C++ share a common subset, that's completely different and rather misleading.

I think it's a good idea to get used to base tools like gcc, vim, make etc.. (it also tends to let you understand the process of compiling something and how things work at a low level in general) but don't hesitate to use an IDE if the situation calls for it or if you are more productive with an IDE. You should not listen to people who religiously claim you don't need IDE's, as you are not them and they are not you.

I have some experience with Vim, I used it with my tablet and app called Terminal IDE, I was learning some Java. smile.png

Don't forget to check out my project "Learning Programming In 2 Years" I decided with what I am going to start, it is C# -> XNA -> MonoGame (I am learning xna firstly than Monogame, because I want to get my hands warm with it. :) )

Link: http://www.gamedev.net/topic/652498-need-help-choosing-my-path/

Check out my blog or twitter for news how I am doing in the project "Learn Programming in 2 Years!". You can follow my progress, and help me! :)

My Projects:

"Learn Programming In 2 Years"

"Windows Tutorials"

"Ubuntu Tutorials"

My Games:

Moving@ IndieDB: http://www.indiedb.com/games/moving-rl

My Links:

My Blog: http://www.thescriptan.blogspot.com

My Twitter: https://twitter.com/TheScriptan

Now I have my livestream, if you want to catch up with me, go to this link: http://www.twitch.tv/thescriptan I didn't even thought that my pc can handle streaming! :) You all could give me tips and so. :)

Check out my blog or twitter for news how I am doing in the project "Learn Programming in 2 Years!". You can follow my progress, and help me! :)

My Projects:

"Learn Programming In 2 Years"

"Windows Tutorials"

"Ubuntu Tutorials"

My Games:

Moving@ IndieDB: http://www.indiedb.com/games/moving-rl

My Links:

My Blog: http://www.thescriptan.blogspot.com

My Twitter: https://twitter.com/TheScriptan

This topic is closed to new replies.

Advertisement