r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Liquid] any questions about liquid dataflow core.

Josh
26-Feb-2009
[622]
the !sum plug is a good example,but I get a little stuck beyond that. 
 From my first impression of trying to do this, it seems like I'm 
going to have to define so many variables to make it too troublesome. 
 But I'm sure that I'll have to learn how to think in the right way 
to avoid all that
Josh
27-Feb-2009
[623]
whoops, base needs to have a value above 0 in that example
Maxim
27-Feb-2009
[624x4]
the difference with dataflow and liquid specifically is that there 
are no functions in the whole application.
well only to handle the edge of the graph, since the computer/OS 
isnt't running within a graph
I did  a D&D character manipulation application once when prototyping 
liquid, so I understand exactly what you are trying to do  :-)
josh, did you try out the tutorial?  the example is a basic sum node. 
 although its not exactly what you need for the above example, it 
should give you an idea of the lego-style building of a liquid network.
Robert
27-Feb-2009
[628x2]
Max, I still wait for a simple to follow example and some simple 
to follow docs.
So, please don't confuse us :-)
Maxim
27-Feb-2009
[630x10]
the simple to follow example already exists for 2 years now :-)
http://www.pointillistic.com/open-REBOL/moa/steel/liquid/plug/plug-quickstart.html
Josh: for simple data compilation and changes (like a D&D character 
creation/evolution), I suggest writing an aspect-oriented type of 
node set for your  application.
I have the ground-work for in if you want to try it out, its ready 
to use, I even built some interactive glass prototypes with it.
basically, how this works is, you have a generic object which you 
pass around from node to node.  each node may add/display/change/remove 
one or all of the attributes in the objects.  


Just plug some aspect-managing node to your "current" node and that's 
it, over and over.   Its as easy as calling a function on an object. 
 the difference is that all states of your character are still available 
up till its creation. 


 you can even branch off at any point and try out another combination 
 with NO risk of corrupting your previous data.
the nice thing is that the "aspects" may act on the values of other 
aspects.  

one aspect could be "dexterity".  

another could be mod-dexterity


the first one sets it , the second one increases it or reduces it.
then another aspect called "armour-class" can be added and it know 
to use the current dexterity bonus to itself.


now you can build up the whole character, up to 12th level like this 
(adding all skills and levels, etc), and at the end, decide you want 
to see how it results with an elf, instead... then paf, you change 
the root aspect "race" to elf, which causes dex to increase by one, 
and since everything is still connected, your ac is increased by 
one, without ANY single other thing to do than ask for the resulting 
character.
the trick is to implement the "rules" within the aspects themselves. 
basically returning some kind of error (or warning) when some rule 
is broken within a node.  (going above some limit, impossible selection 
based on race, etc)
using this technique, I was able to do skining which is independent 
of the gui engine underneith.  one only has to support the aspects 
in his skin and the skins (and gui using them) remain valid, even 
though you are running on opengl or vid.
sorry for the long post... hope I make sense.
Josh
27-Feb-2009
[640x3]
I did try the tutorial, but I was stuck beyond the !sum example. 
 I think I just need to actually see something more complex to figure 
it out.
I'd like to try the ground work that you created,
I am not familiar with aspect-oriented programming, so if you have 
some suggestions on what to read to learn more, that would be helpful
Maxim
27-Feb-2009
[643]
hum I just did a bit of googling for it ... can't remember ... IIRC 
a few good references on wikipedia.
Josh
27-Feb-2009
[644]
But a more complex example would be very helpful, otherwise I'm dead 
in the tracks
Maxim
27-Feb-2009
[645x5]
yeah I understand... really I do.


as I used to say... "I buit it, and it works really well... but I 
still don't know how to use it !"
paradigms shifts are never easy to face.
but I have spent many hours using liquid, testing it prototyping 
it, and even building an OS Operating Environment with it...and I 
now know its a viable idea.
so... I'll do this for you this week-end (since I have time  :-)
I'll build up a quick and dirty aspect-driven, character creation 
tool  :-)
Josh
27-Feb-2009
[650]
That would be great
Maxim
27-Feb-2009
[651x3]
with a gui.
I'ts going to be View only (actually probably direct faces)
in order to leave any gfx issues out of the understanding of the 
tool.
Josh
27-Feb-2009
[654]
sure, of course
Maxim
27-Feb-2009
[655x4]
I also have a simple graphics package which uses AGG directly with 
liquid, so I'll use that to further show liquid ties in from end-to-end.
basically, the gui will be plugged-in to the aspects directly, and 
the aspects data entry will also be plugged-in directly to the gui 
 :-)
no VID.  just AGG  ;-)
ok, well... guess I'm going to log off now... I have work to do! 
 ;-)
Josh
27-Feb-2009
[659x2]
SOunds great!  If you can't get it finished, at least show me a sizable 
component of it so I can get some ideas
:-)
Maxim
27-Feb-2009
[661x3]
what I'll do is post all of this on rebol.org, so the whole world 
gets  a view of it  :-)
I've been wanting to do this for ages.... but having someone actively 
looking out for it... makes it much more compeling to do  ...
I'll announce it here when the first parts are available.
Josh
27-Feb-2009
[664]
hehe, just remember, I'm stuck here doing nothing until you finish 
;-)
Maxim
27-Feb-2009
[665]
yep.
Josh
27-Feb-2009
[666]
i'm excited
Maxim
1-Mar-2009
[667x4]
I'm working on it...  :-)
I have a double set-back though... the old aspect code was for a 
previous version of liquid...
and it was profoundly prototypish, I realise.  not enought comments 
for me to even remember how to use... so I'm scanning my old test 
code in order to make it much more usable.
note... the test application is called glass.r   ( an infamous name 
if there is one  ;-)
Josh
1-Mar-2009
[671]
hehe, yeah, I'm starting to finally fix all my poor coding practices, 
especially with naming.   Anyways, sounds good,  again, you don't 
need to do the whole char gen or anything, but just a good chunk 
for me to see how to put things together