What scripting language should I use

Kirk McDonald kirklin.mcdonald at gmail.com
Thu Dec 14 17:26:16 PST 2006


Jari-Matti Mäkelä wrote:
> I've decided to create my next big game in D. It will be a rpg using D
> in the lower level stuff and an integrated scripting language for the
> game logic. Now, the only thing I'm not sure about is the scripting
> language. It needs to be object oriented / functional and somewhat
> portable (linux & windows).
> 
> I've searched the dsource site. There is already more or less complete
> support for
>  - python (pyd)
>  - ecmascript (dmdscript, walnut)
>  - minid
>  - lua (bindings lualib, dlua)
>  - squirrel (bindings)
>  - euphoria (freudo)
>  - lisp (dlisp)
> 
> Maybe there are other production ready implementations not listed here?
> 
> It seems the pyd, minid and dmdscript projects are well maintained.
> 
> The best option would be to fully integrate the scripting engine to my
> game. Using it via the C ABI should be ok, but requires a bit extra work.
> 
> Which one should I take. I don't want to end up using vaporware. The
> miniD projects looks interesting. I know dmdscript works, but I think
> those other languages might be better suited for my game.

There are perhaps three things to be aware of if you're considering 
using Pyd:

1) Linux support is still missing. I get the impression a new GDC 
release is close, and it is my hope that this will change at that time. 
It's worth pointing out that CeleriD (Pyd's build system) already works 
in Linux for building extensions written to the raw Python/C API.

2) At the moment, Pyd is written from the standpoint of writing 
extensions to Python in D, rather than embedding Python in D. This is 
not to say Pyd wouldn't be helpful if you wanted to embed Python in your 
D code (at the very least, Pyd has the most up-to-date bindings for the 
Python/C API), but your code will essentially just be using the raw C 
API for many things.

3) I'm still cramming features into Pyd at a decent clip. I don't expect 
the existing API to change much, but be aware that new features are 
being added about as fast as I can think of and implement them.

-- 
Kirk McDonald
Pyd: Wrapping Python with D
http://pyd.dsource.org


More information about the Digitalmars-d-learn mailing list