Skip to main content
GameDev.net gamedev.net
🔒 Locked

How To Begin

Started by TwoOfDiamonds Aug 13, 2012 at 10:53 AM 10 replies 3.3k views
Original Post
TwoOfDiamonds
TwoOfDiamonds
I got one simple question . I've noticed that all major game companies use C/C++ , and since I want , someday, to get into the business (yes, I know it's no easy task) I was wondering whether I should use C/C++ for games directly or use C# until I learn the basics of game logic and all the language-independent stuff ?
Note : I already have some knowledge of C++ .
Note 2 : This isn't a C++ vs C# topic so no flame wars

Thank you in advance !
Bacterius
Bacterius
This has been debated so many times before, just roll with C++ since you already know some of it, and change when you get bored of it, or if you find it too hard or convoluted or just want to check out new stuff... it's not difficult to change languages, takes a download and two days to learn the IDE/syntax. You'll probably end up learning both C++ and C# eventually anyway.

Game logic isn't any more difficult in C++ than in C#, it's the same thing, except in C++ you tend to get more boilerplate stuff which is often abstracted through syntax in C# (especially with frameworks, which also exist for C++ by the way), and C++ has a reputation of being less forgiving to beginners with rather cryptic bugs and error messages - although I believe this to be a non-issue once you get some experience under your belt. And language-independent stuff, is, well, language-independent, so you kind of answer your own question here.

Really, the choice you make here does not matter. The basic concepts of game programming generally carry over across languages, so stop worrying about your future and just pick one. You'll have weeks/months to make the change later, once you need to.
“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”
TwoOfDiamonds
TwoOfDiamonds
Thanks for the advice I really appreciate it
dimitri.adamou
dimitri.adamou
I would say your choice matters little in the end - but thats a poor way to word it lol, what you really want to absorb is the math involved, game design concepts, and how to use existing libraries such as OpenGL/DirectX/???.

If you have pre-existing knowledge on C++ fundamentals, then thats one less thing for you to worry about and you can move yourself in the right direction.
Ronnie Mado Solbakken
Ronnie Mado Solbakken
I'm rather learning Java, myself. Because Java seems easier in terms of learning the basics, producing simple apps and stuff that can run across all platforms (that have Java available) and it's also similar to C++ (although not too similar either).

Otherwise, I do to see why you can't just do C# and then go C++. Go for it, and good luck. smile.png
- Awl you're base are belong me! - - I don't know, I'm just a noob -
Serapth
Serapth
I already have some knowledge of C++

It all comes down to the definition of "some".

C++ is not a programmer productivity language, or is it really a learning language. These two facets make starting out with C++ a fairly lousy decision.

That said, if you are already a fair way down that road and have already paid the piper so to speak, you might as well stay the course. If you are still undecided, not that far along in learning C++, or are looking for tools/book/library recommendations for some of the most common game development languages this guide should help.


At the end of the day, perseverance, curiosity and intelligence win out over language choice, so if you are willing to put the time in, you can get there regardless to what choice you make... it just might take you longer. If you do find yourself getting nowhere ( after putting some time in ), try a different language. The important thing to know though, is those frustrating times where you are banging your head against the wall trying to figure shit out... those are perhaps the most valuable experiences you are going to have and are a requirement to all successful programmers. If you switch languages every time that happens, you will get nowhere.
TwoOfDiamonds
TwoOfDiamonds
Well , I know C++ at the level at which I can create a simple 2d game with SFML , I know classes , pointers (though I do not entirely master them ) and all the basic stuff , though I didn't get the change to work with templates so far , neither did I had to create my own namespaces . So I can go on with C++ , but I think I will give C# a try because I read on a topic on this site that I should know at least a managed language such as Java or C#, but is that true for my beginner level ?
TwoOfDiamonds
TwoOfDiamonds
PS: is knowing C# an important thing for getting a programmer job ?
SimonForsman
SimonForsman

PS: is knowing C# an important thing for getting a programmer job ?


In what industry ? at what company ?

There are a lot of companies looking for C# and Java programmers these days (including some game companies) so it never hurts.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
TwoOfDiamonds
TwoOfDiamonds
I mean if I want to get hired at a game developing company , knowing c# will provide me with any advantages?
SimonForsman
SimonForsman

I mean if I want to get hired at a game developing company , knowing c# will provide me with any advantages?smile.png


It depends on the company, Having additional languages in your toolbox is always a plus even if a company isn't looking for them specifically(Candidates who have experience with many languages are far more likely to be good programmers than those who only know a few), some game studios are looking specifically for C# programmers so those jobs will obviously be a lot easier to get if you actually know C#.

The important thing right now for you however is to learn how to make games, learning additional languages is something you can do once you got a few games under your belt.
Some languages might make the learning process slower or more painful but if you just stand still searching for the shortest or optimal path you'll get nowhere, if you are uncertain about what language to start with just flip a coin(or roll a dice if you're choosing between more than 2) and start walking.

and finally, just to get rid of a common misconception, There is no "End goal" language to reach, never stop learning new things.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
TwoOfDiamonds
TwoOfDiamonds
Thank you very much for all your help . After reading every post and thinking about it for a while I decided to learn C# because I need to make a level editor for my tower defense game and it's a good opportunity to start using C# , of course there is Qt too , but I already have some basic knowledge of that one

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.