Author Topic: A good place to start for game development?  (Read 1579 times)

I've recently decided to major in programming and I've decided to take my first step with C++. I've been working on it for a while and I'm taking a course this next year in school for C++. I wanted to take Flash and a few other languages this year as well, but you know how it is with the school system and their handicapped need to force subjects we don't even need to learn down our throats. Luckily for me, I'm taking this next year completely online so I can rush my classes if I wanted to and then take more after that in the same year. But anyway, what I'm aiming for is to start developing videogames.

My brother is going to college for art and such for the purpose of design in gaming one day; my friend is a modeler, and I'm planning to be a coder. Obviously I'd need a bigger team, but we always have to start somewhere.

As a future "Indie" game developer, what kind of programming languages should I teach myself? I don't really plan on only becoming a coder because I want to develop miniature games on my own for entertainment. However, right now I'm sticking strictly to learning code.

I originally wanted to learn C++ because of the source code for Jedi Knight 2 and Jedi Knight 3 being released; I wanted to contribute to the game's modded future.

Anyway,

Tl;dr: What should I learn besides C++ for game development?

Well, unless you plan on coding the engine from scratch, you'll also need something to develop in. For that, I'd suggest Unity 3D. It's good for beginners and advanced users, has a free version, and supports scripting in multiple languages (including C# and JavaScript, both of which I'd suggest learning; neither are too different from C++, so it won't be ridiculously hard to make the switch).

Well, unless you plan on coding the engine from scratch, you'll also need something to develop in. For that, I'd suggest Unity 3D. It's good for beginners and advanced users, has a free version, and supports scripting in multiple languages (including C# and JavaScript, both of which I'd suggest learning; neither are too different from C++, so it won't be ridiculously hard to make the switch).

I read other recommendations to Unity on other places on the internet so I think I'll look this up as well. :D

generally all of the AAA big budget games you see on steam are made in C++. it is industry standard

generally all of the AAA big budget games you see on steam are made in C++. it is industry standard

That's why I'm starting with C++ because many games use it as its main language or at least contains a good portion of it. I need to find a few other languages to learn so I can rely on more than one resource for development.

Studying DirectX and OpenGL for C++ is a good place to start.

Studying DirectX and OpenGL for C++ is a good place to start.

I will also try these. :D

I will also try these. :D

Well done, they are mandatory to make a 3D game.

Well done, they are mandatory to make a 3D game.
Not true. Although by no means am I discouraging these; I strongly encourage them; but read my post above. Unity 3D doesn't require you to know either (although Open GL can help sometimes).

Not true. Although by no means am I discouraging these; I strongly encourage them; but read my post above. Unity 3D doesn't require you to know either (although Open GL can help sometimes).
I was talking about making his own from scratch without using a pre-made game engine.


generally all of the AAA big budget games you see on steam are made in C++. it is industry standard
It's also the fastest language most normal people will probably work with.

If you're starting, you probably want to start with an engine that doesn't require you to build all the basic game functions such as rendering yourself. Once you're familiar with the "theory" of coding and graphics, you can move toward making your own engine and working with OpenGL and DirectX directly. But that's probably a ways into the future. For now, if I were you, I would learn the language or languages I plan on working with and familiarize myself with the general ideas of game development.

My high school offers no programming classes, and I really wanna be a game dev someday too. I have all the ideas and none of the capability.

All the resources you need are online. Although I can see your point; programming classes basically force you to be productive, or suffer real-life consequences, so that's cool.

All the resources you need are online. Although I can see your point; programming classes basically force you to be productive, or suffer real-life consequences, so that's cool.
One of my favourite pieces of advice was by a person I don't remember in some Java tutorial book, saying that the best way to code productively is to have someone to hold you accountable.