Script evaluation

Post your questions, suggestions and experiences regarding game design, integration of external libraries here. For irrEdit, irrXML and irrKlang, see the
ambiera forums

Wich is the best language?

Lua
15
38%
Python
6
15%
Ruby
1
3%
JavaScript
2
5%
GameMonkey
2
5%
Other (specify wich language)
10
25%
I have to write my own scripting language (lol)
4
10%
 
Total votes: 40

Dareltibus
Posts: 115
Joined: Mon May 17, 2010 7:42 am

Script evaluation

Post by Dareltibus »

Wich is the best scripting language?

I have found several languages:

Lua
Ruby
Python
JavaScript
GameMonkey

all of them seems very good game languages. but I want your opinion.

Wich is the easiest for being implemented in a C++ application?
Wich is the faster?
Wich is the bug proven?

Wich of them allows to save the script execution state (in case something fails) and help to find and reproduce bugs?

Wich is the most used by NOT-C++ programmers (so people other there that like to play with scripting languages, wich like most?)

Wich is the cost for embedding totally the scripting language? for example is possibile to use python without installing it on a machine, but this make the executable bigger, wich is the scripting language that can be used without minor apport from the user and the minor executable size?

Most important are some of them totally free for use?

_____________________________

I know that some professional opensource tool use python (blender, GIMP) so i think python is the most-professional language. But blender and GIMP require you to install python on your computer.

There are several projects already using Lua and irrlicht

I seen several tools for making videogames using javascript

GameMonkey is born for games.. ok why i cannot see anyone using it?

Of course. why do you suggest some particular language?
3DModelerMan
Posts: 1691
Joined: Sun May 18, 2008 9:42 pm

Post by 3DModelerMan »

I use Squirrel. It's easy to bind your code, it has support for classes, and it has been used successfully in games (Final Fantasy Crystal Chronicles: My Life as a King).
That would be illogical captain...

My first full game:
http://www.kongregate.com/games/3DModel ... tor#tipjar
ent1ty
Competition winner
Posts: 1106
Joined: Sun Nov 08, 2009 11:09 am

Post by ent1ty »

Lua is used in many AAA games. From the top of my head, STALKER, Wow, The Witcher, Warhammer 40k and Garrys mod
irrRenderer 1.0
Height2Normal v. 2.1 - convert height maps to normal maps

Step back! I have a void pointer, and I'm not afraid to use it!
DtD
Posts: 264
Joined: Mon Aug 11, 2008 7:05 am
Location: Kansas
Contact:

Post by DtD »

Don't forget AngelScript!
Game Monkey is cool too.
Squirrel looks pretty but I was not a fan of its stability.
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Well, if you need something thats powerful out of the box, you could use python, or you could even use what EVE online uses - Stackless python(more power! :D ).
If you need speed and easy integration you could try pawn, it is very small, tough doesn't have built in object(classes,structures) support, but these things can be worked out(you can use enums to make hackyish structures, and they work ok).
Working on game: Marrbles (Currently stopped).
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

V8 Java is very used, but maybe for a game you must prefer angel script, not too famous but very good anyway.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
pippy3
Posts: 155
Joined: Tue Dec 15, 2009 7:32 am

Post by pippy3 »

Lua is the de-facto for games, though python is starting to become popular.

I'd love to put javascript in one of my games, I've gotten V8 to compile and run but I'm unsure of its game readiness. I'd love to see code like:

onload = function () {
player.position = (2.0, 3.0);
player.onloop = function () {
if (player.hitTest("end block")) {
loadlevel(2);
}
}
}

that would make coding really fun and quick
Virion
Competition winner
Posts: 2148
Joined: Mon Dec 18, 2006 5:04 am

Post by Virion »

i tried gamemonkey, not bad. very easy to set up just like irrlicht.
Kojack
Posts: 67
Joined: Sun Jan 20, 2008 2:39 am

Post by Kojack »

Lua has quite a track record of success in games, and it's small and fast.

My favourite scripting language though is Falcon.
http://www.falconpl.org/index.ftd?page_id=facts
It's a bit like lua (I was able to convert a lua script (full logic for a game) to falcon with only minor changes to syntax), but it's got a lot more features.

Documentation for it tends to be the downside.
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

I went to the site, and looked up at the table of comparisons, and I found this Raw VM loop speed.
How is it measured? I saw that it uses this code:

Code: Select all

 int a = 0;
   for( int i = 0; i < 100000000; i++ )
      a = a + 1;
But how exactly does it calculate?
EDIT:Never mind.
Last edited by serengeor on Sat Mar 12, 2011 5:04 pm, edited 2 times in total.
Working on game: Marrbles (Currently stopped).
cobra
Posts: 371
Joined: Fri Jan 23, 2009 2:56 am
Location: United States
Contact:

Post by cobra »

My favorite scripting language is AngelScript.

Once you get familiar with it it is very powerful.

It also has syntax like C++ and supports handles, includes, and you can register pre-processor defines with the script builder helper so that code can be optionally left out of the compilation if a #define is registered.

It's light-weight and powerful. I like it.

- Josiah
Josiah Hartzell
Image
loki1985
Posts: 214
Joined: Thu Mar 31, 2005 2:36 pm

Post by loki1985 »

DtD wrote:Don't forget AngelScript!
Game Monkey is cool too.
Squirrel looks pretty but I was not a fan of its stability.
as i am currently thinking about evaluating squirrel: what kind of instabilities did occur when you tried it?
conallmmcg
Posts: 23
Joined: Sun Oct 19, 2008 2:35 pm

Post by conallmmcg »

i would recommend having a look at chaiscript.
designed specifically for C++ and seems very easy to use.
http://chaiscript.com
seems to be as easy as:

ChaiScript chai;
chai.add(fun(&add), "add"); //register our 'add' function under the name "add"

to bind a function.
hayate
Posts: 43
Joined: Mon Feb 16, 2009 9:38 pm
Location: Brescia, Italy

Post by hayate »

conallmmcg wrote:i would recommend having a look at chaiscript.
designed specifically for C++ and seems very easy to use.
http://chaiscript.com
seems to be as easy as:

ChaiScript chai;
chai.add(fun(&add), "add"); //register our 'add' function under the name "add"

to bind a function.
It seems interesting :D
Sorry for my awful english ^_^'
Image
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

I recently tried javascript V8 and It felt like it was too oversized. Debug mode library was over 100mb, debug sample aplication was around 40mb, and release mode app was 4mb.

Also someone suggested me Mono, the site is currently down, but what I know is that its used in Unity, more info:
Mono offers:

A choice of languages for scripting your application, some examples:
Static languages: C#, VisualBasic.NET, RemObject's Pascal.
Dynamic languages: Boo, IronPython, IronRuby.
Functional languages: Nemerle, F#
And of course, many more, see Languages for more details.
A native code generator to run your software as fast as possible.
Easy support for calling your native code
PInvoke allows you skeleton/stub-less invocation of C methods.
InternalMethod provide access to raw C/C++ methods.
C function pointer to scripting language transitions (a function pointer provided by Mono when invoked would trigger a transition to Mono-controlled code for execution of any scripting capability, very useful for callbacks or notifications).
Access to a large body of libraries and reusable components.
Working on game: Marrbles (Currently stopped).
Post Reply