My name's Salvatore, i'm 18 and i'm from Italy.I hope you can help me.But before i start explaining what I need to know....sorry for my bad english, I'm working to improve it, I know it's fundamental for gamedevelopment.

Now,I would like to be a game developer but i don't know how to start.I don't know any programming language and my mind got sooo confused because i had too different advice from my "friends".

So, I would like to learn an "universal" language, something that can be useful for flash games but for complicated games too.

Someone of you can help me to understand what study?

Take in mind i'm starting from 0.

Some guys told me it's better starting with AS3 and after that study C++, another one told me it's better starting with C# and rest there.How can I study 2-3 languages right now if I don't know anyone? I would like to start studying an universal language.

Lol. I know.....i MUST do something...but...i would like to know if the "way" i decide to follow is the correct "way". :S

You are walking down a hallway you have never been down before, you come to a T-intersection. On your left, a non-descript grey hallway. On your right, a non-descript grey hallway.

Which path is the correct way?

The answer is unknown, but what is known is, if you stand there at the intersection unable to make a decision, you will starve to death.

The moral of this little story? Don't walk around in non-descript hallways you've never been to before. No wait.. that's not it. The moral is, sometimes just making a decision is the right decision, no matter how wrong it turns out to be.

There is no correct way. There is no universal language. You shouldn't learn 2-3 languages at the same time. Someday you should learn 2-3 languages really well and you'll probably use many more than that. Flash may or may not be dying but it has a huge install base that won't be going away for awhile; don't base your decision on that. Once you become good at one language learning a new language is much easier. I think beginners should wait on C++ because it has a higher learning curve than many other languages. If you were to pick two languages like C++ and C# then I believe it would take less time to learn C# then C++ than the other way around because of C++'s learning curve getting away with learning the fundamentals of programming.

My default suggestion for beginners is C# or Python, but Action Script would be fine as well. But above all I suggest you don't give up. There is no best path but the only path that gaurantee's failure is to quit. So don't worry so much about doing things right or wrong. If you have questions we're here to help.

That article should also have pointed out that for any given language you'll see some very similar concepts. Variables, conditionals, input, output, loops, functions. The syntax can be quite a bit different but the thought process behind getting a program to do what you want it to is generally the same. So any language that you have access to can be used to get your feet wet. Then at some point you'll think to yourself, "Hey I want to do something more advanced," and you search around or ask a questions to do that specific thing and maybe you find out that it's time to try another language that would do what you want to do better.

If you go into this whole programming thing expecting that you'll only ever be using one language, you're really holding yourself back. If you start off thinking that you'll try a few different languages, then maybe it's fair to say what language you start with doesn't matter too much because you're already planning on switching to something else when the time is right.

You mentioned in two posts now that you'd like to make flash games. Do it! I know some C++ and ActionScript. I think you will appreciate Flash and ActionScript because the results are more immediate, so your learning is rewarded faster.

That said, you don't need to be committed to it to the bitter end. Focus on it for a few weeks and you'll know if it's for you. C++ has more options as far as engines and libraries you can use it with (I use a 3D engine called Leadwerks) but as people have said, there are no wrong choices to start learning.

Ok I got the lesson.
I didn't say i wont learn another language, but i needed something 4 start....and you said i must move.
I'm just doubting about C# and C++ because i know C++ is the A+ language for the game industry, but it's the most diffcult, so I could try to learn C# and change at the end.
I will learn it and when the time to change will come i will be ready.
wont give up, it's my dream to become a game developer and it's my obligation and right to defend it.
I will try and if i will fail i will try again until i'll have success..
Thanks all of you. Finally I got a decision.
See you in the forum.

You mentioned in two posts now that you'd like to make flash games. Do it! I know some C++ and ActionScript. I think you will appreciate Flash and ActionScript because the results are more immediate, so your learning is rewarded faster.

That said, you don't need to be committed to it to the bitter end. Focus on it for a few weeks and you'll know if it's for you. C++ has more options as far as engines and libraries you can use it with (I use a 3D engine called Leadwerks) but as people have said, there are no wrong choices to start learning.

Yes but for a guy that can't programming...it's difficult learn 2 language at the same time...i need just one to start and another to learn later.

I would recommend to start out with either C# or AS3, they are pretty understandable languages and it will allow you to start making games pretty quick. Then after a few years, look into C++ if you feel like it. You will probably discover that C++ is easy to understand after learning C# or AS3 but will still require some time to learn completely/fully.

This may be a bad analogy but maybe the way to think about the whole learning C# vs C++ thing might be like choosing to first learn MS Paint vs Photoshop. There's a lot of power and great tools in Photoshop but if you've never opened a paint program before it really isn't the place to start.

I taught myself C++ as my first language and I didn't think it was difficult.If you have a strong desire for C++, go for it. This is why I learned C++ first despite many discourages by peers and I never regret it.

This is the order I think you should learn C++.

Learn how to write "Hello, World!"

Learn to get user input.

Learn all control structure(if-else, while, for) / Learn to write your own functions

Learn pointers and arrays(This is the C++ threshold that can be tough for some people. Java, C# and python don't have pointers)

and so on..(OOP concepts)

If you cross the threshold, you are fine. However if you think you aren't ready yet, you can consider switching to C# or Java for a period.The time you've spend C++ won't be a waste because the languages share very similar syntax so you'll pick up very fast.

I read C++ primer plus by stephen prata.This book assumes you have no previous programming experience.

Honestly, while C++ is my language of choice for most tasks, I wouldn't start with it. Nowadays I would recommend people start with a scripted language, which allows you to try stuff out quickly and doesn't force you to learn how to handle compilation. In particular I think Python is a good pick, because it forces relatively sane coding practices on you, and has a nice set of standard libraries. It's not the most usual choice in game programming, but, hey, game programming is just programming, in the end.

The downside of this would be: you don't get to manage your memory. So, as soon as you have grasped some of the most basic concepts of procedural and OO programming: variables, functions, execution control, classes, inheritance, you should try to learn a little C, so you know how that stuff works behind the curtains, while profiting from your knowledge of OOP and applying it to this new language.

Make sure you keep advancing your understanding of high-level programming while you deal with them bits & voids *, too. Read up on functional programming, on design patterns, and keep writing in Python.

And, then, maybe, someday, C++. After that, you'll be able to pick up the basics of almost any language in a few days. Except for crazy suff like Prolog, maybe.

I would recommend to start out with either C# or AS3, they are pretty understandable languages and it will allow you to start making games pretty quick. Then after a few years, look into C++ if you feel like it. You will probably discover that C++ is easy to understand after learning C# or AS3 but will still require some time to learn completely/fully.

Ok thanks...! Is that what I was trying to understand....because i don't feel ready for C++.So, i think is better starting with something "easier" and after that study C++

I taught myself C++ as my first language and I didn't think it was difficult.If you have a strong desire for C++, go for it. This is why I learned C++ first despite many discourages by peers and I never regret it.

This is the order I think you should learn C++.

Learn how to write "Hello, World!"

Learn to get user input.

Learn all control structure(if-else, while, for) / Learn to write your own functions

Learn pointers and arrays(This is the C++ threshold that can be tough for some people. Java, C# and python don't have pointers)

and so on..(OOP concepts)

If you cross the threshold, you are fine. However if you think you aren't ready yet, you can consider switching to C# or Java for a period.The time you've spend C++ won't be a waste because the languages share very similar syntax so you'll pick up very fast.

I read C++ primer plus by stephen prata.This book assumes you have no previous programming experience.

Ok...thanks!

Honestly, while C++ is my language of choice for most tasks, I wouldn't start with it. Nowadays I would recommend people start with a scripted language, which allows you to try stuff out quickly and doesn't force you to learn how to handle compilation. In particular I think Python is a good pick, because it forces relatively sane coding practices on you, and has a nice set of standard libraries. It's not the most usual choice in game programming, but, hey, game programming is just programming, in the end.

The downside of this would be: you don't get to manage your memory. So, as soon as you have grasped some of the most basic concepts of procedural and OO programming: variables, functions, execution control, classes, inheritance, you should try to learn a little C, so you know how that stuff works behind the curtains, while profiting from your knowledge of OOP and applying it to this new language.

Make sure you keep advancing your understanding of high-level programming while you deal with them bits & voids *, too. Read up on functional programming, on design patterns, and keep writing in Python.

And, then, maybe, someday, C++. After that, you'll be able to pick up the basics of almost any language in a few days. Except for crazy suff like Prolog, maybe.

Hey! if you need anything i'd be glad to help you out! ( i'm italian too). If you wanna talk you can add me on skype ZOMBATOR676.
Beyond this.. IMHO you should start with python/pygame, It's a Object Oriented scripting language (beside that it's extremely powerful) with many modules built-in ( from socket to regex ) and will teach you quite good programming habits ( if you don't indent the program is not gonna run ).

The C# and its supporting technologies are very common in the general program development world. It's a great language that seems to be increasing in the size of its base. Microsoft and other organizations agressively support and promote the C# development environment. Some popular and high quality games continue to be made with it.

The C# is the core of the .Net Framework, allowing you the potential to develop high quality games and other programs (other languages supported, too). Some ways to go with C# would be XNA, SharpDX, or MonoDevelop/Mono, and others. It might be a good idea to look at Unity 3D, too. For beginners, perhaps a year or more should be used with C# and XNA.

The Visual Studio (an IDE - Integrated Development) is used by many developers and should be considered for long term developing. You could get Visual Studio Express at some point until you need more, by the way.

After you feel confident that you know how to make basic programs, then start making simple console games, like crossword puzzles and Tic-Tac-Toe.

Next stage would be making simple 2D games like Pong, Tetris, Asteroids, Defender, PacMan, and so on. Make about 5 to 10 such games, being sure to finish each very well before going to the next.

Always enjoy the journey in game development.

Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.