Where to start?

I know this question has probably come up time and time again. But I’m feeling pretty overwhelmed right now.
I’ve always been passionate about games, since I was a little kid. But for the past few years i’ve wanted, needed to become a game developer.
I see it all around, indie here, 3 man company there, and I want to be a part of that world.
I’m a very tech savvy person, pretty good at c++ from a few college classes, but I’m completely lost on where to start game development. There are so many tutorials, so many languages, so many engines. I just don’t know where to start.
Do i just study programming even more? Do i watch youtube videos and follow along? Do I try tutorials like walker boys or random tutorials in the teaching section?

create concepts and like your ideas and start developing!

Hi there. I decided to get into game development a few weeks ago, too, and made a similar thread.
From what i gathered the best plan would be:

  1. Decide on a language and get familiar with it. C# is recommended for beginners, and there’s a lot of free books or tutorials to get people like us started. The C.Sharp Yellow Book 2014 from Rob Miles is quite good, I’ve been reading the first few chapters and it’s simple and at the same time packed with content.
  2. Decide on a simple game to make and find tutorials on it- a five minute long text based adventure, or something. It doesn’t have to be something meant to be published, but it’s nice to have something to count as progress. Nothing frustrates new developers more than lack of progress.
  3. Head over to this section of the site and follow tutorials specific to whatever game you want to make, and ask here if there’s anything you’re having trouble with.

Like i said, i’m starting out too so that might not be the best advice, but while there’s nothing better on the table it’s enough.

Thanks, also do you know if there is like any engine that might be better? And is there like a free unity engine for small projects or do you have to use the main engine?

… WHO ARE YOU!?

Mm… depends. Engines like Game Maker make it easier for developers who want to make a game in a short amount of time, as those don’t require programming knowledge or previous experience in game development. For those looking for a career in game development, or a serious and larger project, however, engines like Unity are best. There’s a free version of Unity, that should be enough for anything that’s not super-complicated, from what i gather.

You start by designing your game in concept…make a List of components you need for your game. Then break those components down into pieces that you need to create to make the component.

Now take one of those components and start building it 1 piece at a time.

Example
Do you need a player that can run, walk, sprint, jump, crouch, attack with his weapon (inventory system?) and double jump with a parkour and cover system, and a dynamic FPS camera?

Start by making a character that simply moves around in 3 dimensions…now start adding on each piece to the player. Try to build each component as modulated as possible so that you can add other things on easily…such as an inventory system.

If you know you want your character to equip 2 weapons, then you can design this without worrying about an inventory system. The Inventory system will be added on later to figure out how to track and equip those weapons.

But how do I create the player? And make him walk?
I understand c++. But not how to incorporate it into a game. Or even how to create a human npc to put inside of said game.
Where do I learn all of these things? Game coding, modeling npcs/trees/landscapes, sound creating.

anyways I am a person with the same troubles and just wanted to ask you. Also whats the link to the free unity that you were talking about?

http://unity3d.com/unity/download

check out cg.tutsplus.com, they provide useful tutorials around blender and unity, and worldofleveldesign.com for concept creations workflow.

Programming is a matter of practising, not a matter of following others and see where you end up with.
You mentioned you know C++ already, that’s a good start.
In that case you can just use Visual Studio 2012 (for the starters, Express edition is enough) as your IDE.
If you want to create 2D, I recommend you to use the SDL library for the graphics and look for some great library for the audio.
If you want to create 3D, OpenGL and OpenAL are your best mates for graphics and audio.

The C++ code for games is similar to the C++ code for console applications (which is what you need to choose while creating a new game).
However, you have to make sure you keep your game running.
Here is an example in psuedo-code:

#include
#include “whateverInAFolder”

int main() {
//All of the initialisation (setting up graphics, setting up memory, setting up initial variables, etc.)

while (true) {
//Clear screen 60 times a second
//All the stuff that need to be repeated all the time (controls, collision detection, camera, etc.)

//Break the game by pressing escape. This is as easy as “break;”, but always wrap it around an if-statement or the game will only run for one frame.
}

//Delete graphics from memory over here.
}

If you feel uncomfortable diving into all this, you can use Unity too (like everyone else here suggests you) and use C# as the scripting language.
You’ll see how easy it is to convert your C++ skills to C# and vice versa.