swixel wrote:thomasfn wrote:I am thinking of supporting both Lua and C# libraries. The reason I don't want to go pure C# libraries is because it means people have to download and install Visual Studio (or some other IDE/compiler) rather than just type scripts in notepad. Lua is also (in my opinion) easier to learn from a "noob's" point of view than C#, as C# kinda throws you in the deep end with classes and interfaces. Obviously none of the issues I described would apply to a (semi)experienced programmer, but I want the modding API to be accessible to both programmers and the more arty kind.
The problem with using Lua at all is you lower the bar and people expect to be able to do complex things with it. If C# is the engine, then wouldn't it make more sense to spend no time on binds, but rather to load data files? Race specs could be put into XML files rather than hardcoded. Special abilities, of course, become an issue, but that's really going to be quite painful to interface between Lua and C# anyway.thomasfn wrote:We'll see - it's not set in stone yet, if it turns out I have major problems getting Lua to work on mono then I might scrap Lua later down the line.
I wouldn't have a clue if Mono will play nice out of the box with it, but a dylib or so could be thrown together in a worst case scenario anyway.
LuaInterface automatically binds things in a very neat manner. I can pass a class coded in C# directly to Lua and Lua will be able to access all the methods. This means that Lua can access every function of the engine essentially and I don't have to do a thing. Unfortunately, LuaInterface does not play nice with Mono...
Perhaps I should get some more opinions. Any modders reading this? What would you prefer?