Jump to content
  • Advertisement
Sign in to follow this  
Bsod1

is it just matter of speed?

This topic is 3164 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I really wonder why doesn't anyone make games with scripting languages like Python, is it just matter of speed or there are some other disadvantages of scripting or interpreted languages..

Share this post


Link to post
Share on other sites
Advertisement
There are games that use scripting languages. Civilization IV used
Python, for example. The advantages, if there is any for the
particular game being developed, of using a scripting language isn't
always what's important nor is speed. What's most important in most
cases is if it'll make the development time shorter and more effective,
I think.

Share this post


Link to post
Share on other sites
Lots of games do use scripting languages. Usually the core of the game (or the engine) are written in something else, and then the game or level specific code is done in the scripting layer.

http://en.wikipedia.org/wiki/Category:Lua-scripted_video_games
http://en.wikipedia.org/wiki/List_of_Python_software#Video_games

Share this post


Link to post
Share on other sites
You might consider that most MMOs are written at their core in a scripting language, so many games do use scripting. I know open word games their entire core is written in a scripting language.

Look at the break down given by Epic games on Gears of War, about 50% of it is written in scripts (Unreal scripts) the remaining 50% is in C++ and thats for mostly the rendering and physics.

Almost all games which are of any scale use scripted content. I would actually guess that these days it's the exception to not to have scripting support (since there are powerful freely available scripting libraries).

-ddn

Share this post


Link to post
Share on other sites
I just wondering about why almost all of job postings from big companies(epic games, bioware, ea, ubisoft studios, etc..) are about C and C++. I never saw a job posting about scripting languages..

Share this post


Link to post
Share on other sites
Quote:
Original post by Bsod1
I just wondering about why almost all of job postings from big companies(epic games, bioware, ea, ubisoft studios, etc..) are about C and C++. I never saw a job posting about scripting languages..
Any programmer worth hiring can learn a new language, however C and C++ are often used for low-level game code, plus C/C++ are dangerous languages in that you can completely break everything if you do something wrong (which means they take a long time to learn properly). So if you're going to be writing C++ and Lua code, it would be better to hire someone experienced with C++ and teach them Lua than the other way around ;)

At some companies, the scripting language is given to designers to implement the gameplay, while the programmers stick to doing systems-level work in C++.

At other places, (such as anywhere using the Unreal engine!) engine programmers do system-level stuff in C++ and game-programmers use the scripting language.
Every unreal-engine game has most of it's gameplay code written in UnrealScript.
...but again, it's much better value to hire a C++ programmer and then give them a fortnight to learn UnrealScript, rather than hire an UnrealScript-only programmer and not be able to use them to write C++ if need be.

Share this post


Link to post
Share on other sites
Quote:
Original post by Bsod1
I just wondering about why almost all of job postings from big companies(epic games, bioware, ea, ubisoft studios, etc..) are about C and C++. I never saw a job posting about scripting languages..

Well if you stick with game programming long enough it's kinda hard to avoid C and C++. Even if you were to stick with Python and Pygame, which is good enough for most 2D games, you might want end up having to know C/C++ if there is a book or 3rd party API you want to use. Think of C as English for programmers. Almost anywhere you go they will expect a competent programmer to at least be familiar with it since it's so pervasive as I mentioned.

Share this post


Link to post
Share on other sites
There are three reasons why C++ is preffered

1) Old language that has established itself

2) Very fast

3) Because of its popularity , there is loads of third party libraries and documentation.

I think that is a good idea to know both C++ and Python. Afterall Python is based on C language.

Generally things that can be done in python should be done in python for the obvious benefits.

Another reason is that many programmers do not realise how powerful python is , I blame the fact that python is named a "scripting language" instead of a "programming language" when in truth python is a "programming language that can also do scripting" . The truth is that many programmers out there have no idea how powerful python really is.

Many of them know that python is slow, but do not know for instance that python can reach C speed through ctypes and cython. Most of them know that python has its own libraries and that is easy to use but dont know that python can also use C/C++ libraries through ctypes and cython (and many other tools) with no extra coding as it can use Java and .Net libraries again with no extra coding through jython and ironpython.

http://www.cython.org/


Developers may even be suprised that python is even capable to inline Assembly langauage for some extra powerful stuff through projects like CorePy.

But most importantly python is too good to be true, and that sceptism slows down the implementation of python in large project. But I think that is changing slowly, with each game release developers see that python can compete easily with C and outperform it , so it seem that we are going to see more python in the future.

[Edited by - kilon on April 15, 2010 5:55:20 AM]

Share this post


Link to post
Share on other sites
Thanks for your answers, I'm learning Python and C seems too hard for me, I will go on with Python..

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!