Understand Software Technologies – Software Scripting

In this part of my blog I will be discussing and giving examples of how scripting languages are used and how they can have an impact on game and app creation using appropriate use of subject terminology.

Scripting languages are computer programming languages are used primarily to reduce the edit-compile-link-run process which means editing the code, compiling it and then running the code. Scripting tools were first originally used as a batch of command tools. They were used to run a specific set of easily editable tasks or commands on a computer. Later on scripting languages began to show up on computer games.

Some scripting languages have other important roles other than coding, and those other roles are things to the extent of extending some of the other programming languages such as C or C++. Some of the of the other languages are standalone, general purpose languages such as Perl and Smalltalk, bit some of the others like Python and Lua can be rooted within the native code of application and serve to extend its set of available types and functions, this means that it is able to add on to another language.

 

The biggest negative to script languages is the performance of speed. Usually the scripts run a little, or even a lot slower than compile code like C and C++, this means that it is slower than the application. The reason that the scripting is slower than that application is because the scripts are understood by a thing call Virtual Machine (VM). VM is a separate piece of software that sets apart from the main application from the computer, the application is running on and the VM places itself between the application and the script.

 

Scripting can give you the ability to code your games major functionality without having to compile the game engine at all. Some of the games components are Artificial Intelligence (AI), User Interface (UI), game events, save and load game functionality and so on. Scripting can also provide the vehicle for modders to change the way the game is currently running. The modder can change the look-and-feel and the behaviour of commercial games that have scripting engines included.

Scripting can allow the people of the gaming company of various disciplines to work on their part of the game, and do not have to ask the C++ programmers to change one thing in the game engine. Because you see the slower the execution speed of the script compared to the native code, you would not want to write any high performance code using it. C++ functions can be written in the engine so that the script can get access to it.

 

For example, say that you have a class for a tree mesh that you want and need to be placed somewhere in your scene, that class can be written in C++ and the rendering code would also be in C++, you want to make sure that you have the fastest rendering as possible.

The script engine can also have the ability to create an instance of object of that C++ class before it places it in the scene, this means that something will appear in the scene and will be generated into the scene before you get there, is can be known as ‘texture POP in’.

 

The different programmers working with the script language could create all their own script files without interfering with other programmers. The UI programmers could use a copy of the current release of the game engine to create and place their UI object on to the screen. At the same time the AI people will be developing paths and decision trees in script.

So essentially Scripting is just copy and paste within a game, and can be a benefit to game makers.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s