Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!






Lua, Urho3D, Accidental Noise Library

Posted by JTippetts, 09 September 2013 · 880 views

urho3d lua accidental noise library goblinson crusoe
Made a small change to the build structure of the ANL today. Currently, I've been building the ANL as a set of libraries alongside a Framework exe that acts as a Lua interpreter. With a small change, I have added the ability to build ANL into a DLL that exports the root binding function of the library, so that instead of having to run the Framework exe you can just run the vanilla Lua interpreter (or any other interpreter environment) and import the ANL functionality from the DLL. Makes it a lot easier to use it in other Lua-based applications.

The chief reason for doing this finally is that Urho3D has been fleshing out their Lua scripting sub-system to make it a lot more useful to me; specifically, the addition of the LuaScriptInstance class is one of the things I've been waiting for, and one of the things that I've sort of paused development of Goblinson Crusoe until it was completed.

I used to love C++, but now I merely tolerate it when I have to use it. Urho3D is neat in that the AngelScript scripting system is pretty powerful; however, the Lua scripting system is much newer and, until recently, less fully-fleshed out. Since Lua is my preferred language, I've sort of stuck GC on hiatus and worked on some other miscellaneous programming (mostly work-related) while the Urho3D team worked on the Lua framework.

Urho3D is a component-based framework. You create a Node, then add to it Components such as AnimatedModel, Physics, etc... to implement behaviors. With the addition of LuaScriptInstance, you can now add a Component to a Node that provides scripting functionality to the component. You can write the actual behavior of the component in script, providing hooks in the form of event handlers. Thus you can, for example, write an AI controller as a script object. I would much rather write AI and game logic in a higher-level language like Lua than in C++, so this is a good thing and I plan on pulling GC out of storage now that it is done.




Recent Comments

February 2015 »

S M T W T F S
1234567
891011121314
15161718192021
222324252627 28
PARTNERS