CPP -> skrypty zewnętrzne część 1
Pamiętam jeszcze czasy “zabaw” z C# i moment, w którym również szukałem języka skryptowego współpracującego z CS. Nie szukałem długo – C# w tej roli mi nie odpowiadał. Dowiedziałem się sporo dobrych rzeczy o Lua – zaliczam to na plus.
Pomijając całą tą otoczkę wokół samej Lua, zgłębiwszy podstawy współpracy Lua z C# do czegoś udało mi się dojść ;) Miałem jednak trochę pecha – projekt upadł. W zasadzie w tym momencie zatrzymała się moja dalsza eksploracja języka C#.
Wracam więc do głównego tematu. Oczywistym wyborem mogłaby być lua w “czystej” postaci, ale zdecydowałem się poszukać dalej. W zasadzie liczą się 4 możliwe rozwiązania z 6 podanych niżej:
- Wspomniana Lua,
- Mocno rozszerzalny Python,
- GameMonkey,
- AngelScript,
- Zawsze można stworzyć swój język skryptowy i parser, korzystając np. z serii artykułów Złośliwca,
- Java przez interfejs JNI.
Bardzo dużo informacji na temat wiązania skryptów Python’a z cpp zawiera strona codesampler a konkretnie rozdział “Extending & Embedding Python with C/C++”.
Jeśli chodzi o Lua to warto odwiedzić stronę lua wiki, oraz docelowo podstronę z Code wrappers. Z dostępnych “Development environments” dla Lua najbardziej przypadło mi do gustu luaeclipse, z uwagi na IDE Eclipse.
Nie najgorzej czułbym się pisząc skrypty w Javie, wykorzystując technologię JNI. Jak się okazuje, język skryptowy używany przez engine Unreal – UnrealScript, ma wiele cech Javy ( i cpp).