Jump to content

  • Log In with Google      Sign In   
  • Create Account

Best language for game development?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
20 replies to this topic

#1 poker158149   Members   -  Reputation: 122

Like
0Likes
Like

Posted 26 April 2009 - 05:49 AM

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?

Sponsor:

#2 shadowisadog   Crossbones+   -  Reputation: 2522

Like
0Likes
Like

Posted 26 April 2009 - 06:10 AM

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.

#3 Oluseyi   Staff Emeritus   -  Reputation: 1678

Like
0Likes
Like

Posted 26 April 2009 - 06:22 AM

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!

#4 Chadwell   Members   -  Reputation: 130

Like
0Likes
Like

Posted 26 April 2009 - 06:31 AM

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.

#5 evolutional   Moderators   -  Reputation: 1068

Like
0Likes
Like

Posted 26 April 2009 - 06:52 AM

I think Oluseyi hit it bang on here.

#6 poker158149   Members   -  Reputation: 122

Like
0Likes
Like

Posted 26 April 2009 - 07:25 AM

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?

#7 rip-off   Moderators   -  Reputation: 8211

Like
0Likes
Like

Posted 26 April 2009 - 07:37 AM

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.

#8 Chadwell   Members   -  Reputation: 130

Like
0Likes
Like

Posted 26 April 2009 - 07:38 AM

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.

#9 Captain P   Members   -  Reputation: 1088

Like
0Likes
Like

Posted 26 April 2009 - 07:44 AM

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.

#10 Fruny   Moderators   -  Reputation: 1653

Like
0Likes
Like

Posted 26 April 2009 - 07:50 AM

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.

#11 poker158149   Members   -  Reputation: 122

Like
0Likes
Like

Posted 26 April 2009 - 08:48 AM

As I can see, I have my information with my languages wrong.

I'll get it straightened out eventually.

I'm not asking for anyone to teach me, I was just trying to find some help as to where I could find some tutorials or people that did have to time to help.

When I said C# is faster, I meant with development.

Quote:
Original post by Captain P
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.


I like what you said about using a variety of languages to make a game.

I think I'm going to do that.

But is there any language that can be substituted for C++ in making the actual game or does it have to be C++?




#12 Fruny   Moderators   -  Reputation: 1653

Like
0Likes
Like

Posted 26 April 2009 - 08:59 AM

Quote:
Original post by poker158149
But is there any language that can be substituted for C++ in making the actual game or does it have to be C++?


Pascal, Fortran, Ada, LISP, Haskell, Eiffel ...

There are plenty of languages out there that you can use. The whole point is that you are most likely going to use third-party libraries to make that game, if only to handle the graphics (if any). In which case you need to pay attention to the languages it is designed to be used with or, conversely, find libraries that work with the language you are going to be using.

You can make games in other languages than C++: look at all the flash games on the net. You can't deny their "actual game" status. Eve Online is reportedly written in Python. Systems have also been created for facilitating the creation of specific kinds of games.

So no, it does not have to be C++.

#13 stonemetal   Members   -  Reputation: 288

Like
0Likes
Like

Posted 26 April 2009 - 09:11 AM

Quote:
Original post by poker158149

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.


If you are interested in python for 3d I would look into panda3d. for 2d pyglet or pygame.

#14 poker158149   Members   -  Reputation: 122

Like
0Likes
Like

Posted 26 April 2009 - 10:27 AM

Quote:
Original post by: Fruny

Pascal, Fortran, Ada, LISP, Haskell, Eiffel ...


Although I've never heard of any of those, I might gave them a look.

Quote:
Original post by: stonemetal

If you are interested in python for 3d I would look into panda3d. for 2d pyglet or pygame.


So, pygame is only for 2d?

I'm looking to make both types of games with Python, especially big adventure games.

So, Panda3D would be good for those 3D big adventure games? I've heard of Panda3D, but never used it.

And the PyGame I already have installed would be good for the smaller, 2D games?

Can someone confirm that this would be the right choice?

[Edited by - poker158149 on April 26, 2009 5:27:57 PM]

#15 oler1s   Members   -  Reputation: 589

Like
0Likes
Like

Posted 26 April 2009 - 10:48 AM

Quote:
poker:Although I've never heard of any of those, I might gave them a look.
I don't think Fruny was expecting you to actually have heard of them, and they aren't recommendations for what language you should pick. Did you understand the point he was getting at?

If you're not getting it, try answering the following question: why do you believe C++ can be used for games?

Quote:
So, pygame is only for 2d?
No, that's not what was said. It's just that it's less work to get a simple 3D game running with Panda3D than it is with pygame. Of course, the discussion on these libaries is moot, as was pointed out before, if you can't program in any language yet.

#16 Chadwell   Members   -  Reputation: 130

Like
0Likes
Like

Posted 26 April 2009 - 11:04 AM

Quote:
Original post by poker158149
Quote:
FrunyPascal, Fortran, Ada, LISP, Haskell, Eiffel ...


Although I've never heard of any of those, I might gave them a look.

Quote:
stonemetalIf you are interested in python for 3d I would look into panda3d. for 2d pyglet or pygame.


So, pygame is only for 2d?

I'm looking to make both types of games with Python, especially big adventure games.

So, Panda3D would be good for those 3D big adventure games? I've heard of Panda3D, but never used it.

And the PyGame I already have installed would be good for the smaller, 2D games?

Can someone confirm that this would be the right choice?


Another recommendation I'm going to make for you, since you said you were looking for your "first language", and assuming you don't know anything about programming yet, is to learn to program first. You most likely aren't going to be able to jump right into making games. You first need to learn the language you are going to be using(whatever that is), and work with it a lot(most likely console apps) and really learn what you are doing before you jump into game development.

Whether you choose Python, C#, C++, Java, whatever, there are libraries available to help make games. The first thing you have to do is learn how to use the language before you learn how to make games. So don't worry about engines or libraries until you are actually in the position to use them successfully.

Good Luck.

#17 poker158149   Members   -  Reputation: 122

Like
0Likes
Like

Posted 26 April 2009 - 11:17 AM

So, do I just read tutorials and learn how to use the language and learn how to write small programs and gradually work my way up until I have enough knowledge to start being able to write games?

And when I can start writing games, PyGame and Panda3D are the 2 engines I should use to write them with?

Do I have to learn other languages and use them in combination with Python to write a game, or can good 3D games be entirely written in Python?

#18 Chadwell   Members   -  Reputation: 130

Like
0Likes
Like

Posted 26 April 2009 - 11:29 AM

Quote:
Original post by poker158149
So, do I just read tutorials and learn how to use the language and learn how to write small programs and gradually work my way up until I have enough knowledge to start being able to write games?

And when I can start writing games, PyGame and Panda3D are the 2 engines I should use to write them with?

Do I have to learn other languages and use them in combination with Python to write a game, or can good 3D games be entirely written in Python?


Pretty much. Just start small, work your way up, learn from your mistakes, and always think about ways to make what you are doing better. I'm fairly certain that Python is capable of making games completely on it's own(well with game libraries and engines). As an example, the fairly popular MMORPG Eve Online is written in Stackless Python(A Python variation).



#19 Antheus   Members   -  Reputation: 2397

Like
0Likes
Like

Posted 26 April 2009 - 11:37 AM

Quote:
So, do I just read tutorials and learn how to use the language and learn how to write small programs and gradually work my way up until I have enough knowledge to start being able to write games?


Have you read them already?

It's quite simple. People who want to learn by themselves need to be inquisitive, not afraid to try out different options, prepare to fail often, and put in a lot of work, some or even most of which will turn out to be wasted effort. At this point, anything works, and nothing will matter in the long run - just start doing things.


The only other alternative is to get into a school that is related to software development, either specialized or generic CS course, since there they teach either "the best" option (which depends on who's funding the program), or how one can make informed choices on their own.


Nobody can decide what to start with, or what will work out *for you*, but just about all possibilities have been listed.

Quote:
Can someone confirm that this would be the right choice?


There is no right choice. Right choices are those that accomplish the goal, but that completely and entirely depends on you alone - tools used will make little difference.

Quote:
I'm fairly certain that Python is capable of making games completely on it's own


Any Turing language is "capable". So are most non-Turing complete languages. Heck, even languages are optional, so are computers. Adventure games don't even require anything beyond a good storyteller and a few friends. It simply does not matter at this point.

#20 poker158149   Members   -  Reputation: 122

Like
0Likes
Like

Posted 26 April 2009 - 11:54 AM

Yes, I've looked at a few tutorials, but I haven't memorized them yet.

I hope Python can be used by itself, that would make things alot easier.

But if it's not, then I'll just have to learn some other languages to mix into it.

Thanks alot for everyone's help and advice.

Sorry that my newbie-ness was showing.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS