What scripting language should I use
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
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.
Pyd: Wrapping Python with D
More information about the Digitalmars-d-learn