Jump to content
  • Advertisement
  • entries
  • comments
  • views

Lua, Urho3D, Accidental Noise Library

Sign in to follow this  


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.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!