[Bf-gamedev] Lua

Forest Hale havoc at ghdigital.com
Thu Sep 26 21:30:37 CEST 2013


Personally, having worked on commercial games using Lua, I hate it with a passion.

Strongly typed languages are a must for me, the number of errors I could not catch from my development environment was maddening in Lua - if you have to launch the game before you can find out if you
have a typo, and might still encounter a runtime error for passing the wrong type of data to a function, it's just a nightmare.

I strongly favor Python over Lua any day.

For my part, AngelScript seems promising but I haven't put it to use in my projects yet, it closely resembles C and C++, with much the same syntax, strong typing and even the same variable types.

Though my pet favorite language remains QuakeC from my Quake1 modding efforts, which got its own standalone (BSD-type license) environment lately thanks to the gmqcc developer, so I might try
embedding that in a game someday.

On 09/26/2013 10:03 AM, Jason Wilkins wrote:
> +1 to "I've never understood the appeal of loosely-typed languages for complicated projects like games"
> 
> While I really like Lua, I mainly think of it as just glue.  In my opinion the typesafe heavy lifting should all be written in C++ and the scripting language should only be used as a sophisticated
> configuration file.
> 
> Of course, an add-on is different, it needs to do more than just coordinate pre-existing functionality, it needs to add functionality (by definition).  C# would be excellent for that as the add-on
> gets more complicated and real software engineering starts to be needed.
> 
> 
> On Thu, Sep 26, 2013 at 11:25 AM, Tom Edwards <contact at steamreview.org <mailto:contact at steamreview.org>> wrote:
> 
>     Mono/CLR is the right choice for game development. It's a memory-managed environment which performs better than scripts, can be strongly-typed or loosely-typed depending on language chosen, and
>     has a cross-platform IDE plus debugger ready to go (on Windows you can use Visual Studio!).
> 
>     It's easy to use CLR or native libraries; compiling your own CLR code is really fast; the runtime provides tonnes of useful built-in classes; it has the concept of code security and sandboxing
>     running all the way through; and any transition would be smoothed considerably by IronPython.
> 
>     Coming at this from the other angle, I've never understood the appeal of loosely-typed languages for complicated projects like games. They are nice for small, simple tasks but become a nightmare
>     to work with as a codebase grows. I maintain a Blender add-on with nearly 200KB of code and my life would be much improved if I could use C# instead of Python.
> 
> 
>     On 26/09/2013 4:49, Jason Wilkins wrote:
>>     I can understand your frustration Campbell.  I've never participated in any of those previous discussions, but this is something that has been kicking around in the back of my mind for a while,
>>     and seeing that we have a Blender gamedev list reminded me of it yet again.  It could just be that having one language is good enough for 90% of people and going from 1 to 2 is a big enough step
>>     that nobody really wants to take it for the 10% that really care. 
>>
>>     In computer science if you have 2 of something you should support an infinity of it ;-)
>>
>>     If I really really want to use Lua then I'll get it done.
>>
>>     I'll have to think about the LLVM or Mono suggestion.  LLVM especially is something I need to learn more about for reasons outside of Blender, so I'd have a good reason to look into that.
>>
>>
>>     On Thu, Sep 26, 2013 at 10:40 AM, Campbell Barton <ideasman42 at gmail.com <mailto:ideasman42 at gmail.com>> wrote:
>>
>>         On Fri, Sep 27, 2013 at 1:33 AM, Jason Wilkins
>>         <jason.a.wilkins at gmail.com <mailto:jason.a.wilkins at gmail.com>> wrote:
>>         > I've used SWIG, and it did occur to me that if I wrote a SWIG interface file
>>         > that it would bring in lots of languages all at once.
>>         >
>>         > It doesn't support just "any" language.  I wish it had V8 or spidermonkey
>>         > support, for example.
>>         >
>>         >
>>         > On Thu, Sep 26, 2013 at 10:29 AM, Jacob Merrill <blueprintrandom1 at gmail.com <mailto:blueprintrandom1 at gmail.com>>
>>         > wrote:
>>         >>
>>         >> What about this? - http://www.swig.org/
>>         >>
>>         >> this seems like a way to make "ANY" language grab the same handles in the
>>         >> BGE.
>>         >>
>>         >> I could be mistaken...
>>
>>         If we have more languages I would want to check on runtimes that
>>         already support a verity of languages.
>>         - LLVM/JVM/Mono for eg... who knows, maybe PyPy or Parrot...
>>
>>         (in all seriousness Mono seems most compelling and has worked well for
>>         Unity3D), then we can support one runtime as well as different
>>         languages.
>>
>>         LLVM has the advantage we already bundle it with OSL, so worth
>>         investigating too.
>>
>>         But to get back to reality - this conversation keeps re-opening and
>>         nothing ever comes of it.
>>         Yes - we can support whatever languages we like - but this just ends
>>         up being a huge project when you consider integration with the rest of
>>         Blender and ongoing maintenance.
>>
>>         --
>>         - Campbell
>>         _______________________________________________
>>         Bf-gamedev mailing list
>>         Bf-gamedev at blender.org <mailto:Bf-gamedev at blender.org>
>>         http://lists.blender.org/mailman/listinfo/bf-gamedev
>>
>>
>>
>>
>>     _______________________________________________
>>     Bf-gamedev mailing list
>>     Bf-gamedev at blender.org <mailto:Bf-gamedev at blender.org>
>>     http://lists.blender.org/mailman/listinfo/bf-gamedev
> 
> 
>     _______________________________________________
>     Bf-gamedev mailing list
>     Bf-gamedev at blender.org <mailto:Bf-gamedev at blender.org>
>     http://lists.blender.org/mailman/listinfo/bf-gamedev
> 
> 
> 
> 
> _______________________________________________
> Bf-gamedev mailing list
> Bf-gamedev at blender.org
> http://lists.blender.org/mailman/listinfo/bf-gamedev
> 


-- 
LordHavoc
Author of DarkPlaces Quake1 engine - http://icculus.org/twilight/darkplaces
Co-designer of Nexuiz - http://alientrap.org/nexuiz
"War does not prove who is right, it proves who is left." - Unknown
"Any sufficiently advanced technology is indistinguishable from a rigged demo." - James Klass
"A game is a series of interesting choices." - Sid Meier



More information about the Bf-gamedev mailing list