Best language for game development?

Started by
19 comments, last by stonemetal 14 years, 12 months ago
Hey everyone. I'm new to game development and I was wondering a couple of things. 1) What is the best game engine to use? I'm looking for one that's free, easy to use for a beginner, and flexible with sripts. 2) What is the best language to use to write a game? I was considering Python as my first language to learn up on, and I had a few people tell me that would be a good way to go. I've been told C++ is a bad language for beginners, so I don't really wanna deal with that just yet. Are there any better languages out there for a beginner?
Advertisement
Well each language/engine is designed for different things. Which language/engine is "best" will depend on your personal preference for a language and on what you need to do.

It is sort of like deciding on the best shoe out of a tennis shoe, a dress shoe, and a snow boot. It really depends on if you need to go to go running, go to a meeting, or walk around in snow :) . Fundamentally they all do similar things (protect your feet) but they go about it in different ways with different strengths and weaknesses. The same can be said about game engines/libraries.

Normally you would want to download a number of different languages/engines, find one you like, and stick with it.

C# with XNA, and Python with PyGame are both two free and popular choices for beginner programmers.

Good luck.
Quote:Original post by poker158149
1) What is the best game engine to use?

The one you know best.

Quote:2) What is the best language to use to write a game?

The one you know best.

Quote:I was considering Python as my first language to learn up on, and I had a few people tell me that would be a good way to go.

Sure. Python's a great language with several very good game development libraries - PyGame, Pyglet, Panda.

Quote:Are there any better languages out there for a beginner?

No. There are just other languages, not better languages.


Your choice of language really isn't that important. Sticking with it and learning how to program and solve problems are. Good luck!
There is no "Best language". If there was a "Best language", then there would be no need for any other language, and everyone would be using the same one.

As for which language for you to learn first, I would recommend something high level. I haven't used Python, but have heard a lot of people recommend it to beginners. C# may also be a good one for you to learn.

I personally found that when I initially tried to learn C++ as my first language, I was very confused. But after taking a couple classes using a high level language(Java), I understood basic concepts fairly well, but it wasn't until going back to C++ that I really "Got it". For some reason being introduced to the high level stuff, and then jumping back into the low level stuff and seeing how some of it worked under the hood helped me a lot.

Good luck.
I think Oluseyi hit it bang on here.
Thanks for your posts everyone!

All of the posts helped.

The problem is, I don't really know of any engines.

So, let me rephrase that question.

Which engine would be good for me to use as a beginner learning Python?

I have Pygame along with Python installed on my computer, but I don't know how to use it :/

Any help?

And about other languages, I understand that deciding a language depends on your taste, but that's just what I'm asking, which language is good for what?

Which language is best for what? Every language does its own thing. But I only know the outside layer of which does what.

As in:

C++ is for programs, but more time consuming
C# is faster, but its easier to make mistakes with it

Java is more for design, right?

VB is for small things.

Do I have my information remotely right?
Quote:
C++ is for programs, but more time consuming
C# is faster, but its easier to make mistakes with it

Java is more for design, right?

VB is for small things.

This is almost entirely wrong. All these languages are general purpose languages, with the possible exception of C++ which is also a systems programming language.

The right language for the right job is something you learn with experience. For dealing with lots of text, you might write a program in perl. For writing device drivers, C or C++ might be the best route. For prototyping a GUI program, maybe C# or Visual Basic would be the best choice. For some file processing, maybe a simple Bash/DOS script or python might be easiest.

And you don't need an "engine" if you are a beginner. The kind of games beginners make don't require engines, only some kind of simple multimedia library.
Quote:Original post by poker158149
Thanks for your posts everyone!

All of the posts helped.

The problem is, I don't really know of any engines.

So, let me rephrase that question.

Which engine would be good for me to use as a beginner learning Python?

I have Pygame along with Python installed on my computer, but I don't know how to use it :/

Any help?

And about other languages, I understand that deciding a language depends on your taste, but that's just what I'm asking, which language is good for what?

Which language is best for what? Every language does its own thing. But I only know the outside layer of which does what.

As in:

C++ is for programs, but more time consuming
C# is faster, but its easier to make mistakes with it

Java is more for design, right?

VB is for small things.

Do I have my information remotely right?


Some of those aren't correct. Saying C++ is for programs doesn't say much as nearly everything is a program. With C#, do you mean faster running or faster to develop? Faster to develop can be true, but faster running has a better chance of being not true(depending on the program and purpose). C++ is easier to make mistakes in than C# as C# has garbage collection and other "safety" measures that C++ leaves out.

Most of those classifications are very broad and generic, and don't really hold true. I would try to forget any preconceptions you have about a specific language until you have tried it and figured it out for yourself.
Quote:Original post by poker158149
I have Pygame along with Python installed on my computer, but I don't know how to use it :/

Did you take a look at the tutorials on the PyGame website already? Usually, getting something to work involves following some tutorials or reading some documentation, along with some experimentation.

Quote:Which language is best for what? Every language does its own thing. But I only know the outside layer of which does what.

At work, we use C++ for the actual games - mostly because of the platforms we're working with - but we're using C# for GUI-based tools and personally I use Python for just about any other utility tool/script. But someone else could use Perl or Ruby for that purpose. We used to use Java for mobile development, bytheway, but I've been out of touch with it for a while now.

Either way, if you take the time for it, you'll get familiar with the characteristics of languages along the way, which enables you to make these decisions for yourself. Reasons for picking a language could be tools support, performance, development time, platform support, familiarity, personal preference...
Create-ivity - a game development blog Mouseover for more information.
Quote:Original post by poker158149
Which engine would be good for me to use as a beginner learning Python?


Until you know what kind of game you want to create, that question is meaningless.

Quote:I have Pygame along with Python installed on my computer, but I don't know how to use it :/


You will have to learn. No way around it.

Quote:Any help?


Depends on what help you need. None of us really has time to teach you. There is material on the PyGame website that can help you get started. Beyond that, it is up to you.


Quote:C++ is for programs, but more time consuming
C# is faster, but its easier to make mistakes with it

Java is more for design, right?

VB is for small things.

Do I have my information remotely right?


No. Usually the discussions of what is easy/hard is somewhat lower-level than that, at the language, tool or library feature-level. And as Oluseyi pointed out, it very much depends on what you know how to do in a given language.
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan

This topic is closed to new replies.

Advertisement