Best game scripting language?

I was thinking of learning how to make/code games, and I was wondering, what should I try to learn? DirectX games seem to run fast on my slow comp and was thinking about that.

But want to be able to do 3D games using blender objects. And 2D games using sprites.

So, what should I look into?

EDIT: I dont know any code language except for html, so I’d like something anyone at my skill level can learn.

Depends on the type of game. There are several languages that are good for making games. Just learn the pros and cons of each and pick whichever one that catches your attention. Personally, I’d choose Python. It’s the most understandable high-level programming language I’ve come across, and I’m learning it for the purpose of making games (see Pygame).

C++ is the industry standard for programming video games, though it comes at a price, and learning curve.
(There are about a billion books that help guide, teach etc C++, just check up amazon or similar, community is huge)

I don’t know what you mean, a programming language isnt going to specialize on producing a racing game, or FPS, or MMO etc etc. I have no idea how well Python can program games but im sure its very limited.

There are variants of the BASIC language that concentrate on programming games, (though obviously not as powerful as C++, it is considerably easier)
The two big ones i think are BlitzBASIC, and DarkBASIC.

Hey I’m not an expeirienced programmer.I wanna now if I could use JAVA
to develop games in blender

From what my father told me, just learn C++ first. Get a book, like C++ from the Ground Up, and just learn from that. Then get an old book on how to make 2D DOS games. The new books arn’t as good as the old ones, for the most part.

Project Aqua is using JAVA, but there isn’t much activity now.

Your best bet is C++ using OpenGL libaries for graphics. If you can learn Blender you can learn C++, you wont be able to jump into the deep end like simpler programming languages tho.

Although learning python will not only let you create games, but it will also help you create scripts in Blender. But it is limited compared to C++ as it is an interpreter language which compiles the code on demand. While C++ is pre-compiled so it is much faster.

You can freeze Python code into binaries so that they run as .exes, but they still don’t run much faster.

C++ is really the way to go, as has been said, as C is slightly outdated (just very very slightly) and C# is too dependent on Microsoft right now.

Through Python you can probably access JAVA methods in the Blender Engine I suppose. You could always take your models and textures and make an interpreter for the mesh data and put them into your game though. I believe (not sure on this) that JAVA has the capability of access to OpenGL as well. Once again though, since it runs through an environment its not going to run as fast as code that executes via the OS, like C/C++, even though JAVA is one of the fastest environment languages out there. There are even a couple books on programming games in JAVA, but it would still be better to go with C++.

Edit: Now I remember its called Jython.

I don’t know what you mean, a programming language isnt going to specialize on producing a racing game, or FPS, or MMO etc etc. I have no idea how well Python can program games but im sure its very limited.[/quote]

Python’s game-making capability is still limited. That’s what I mean. While it can make any type of game, there are not many inmediate means to do so (as with C/C++), and Pygame is still missing a few things that make it more able for commercial quality games. But hey, I might be wrong about this.

EDIT: I’d also like to point out to hafunui Soya 3D, a great 3D engine for Python.

I suggest downloading the free version of Microsoft Visual C++ (http://msdn.microsoft.com/vstudio/express/visualC/default.aspx).

After that take a look at SDL (Simple Direct Media Layer - http://www.libsdl.org/index.php). It’s a very easy way to get started with modern programming. It has functions for handling 2D graphics, Joystick, Sound, Keyboard, Mouse, etc. It may not be the best library to use for complex games, such as ones needing hardware accelerated graphics, but it is very easy to learn and to use and it is powerful anough to create most 2D games. It also has built in OpenGL support, making it easy to transition into 3D graphics.

For more advanced 3D graphics, check out Ogre (http://www.ogre3d.org/). There is a Python script for Blender for exporting meshes and animation.

There is also, of course, DirectX (http://www.microsoft.com/downloads/details.aspx?FamilyID=7D29004E-7A8D-4F0A-B199-6A740D8F27BB&displaylang=en), which is capable of both 2D and 3D graphics, animation, sound, networking, video (I think), keyboard, mouse, and joystick input, etc. DirectX, however, is more complicated to use and learn than SDL and Ogre. If you plan on becomming an professional xBox game developer DirectX is the best way to go.

You can use also Visual Basic with DirectX to create games

In my opinion, C++ really is not all that more difficult to learn than any other language … as long as you know which libraries to use. In fact, there are more resources to learn game programming with C++ than with any other language, possibly making it easier to learn.

Check out http://www.gamedev.net/ for articles and other resources. They also have a message board and chat room which may come in handy while you are learning.

You forget engines such as erlicht that have python wrappings for them. And there is also panda3d, a good python game engine used by disney for some of their games.

In a program like a game, there are portions of the logic which must be very fast, such as the actual 3D computations or the rendering-process itself; and those which can afford to be much slower, like the game decisions themselves. (The video must match the speed of the eye, whereas the game must match the practical reaction-time of the player.)

So, you often come up with a “hybrid” approach, the so-called “game engine” or “game construction-set.” The high-speed dirty work has already been done for you, and it has been done very well. In other words, a very stable and complicated display can be reliably presented at “sixty frames per second.” Now, on top of that platform, you build your game.

The best place to start is … take, say, Blender and actually build a game. Any game. Remember that Blender was originally built to produce professional-quality games. Use Python, logic-bricks, the whole nine yards. Experiment with techniques. Go as far as you possibly can until you absolutely run into the limits of the tool … which might take a long time, or which might never happen. Now, explore other techniques… but don’t re-invent any wheels.

By all means, learn from examples. Take an existing game that has been published in source-code form on the Internet and study the source-code. Learn from what others have already done.

I don’t know what you mean, a programming language isnt going to specialize on producing a racing game, or FPS, or MMO etc etc.[/quote]

Essentially true; But python is a more high-level language, so you’ll run into speed issues quicker. C++ is low-level, and is used more for high-end games (or so I hear). So, I assume a slower language is generally better for smaller games.

Also on gamedev.net, there is an article on what programming language to use. Might be a good article to answer this question.

I had planned on learning C++ with OpenGL.
And use simple blender models. But I ran into compiling troubles. But now I have linux, so i’ll try again.

Blender games seem to be EXTREMELY slow on my computer, so even though i really want to learn blenders game engiene, its kinda hard. ( maybe theres a way to speed up things like that? maybe a better video driver??)

And I have a question involving OpenGL: Most resources i find on OpenGL are about 3D and stuff, but is there anywhere that explains how to do 2d sprite based stuff? I keep hearing that OpenGL can do 2d but I never see anything else on it. Would I map bmps to planes?

So anything on speeding up OpenGL programs (namely blenders game engine) OpenGL/python programming resouces would be a help.

OpenGL is specifically designed for 3D graphics, but it does 2D well also.

Check out http://nehe.gamedev.net/. Most of the examples there are translated into a good variety of languages, but C++ is the predominant language used there.

Good luck.