Die Programmiersprache Lua

Viele Spiele kommen ja heutzutage nicht mehr ohne eine irgendwie geartete Programmiersprache aus, in denen gewisse Sachen geskriptet sind und die ggf. zur Entwicklung von Erweiterungen zur Verfügung gestellt wird.

Ein bekannter Vertreter war früher beispielsweise S.C.U.M.M. von Lucas Arts, in dem viele von deren berühmten Adventures (wie Monkey Island, Day of the Tentacle und weitere) programmiert worden sind. Heutzutage aber ist der bekannteste Vertreter dieser Art eindeutig Lua.

Wo kommt es her?
Lua ist ursprünglich eine Entwicklung einer katholischen Universität aus Rio de Janeiro in Brasilien. Die Entwickler beschreiben Lua als schnelle, leichtgewichtige, mächtige und einbettbare Skriptsprache. Es ist sehr einfach möglich, Lua in beliebige Spiele als Skriptsprache einzubetten und dann zu benutzen. Der gepackte Download hat gerade einmal 182 Kilobyte und Lua selber ist in nur 20.000 Zeilen C-Code implementiert. Damit ist die Codebasis klein und überschaubar, also auch sehr gut wartungsfähig.

Was bedeutet der Name? Ist das eine Abkürzung?
Nein, Lua ist einfach nur portugiesisch für Mond. Das ist alles.

Was kostet das?
Nichts. Lua wird unter der wohlbekannten MIT-Lizenz zur Verfügung gestellt, die grob gesagt „Mach damit, was dir beliebt, Hauptsache du nennst irgendwo unseren Namen“ als Bedingung hat. Daher ist Lua sehr weit verbreitet.

Wo gibt es Dokumentationen zu Lua?
Zu allererst in Englisch auf der Seite des Projekts, daneben aber auch auf Deutsch wie beispielsweise hier ein Einsteigerkurs und noch eine Referenz.

Welche Spiele nutzen denn nun Lua?
Die Liste ist lang, bekannte Spiele sind unter anderem Die Siedler: das Erbe der Könige, Monkey Island ab Version drei, World of Warcraft, Angry Birds, Baldur’s Gate, Civilization V, Sim City 4, Mafia II und viele andere.

Warum sollte man sich mit Lua beschäftigen?
Ganz einfach: wer schon immer mal wissen wollte, wie eine Spielmechanik geskriptet worden ist oder für Spiele wie World of Warcraft, bei denen die Erweiterungen komplett in Lua geschrieben sind, vielleicht selbst Add-Ons schreiben will oder diese zumindest verstehen, der kommt um Kenntnisse in Lua nicht herum.

Ist Lua neben Spielen noch weiter verbreitet?
Kaum.  Es gibt Ausnahmen wie beispielsweise Prosody, ein komplett in Lua geschriebener Jabberserver, aber die Liste dieser Programme ist dann doch sehr überschaubar.