Sign in to follow this  
haythem

How to develop a game

Recommended Posts

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 .

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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).

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Quote:
Original post by godsenddeath
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?

Where are you getting the idea that Java is restrictive?

Share this post


Link to post
Share on other sites
Quote:
Original post by godsenddeath
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?


I avoid the word "best" like the plague. There is no generalized "best", only a series of possible tradeoffs (the whole X Y or Z, pick 2 question). My usual recommendations are either C# or Python. It doesn't matter which, pick one and stick with it.

C# has:
- XNA, for a relatively quick start with game development
- Been proven to be quite viable for games: Arena Wars was coded entirely in it.
- Can interface with C or C++ code if you really need to

Python has:
- Pygame, for a relatively quick start with game development
- Been proven to be quite viable in games: Both EVE Online and Civilization 4 use it extensively.
- Can interface with C or c++ code if you really need to (see Boost.Python)

Share this post


Link to post
Share on other sites
Quote:
Original post by Ezzaral
Quote:
Original post by godsenddeath
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?

Where are you getting the idea that Java is restrictive?


Isn't Java required to be run in a java console? isn't it mostly used for online games and stuff of that sort?

Share this post


Link to post
Share on other sites
Quote:
Original post by godsenddeath
Quote:
Original post by Ezzaral
Quote:
Original post by godsenddeath
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?

Where are you getting the idea that Java is restrictive?


Isn't Java required to be run in a java console? isn't it mostly used for online games and stuff of that sort?


Java can do what C# can do. So if Java is restrictive then so is C#. So to answer your question, you can make games just fine with Java and it's not restrictive. It's just Java.

If you just want to make games, then my suggestion to you is Game Maker or Python + PyGame. You can [google] for both.

Share this post


Link to post
Share on other sites
I think the reason I use C++ more than anything else is because there are WAY, WAY more resources on game programming using C++, especially when talking about advanced topics, than any other language. If I could find all the information that I know about C++ game programming in other languages, not to mention libraries for each of them, I'd have swapped to those languages ages ago. I'm a big fan of Java but I just can't imagine swapping away from C++ at this point or anytime in the near future. There's just a prevalence of C++ code in this industry.

I definitely think it's worth knowing C++ well if you are considering a job in game programming but knowing more languages, such as C#, Java and Python never hurt anybody.

A good language doesn't necessarily make a good program, a good programmer makes a good program. Imho a good programmer should be able to cope with whatever language they require to do their job.

P.S. You don't have to make a Tetris clone first if you don't want to. It's a bit over-used and unoriginal. If you're going to bother making a game, make something which is your own IP but keep it simple; it's more fun that way.

Share this post


Link to post
Share on other sites
Quote:
Original post by godsenddeath
Quote:
Original post by Ezzaral
Quote:
Original post by godsenddeath
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?

Where are you getting the idea that Java is restrictive?


Isn't Java required to be run in a java console? isn't it mostly used for online games and stuff of that sort?

I believe you are thinking of Java Applets as opposed to pure Java. Applets do have restrictions for security. Pure Java has no such restrictions.

Share this post


Link to post
Share on other sites
May I suggest autoit? Make a text-based game in autoit then look into VB. Autoit is basiacally a simpler version of VB. AutoIt Web Page.

Autoit is a great language to start with because you can really get a feel for what programming may have in store for you.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this