The Lua programming language has been chosen, as a scripting interpreter that will be embedded into the C++ that drives graphics of the Moose. It won’t be scriptable by normal users, at least, I’m not intending to document that.
Lua scripts will be used to control things like, how fast the eyes change gaze direction, how fast a smile changes into a phoneme, etc. While these things could also be hard-coded, would be very slow to make a change, recompile, and test, (then repeat).
I accepted Lua on the recommendation of my graphics programmer, who is familiar with it. The things I like about Lua are: Its fully embeddable and doesn’t need a separate DLL. It’s concurrent, so that if script arrives to move the head in several motions and steps, and another script arrives to tell the eye-gaze to follow the mouse for a few seconds, and then another script arrives to tell it to change phonation from one Viseme to another, they’ll all work and not step on each other. (I hope). ( Yes, all of that could be compiled code instead of interpreted scripts, but developmental tweaking will be easier.)
Things I’m leery of in Lua: Its one Numeric type, is probably single-precision floats… which is annoying when I’m comfortable thinking with integers for 99% of things I do. I’m also leery of the unfamiliar ugly appearance.
This is ugly: ::= Whoever made that for assignment, hates people.
Also ugly: all lower case syntax. “if, elseif…” Don’t they know that mixed Upper and lower case words are more readable by humans?