How to develop a game

Started by
17 comments, last by hughiecoles 16 years, 10 months ago
Am new developer and i would like to develop any game so could any one guid me how to start and which language to be use .
Advertisement
- Learn C#.
- Build a tetris clone.
- Come back and ask for the next step.
That was a little vague.

The language that new people seem to be going with is C#. I have used it, and it is a very good language, though right now I use to what seems to be a lot more complex language to other people, C++.

C#, is a really good choice and I do recommend that you use it.

If you choose that you should go with a more complex language, so you choose C++, then I will say..."more power to you!" C++ is a hard language and it has scared many people away from programming. C++ was my first language, though I didn't find it as hard as many said it was, it did slow me down of getting results a lot faster because of the difficult learning curve.

After you have very good knowledge in your language of choice (I would give about 6 months, or maybe less, or maybe more), then have fun selecting and Application Programming Interface (or API). If you go with C#, then I recommend XNA. If you go with C++, then I would recommend SDL. If you go with another language (Java, Python, D, lots of others), then you should look for some API that is used for that language (I think Python has PyGame, and Java has Java2D [though do not know if they are any good]).

I hope this helps.

Chad
Um... http://www.gamedev.net/community/forums/topic.asp?topic_id=449161
Ok, there are a few options for developing a game, and depending what you want to achieve you don't neccesarily have to program. I'll get to choosing a programming language if that's what you want to do, but I want to lay out a couple of alternatives:


You can create a game with little or no programming languages using authorware tools. These tools often provide point&click and/or drag&drop interfaces or allow you to work with very simple scripting languages, and you can achieve some pretty good results if you choose the correct tool for the project you're working on. The disadvantage is that you lose a bit of control over the final product and that some ideas may be difficult or impossible to achieve with certain tools; these tools are created with certain goals and limitations in mind and are usually very good at specific tasks but difficult or impossible to use in areas other than that for which they are intended. Some examples include Game Maker, Torque Game Builder, Adventure Game Studio and Inform. There are plenty of different options around suited to a huge range of different products, so if this option interests you do some searching to see what's available.


You can create a game by modding existing games. This is a sort of halfway point between using authorware and DIY and can potentially involve some (or even extensive) programming. Many commercial games now ship with (or make available online) tools allowing users to modify the game, sometimes with very impressive results. How this works varies from game to game, and as I don't know your specific goals or what games you own I'll leave it up to you to do some research into this option if you think it might be for you.


...and that brings us to programming. This is the most difficult and time-consuming option but also the one which offers you the most control over the final product, and can also be very rewarding when you manage to get some results. If you want to follow this path you'll need to pick a programming language and go about learning it. My recommendations for programming languages would be Python (Python resources), C#, or Flash/ActionScript (cool and relatively easy, but quite expensive).

- Jason Astle-Adams

i've seen alot of people bash C++, is this just because its more challenging for a beginner? or are languages like C# better/the next standard?
--------------------------------------Not All Martyrs See Divinity, But At Least You Tried
Quote:Original post by godsenddeath
i've seen alot of people bash C++, is this just because its more challenging for a beginner? or are languages like C# better/the next standard?

C++ is more powerful.
C# is easier and more clear.

When you have a huge project with many unexperienced programmers poking at the same code, easy and clear are really appreciated qualities. That's what could make it the next standard.

All IMHO, of course. I know both and ended up using C# for everything.
Quote:Original post by godsenddeath
i've seen alot of people bash C++, is this just because its more challenging for a beginner?
C++ is considered by many to be somewhat poorly designed, and a bit of a mess. The compatibility with C and the fact that many programmers actually code in a mix of the two rather than clean idiomatic C++ certainly does nothing to help the situation.

Amongst other problems the language is full of undefined behavior, and even very experienced professional programmers often have difficulty understanding exactly how (and why) a given piece of C++ code will act. Take a look through some of Washu's old journal entries to see some excellent examples of this; as a starting point, you could have a go at these C++ quizzes: 1, 2 (I'll leave it to you to look for the others and/or his posts containing the answers).

In addition to this, it's often simply just a lot more work to get something up and running in C++ than in many of the other choices out there.

- Jason Astle-Adams

Quote:Original post by godsenddeath
i've seen alot of people bash C++, is this just because its more challenging for a beginner? or are languages like C# better/the next standard?


It's more challenging, period. Getting so much as the time of day from C++'s standard library requires the use of named temporaries you can create pointers to. The some-odd 70% of security vulnerabilities of all time involving buffer overflows stem directly from C++'s C legacy of indexing pointers without making bounds checks as the default, even in the most non-time-critical of code where such a trivial saving in CPU time will never justify the millions (billions?) of dollars spent dealing with such tomfoolery.

It's like riding a unicycle with no pedals. Sure, if you're really good, you might be able to keep your balance on it safely. And yes, that'll be amazing. But even the novice will pass you by on a bike, training wheels squeaking their mechanical tone, as if mocking you, as the distance they travel ahead leaves you no hope of escaping the zombies of legacy programming, in their desire to eat your brain, with nobody to outpace but yourself.

Summarized, the cons of C++ are:

  • Dangerous (pointers pointers everywhere, with the C++ standard explicitly disallowing sane handling of things in many places)
  • Low level (what few metaprogramming facilities do exist (templates) lack bare essentials (no reflection), are inconsistently implemented across C++ compiler implementations (no portability), were never meant for metaprogramming in the first place (no design), and are just generally an undead gesault of mockery forged by Cthulu himself of all things supposedly fine and good about programming)
  • Obtuse (no C++ compiler correctly implements 100% of the standard, plenty of nonsensical inconsistencies, large amounts of compiling code have no official defined behavior, other than "undefined behavior" (as opposed to "implementation defined" behavior, which at least indicates something sane will likely be available).
  • Old as hell (whereas newer languages can learn from the mistakes that have been made, C++ was the mistakes)
ok, so the next question would be, is there a "better" alternative? i mean java is kind of restrictive, so what would the best alternative to C++ be?
--------------------------------------Not All Martyrs See Divinity, But At Least You Tried

This topic is closed to new replies.

Advertisement