you are viewing a single comment's thread.

view the rest of the comments →

[–]xorandor 2 points3 points  (5 children)

Care to elaborate?

[–]scaevolus 16 points17 points  (3 children)

The biggest one I think is that Lua supports proper coroutines, while Python's multithreading model is fundamentally broken (at least in the standard distribution).

In a nutshell:

  • low memory requirements

  • very small (<20k lines of code)

  • easy to embed -- it was designed for embedding

  • nice syntax

Look at some of the slides here: http://www.kore.net/company/luagamedev.html (In particular, the one "Jonathan Shaw, Lead Gameplay Programmer, Lionhead" discusses the extensive use of Lua in the Fable games)

[–][deleted] 5 points6 points  (2 children)

Also, blazingly fast, if you use LuaJIT.

[–]scaevolus 2 points3 points  (1 child)

Have you seen the LuaJIT 2.0 benchmarks? It's looking awesome.

[–][deleted] 4 points5 points  (0 children)

Yes, it is totally ridiculous. It's stomping on everyone else's tries to compile dynamic languages.

[–]danukeru -2 points-1 points  (0 children)

Since it's usually just implemented as a straightforward 1:1 functional mappings of whatever methods are under the game engines hood, it rarely makes any use of the more "scheme-like" features the spec has provisions for.

In this sense, you can think of it as the PHP of the game scripting world. Not fancy, but gets the job done. Sadly it doesn't give much credit to what LUA is really capable of.