Entity state changes: functional reactivity with LuaGravity, Céu
Posted: 2014-11-23, 20:59
Indeed, our enthusiasm about component-based paradigm stems from the 'feeling' that fundamentally it's the more 'natural' way to describe the world, but at the same time we feel obliged to think about what Cartsen referred to as "meta-considerations" to make sound system design decisions.
My personal view on the issue boils down to the single most important consideration of Time; how do we componentize entities' individual functionalities along their inner states, reaction to world events, and synchronization with the world's state..?
Lua is a great language to experiment with such conceptual abstractions thanks to its extensibility. One particular example, which I think fulfills some of our requirements towards a powerful alternative to the rigidity of object hierarchies through "entity aggregation", is LuaGravity. LuaGravity is an extension to Lua that offered functional reactivity , effectively equipping Lua with powerful Dataflow capabilities. In fact, the language proved to be so "overly powerful as a research artifact" to its creator that he turned his academic focus to implementing his ideas in a pure C language implementation to establish whether "Céu can be defined in keywords as a reactive, imperative, concurrent, synchronous, and deterministic language."
In any case, I believe that the dataflow approach may provide answers to some of the more fundamental meta-considerations.
Here are the links:
http://files.catwell.info/code/deprecat ... avity/doc/
https://thesynchronousblog.wordpress.co ... uagravity/
Cheers!
My personal view on the issue boils down to the single most important consideration of Time; how do we componentize entities' individual functionalities along their inner states, reaction to world events, and synchronization with the world's state..?
Lua is a great language to experiment with such conceptual abstractions thanks to its extensibility. One particular example, which I think fulfills some of our requirements towards a powerful alternative to the rigidity of object hierarchies through "entity aggregation", is LuaGravity. LuaGravity is an extension to Lua that offered functional reactivity , effectively equipping Lua with powerful Dataflow capabilities. In fact, the language proved to be so "overly powerful as a research artifact" to its creator that he turned his academic focus to implementing his ideas in a pure C language implementation to establish whether "Céu can be defined in keywords as a reactive, imperative, concurrent, synchronous, and deterministic language."
In any case, I believe that the dataflow approach may provide answers to some of the more fundamental meta-considerations.
Here are the links:
http://files.catwell.info/code/deprecat ... avity/doc/
https://thesynchronousblog.wordpress.co ... uagravity/
Cheers!