Thinking about making video games, where do I start?

Started by
24 comments, last by Serapth 12 years, 4 months ago

[quote name='EgoDeath' timestamp='1322766098' post='4889521']
[quote name='Serapth' timestamp='1322760950' post='4889473']
Do new pilots start on an Airbus A300?

No, they start on Cessnas. In programming though, people always want to skip the learning stage.




Yes on a Cessna well done. An aircraft with no bad habit's, a highly 'managed' airframe, flown in highly managed environments (training). That's the closest they get to hands-on.

From there it's all just monitoring an autopilot. By the time they are on an Airbus A300, they have forgotten how to fly. Sad but true.

Anyways seemed like a good analogy at the time.
[/quote]



Thanks for the replies, but all these different analogies about C++ are confusing.
[/quote]



Sorry i was de-railing the thread. The other people here know what they are talking about, (minus aviation lol). Really just dive in, you will need to learn a lot, and the only way to learn is by doing, so do. :)
Advertisement

Last question: should I start out with a simple game development program like Gamemaker?


Just my two pence, I started games programming with C++ and Allegro (a 2D library, probably dead now) and made a load of rubbish 2D games to get my feet wet and I'd thoroughly recommend this approach!

Lolliver.



First question: In order to be a game programmer, do I need to learn a programming language first? If so, do you think C# or C++ is better?



Please start with C#. It's a lot more easier than C++. You can now move ahead to C++ after you've grasped the concept of programming games to an extent. BTW, game programming doesn't entirely have to do with the language. It more about maths and problem solving!
Sorry about the confusion with C++ analogies, it seems like they always pop up in threads like this. Any language you choose will be fine for programming games, but there are reasons that people are recommending against C++ for you as a beginner and the analogies can quickly make those reasons less apparent to a beginner.

Learning to program anything is a skill in itself. You will have to learn about data types, program structure, design practices, project management, and many other things regardless of the language you choose. That's not a trivial set of skills to pick up though, and so will require time and effort on your part.

C++ is finnicky in that while using it you have a large responsibility for a very broad and deep set of your program's functionality and use of computer resources. The tradeoff for that is a very precise level of control of those things. But it's very very easy to neglect some part of that reponsibility, and C++ will not protect you from the consequences at all. As a beginner, you would be contending with that at the same time as you are grasping general programming concepts which adds to the complexity and difficulty of your development all at once.

A language like C# is gentler in how it handles some of those things, which takes some of the responsibility off of your shoulders. This would let you focus on learning other basic skills without needing to learn some more technical and complicated things right away. Your coding will generally go more smoothly and more quickly, and at the beginner and intermediate levels you are unlikely to need the level of control that C++ forces you to have.

If you want to learn C++, you can. But there's no reason not to wait-- you will pick it up more quickly after you already have some programming ability, and what benefits it provides won't materialize for quite a while anyways. However, if you choose C++ anyhow you can still succeed, as other people have.

My opinion (experience based) is that you will gain nothing from starting with C++ as opposed to C#, and will make your development more complicated and slower besides. C# is absolutely sufficient for your goals at this time.

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~


[quote name='EgoDeath' timestamp='1322766098' post='4889521']
[quote name='Serapth' timestamp='1322760950' post='4889473']
Do new pilots start on an Airbus A300?

No, they start on Cessnas. In programming though, people always want to skip the learning stage.




Yes on a Cessna well done. An aircraft with no bad habit's, a highly 'managed' airframe, flown in highly managed environments (training). That's the closest they get to hands-on.

From there it's all just monitoring an autopilot. By the time they are on an Airbus A300, they have forgotten how to fly. Sad but true.

Anyways seemed like a good analogy at the time.
[/quote]

Thanks for the replies, but all these different analogies about C++ are confusing.
[/quote]
It's confusing because half of the people who have little experience are making recommendations above their level; in short, they don't have the experience required to make the necessary judgement calls for a rookie.

You can start with whatever, but know that starting with C++ is a magnitude harder and less rewarding; just as starting with COBOL would be frowned upon. :)

"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe
"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
[size=2]~ Bregma

"Well, you're not alone.


There's a club for people like that. It's called Everybody and we meet at the bar[size=2].

"

[size=2]~

[size=1]Antheus

[quote name='tapir' timestamp='1322800613' post='4889675']
[quote name='EgoDeath' timestamp='1322766098' post='4889521']
[quote name='Serapth' timestamp='1322760950' post='4889473']
Do new pilots start on an Airbus A300?

No, they start on Cessnas. In programming though, people always want to skip the learning stage.




Yes on a Cessna well done. An aircraft with no bad habit's, a highly 'managed' airframe, flown in highly managed environments (training). That's the closest they get to hands-on.

From there it's all just monitoring an autopilot. By the time they are on an Airbus A300, they have forgotten how to fly. Sad but true.

Anyways seemed like a good analogy at the time.
[/quote]

Thanks for the replies, but all these different analogies about C++ are confusing.
[/quote]
It's confusing because half of the people who have little experience are making recommendations above their level; in short, they don't have the experience required to make the necessary judgement calls for a rookie.

You can start with whatever, but know that starting with C++ is a magnitude harder and less rewarding; just as starting with COBOL would be frowned upon. :)


[/quote]

This is recurring problem with game programming. The number of cases of the blind leading the blind is simply bewildering. I don't know if its simply the nature of being a beginners forum will naturally mean it is composed of beginners, or if there is something innate to game programming that people are so willing to propagate hearsay, but it happens all the time. I wonder how many potential game programming careers were squashed because people got overwhelmed by trying to learn C++ first ( or in my day, assembly ) instead of focusing on the basics and building up. Granted, it is also a winnowing mechanism of sorts too, as the type of people that blindly follow other peoples advice, or don't have the perseverance to push through a difficult learning curve probably don't have the right make up for programming in the first place.


It is frustrating though, coming into threads and seeing people you know to have a dozen + years of experience, that really know their sh... stuff, have their opinions carrying equal weight with skriptkidy69 whose neighbor Doug says C++ is like totally l33t. Especially because the new person doesn't have the exposure or experience to know that the one opinion is vastly superior to the other. On the brightside, it usually can be inferred by the quality of the writing as good programmers tend to be fairly articulate or at the least concise in their explanations, while the people who sould generally have no right giving advice in the first place... well, often their grammar is... lacking.

It would be nice if Gamedev could implement some base optional testing system. I'm not talking anything overwhelmingly difficult, but a simple 5 - 10 question test for each language that passing earn you a "I know C++" or "I know C#" badge. That would be a quick illustrative way for new developers to realize that the person answering their questions has at least a baseline level of experience in certain topics. Obviously though, actually implementing something like this is trickier than simply wishing for it.


/EDIT: I don't mean to imply new/beginning developers shouldn't participate in threads, I am simply saying if you have no real expertise in a given subject, you should not be giving advice on it. You generally are doing more harm than good, especially if you are perpetrating harmful myths.

This topic is closed to new replies.

Advertisement