Advertisement

game programming... is all about scripting nowadays?

Started by March 20, 2007 01:25 PM
16 comments, last by Kylotan 17 years, 7 months ago
ActiveState's Komodo IDE (incidentally, itself an IDE for development with dynamic or "scripting" languages like Perl, Python, Ruby, PHP and Tcl) is built on Mozilla: mostly XUL and JavaScript.
Quote: Original post by JohnBolton
Scripts are easier to modify and the turn-around time is faster. In some cases, they can even be modified while the game is running.


So can C and C++ code, depending on the target platform. Check out edit and continue.
Advertisement
Quote: Original post by Rand
The commercial game i'm working on is using the Unreal engine, and we are hardly touching c++ for it. Its practically all in Unreal Script. The excellent tools mean the designers and artists can do most in the engine, which runs efficient c++ code without project programmers.

Say the 3 most intensive parts of a game were gfx, physics and ai. The first 2 are in the engine in c++, and the AI specific to our game is in half in c++, half in unreal script.


That is actually a really bad idea with UnrealScript, as you will no doubt find out when you come towards the end of your project.
Why? Its not the first project we've done this way.

Unless your talking about all the save game/memory card stuff etc...
Quote: Original post by Rand
Quote: Original post by JohnBolton
Scripts are easier to modify and the turn-around time is faster. In some cases, they can even be modified while the game is running.


So can C and C++ code, depending on the target platform. Check out edit and continue.


Actually, you still have to recompile. Plus, there might not be trivial changes which will force you to shutdown and restart. With a script, the engine just reloads the new script and you are ready to go.
-----------------------------------Indium Studios, Inc.
Quote: Original post by jkleinecke
Quote: Original post by Rand
Quote: Original post by JohnBolton
Scripts are easier to modify and the turn-around time is faster. In some cases, they can even be modified while the game is running.


So can C and C++ code, depending on the target platform. Check out edit and continue.


Actually, you still have to recompile. Plus, there might not be trivial changes which will force you to shutdown and restart. With a script, the engine just reloads the new script and you are ready to go.


Depending on the scripting language you have to recompile too. You are right about the edit and continue bugs though that can crop up.
Advertisement
'Scripting' languages are far from being a new concept in game development. Since TorqueScript was mentioned, it should be noted that it was used in Tribes 2, which is an evolved form of the Tribes 1/Starsiege scripting language. It goes even further back to the Earthsiege titles and this was in the early 90's.

It most likely wasn't the first. Scripting language use in game development has been around for well over a decade.
I've not read the rest of the thread, so I apologise if I repeat some things that have already been said.

Quote: Original post by Structural
I recently bought a license for the Torque engine just so that I don't have to worry about the "plumbing" anymore and could start making games, and I was surprised about the elaborate scripting language.
I was even more surprised when I read numerous posts in the community stating that game logic was usually implemented in script.


It shouldn't be surprising; that specific engine was obviously created with scripting in mind. They wouldn't add an elaborate scripting language if there was little reason to use it.

Quote: The reason I'm surprised comes ofcourse from my complete lack of experience of the "real games industry" and the trend of the threads I read on gamedev. Most of the things I read here are about C++/Java/other compiled languages. Thereby, my gut-feeling says that script is not being "easier to work with" because it is probably lacking decent (debugging/development)tooling and community support.


You've made several mistakes in the logic there.

Firstly, most people here are not in the "real games industry" and therefore the balance of topics here wouldn't match those on a professionals-only forum.

Secondly, many people here are not working with existing engines, and therefore they are forced to use C++/Java/etc to create their game. Professionals often have pre-existing engines which not only already contain extensive scripting support (eg. Unreal/UnrealScript), but also have most of the C++ level problems already 'solved'.

Thirdly, community support and extensive tooling is less important when the language itself is easier to use. Many of the posts on these forums address basic architectural or structural issues which tend to cease to exist with higher level languages, doubly so when that language is already embedded into a working system.

Quote: Also, I'm sort of lost where one can draw the line between engine and script. What do I put in my engine? What do I put in script? Is there a rule of thumb?


No. You do what is right for the game. At one extreme, some people may use no script at all, or only use scripts for tiny aspects of event-callback processing. At the other extreme, some people may write the entire game in a so-called 'scripting' language, and just convert some parts to C++ to gain extra speed as an optimisation pass.

Quote: So, what do you think of this? Can you confirm the increasing popularity of scripting languages? Are you as surprised as I am? Do you think scripting is becoming more and more important? If so, also in the indie game development scene who might not be able to afford elaborate engines with scripting?


Yes, they're increasingly popular.
No, I'm not at all surprised, because I've spent enough time with Python/&#106avascript/Lua/my own scripting languages to see the benefits.<br>Yes, it's becoming more and more important.<br>Yes, I think the indie scene will eventually integrate more scripting, since the scripting languages themselves are typically free.

This topic is closed to new replies.

Advertisement