There have been various discussions about scripting languages on IRC in the past. This thread is to formalize a direction for scripting in Daemon and Unvanquished. Discuss below which scripting language you'd like and what you'd like to use scripting for and how it would be integrated.
My language of preference is JavaScript, the reasons for which will be explained below.
The primary use of scripting for me will be in the UI. The ability to implement the libRocket DOM in JavaScript will be a very straight forward task because the libRocket functions map almost one to one to the JavaScript DOM. Furthermore, as libRocket essentially implements HTML4 and CSS2, UI makers who are creating assets will already likely be familiar with javascript and be able to start working very quickly. The ability to use scripting will give rise to a much more dynamic UI with uses including manipulating the DOM, creating dynamic pages within the UI, firing and handling events, writing custom dataformatters, and if we wish it, animation. This is a project I would like to start sooner rather than later.
The other use for scripting would be scripted maps. This idea is less developed than the UI one above, but I still believe it is critical. The ability to be able to program things into your maps and have things be triggered can give rise to many things, from a tutorial engine to scripted single player maps. The tutorial engine is what I'm most interested for map scripting. I would like to allow any user to create interactive tutorials for use on any map that would help both new players and veterans alike. The scope of the tutorials can vary widely, from just the basics of wallwalking to more complex map level strategy discussions about scrim tactics. I have not thought extensively how this will be implemented, but I believe having scripting will simplify the process of implementing this.
To integrate JavaScript, I recommend using Tiny-JS. This is a tiny javascript interpreter that seems very easy to integrate into our engine. It is all together around 3.5k lines of code and has no external dependencies other than the standard C++ library. This sounds better than any of the more heavy alternatives like v8 or spidermonkey.
In summary:
JavaScript for libRocket and map scripting.