View unanswered posts | View active topics It is currently Sat Apr 27, 2024 1:38 pm



Post new topic Reply to topic  [ 87 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next
 Wherein prof.ebral and I discuss node referencing systems 
Author Message
User avatar

Joined: Wed Dec 09, 2009 9:39 pm
Posts: 712
Post Re: Wherein prof.ebral and I discuss node referencing systems
whatever dude. You think you system rocks, that's awesome. Thanks for the namespace tip cuz then it all seemed to work .. until I started changing the node Name data. It seemed again to be a global thing. I guess i am far behind you, but do you think yours could work someday?

_________________
I ate your Death Knell.
The Traipse Movement
Please show your support for Traipse OpenRPG http://www.facebook.com/MadMathLabs
Send me Traipse OpenRPG Ideas, Bugs, Complaints, Praises here: https://getsatisfaction.com/mml


Mon Jan 25, 2010 7:53 am
Profile YIM WWW
User avatar

Joined: Wed Dec 09, 2009 9:39 pm
Posts: 712
Post Re: Wherein prof.ebral and I discuss node referencing systems
prof.ebral wrote:
whatever dude. You think you system rocks, that's awesome. Thanks for the namespace tip cuz then it all seemed to work .. until I started changing the node Name data. It seemed again to be a global thing. I guess i am far behind you, but do you think yours could work someday?


Nevermind.. I ran a pull and an update and that problem is not being reproduced. Not even sure what was causing it.

_________________
I ate your Death Knell.
The Traipse Movement
Please show your support for Traipse OpenRPG http://www.facebook.com/MadMathLabs
Send me Traipse OpenRPG Ideas, Bugs, Complaints, Praises here: https://getsatisfaction.com/mml


Mon Jan 25, 2010 10:10 am
Profile YIM WWW
User avatar

Joined: Wed Dec 09, 2009 9:39 pm
Posts: 712
Post Re: Wherein prof.ebral and I discuss node referencing systems
How do I rename my Container nodes in your version, David? I have a terrible time figuring that out.

_________________
I ate your Death Knell.
The Traipse Movement
Please show your support for Traipse OpenRPG http://www.facebook.com/MadMathLabs
Send me Traipse OpenRPG Ideas, Bugs, Complaints, Praises here: https://getsatisfaction.com/mml


Mon Jan 25, 2010 10:12 am
Profile YIM WWW
User avatar

Joined: Wed Dec 09, 2009 9:39 pm
Posts: 712
Post Re: Wherein prof.ebral and I discuss node referencing systems
Here David. You can compare the differences in how sheets will work. This is a sheet that is a Work in Progress. One of the Beta testers crafted it: http://docs.google.com/Doc?docid=0ATUUo ... c2hm&hl=en

If you want to download the XML you can: http://docs.google.com/leaf?id=0BzUUom9 ... NjA1&hl=en

The dev of the sheet had already expressed there would be more changes. Just a couple things to note, at the bottom of the Skills list there are three bolded items. Those are really list nodes that are designed to work in a Radio Box. Every item has a Label so the node looks really nice when it is used.

I hate to keep bringing this up, so this is the last time I am going to pro-actively bring this up. I noticed you have underscores by all your Skill names. You do that so users can append their PC name or a shorthand version of it, correct? Anyways .. I keep finding conflicts with names in your nodes.

In fact, the conflicting is so bad that if I have one duplicate node name the whole global system becomes broken, unless I Un-Index the duplicate node. Is that a design flaw?

Ok, that is the last time I actively seek an answer for that part of your design.

_________________
I ate your Death Knell.
The Traipse Movement
Please show your support for Traipse OpenRPG http://www.facebook.com/MadMathLabs
Send me Traipse OpenRPG Ideas, Bugs, Complaints, Praises here: https://getsatisfaction.com/mml


Mon Jan 25, 2010 12:43 pm
Profile YIM WWW

Joined: Thu Dec 10, 2009 6:37 am
Posts: 335
Post Re: Wherein prof.ebral and I discuss node referencing systems
prof.ebral wrote:
How do I rename my Container nodes in your version, David? I have a terrible time figuring that out.


Just like any node. Either,
(1) click on the tree control where the name is dispalayed and it turns into an edit box per standard tree control behaviour (not available for the Mac as I understand it)
(2) go to the design dialog for the node and change the text. exit. This works for most nodes although a small number are too primitive.
(3) right-click on the node and select "Rename". This works for everything.

===============================

Or did you mean how do you clone with rename? To make an entire new character sheet?

Right-click and select "Clone with Replace". In the top box place the name you are changing from -- typically that will be the name of the top container and I plan to default it to that -- in the bottom box place the new name. You can also place a long list of names her, one per line, and it will create a clone for each entry. The copies change every instance of the word in the top box so they fix name mangling and comments as well as the node names. Also works to multiply up a single skill to a list of skills for example.

The ordinary clone does rename your top container / node but that's all it does -- so it preserves unique full pathnames. This is to prevent having to de-index the clone.


Mon Jan 25, 2010 6:12 pm
Profile
User avatar

Joined: Wed Dec 09, 2009 9:39 pm
Posts: 712
Post Re: Wherein prof.ebral and I discuss node referencing systems
Right on. The Rename thing is kinda cool .. I use the basic design menu. I just fixed all the 'primitive' nodes that did not work. :lol:

_________________
I ate your Death Knell.
The Traipse Movement
Please show your support for Traipse OpenRPG http://www.facebook.com/MadMathLabs
Send me Traipse OpenRPG Ideas, Bugs, Complaints, Praises here: https://getsatisfaction.com/mml


Mon Jan 25, 2010 6:32 pm
Profile YIM WWW

Joined: Thu Dec 10, 2009 6:37 am
Posts: 335
Post Re: Wherein prof.ebral and I discuss node referencing systems
At this stage we probably now have a better understanding of what the other guy's stuff is doing, although you probably need to figure out mine more and I suggest grabbing a character sheet I have been working on; I will have to host the file somewhere. You'll need a copy of the 1.8.0+ developer version but I think you have that already? So we can now move on to talking about an idealised system in terms of what outcomes we'd like to see.

But I'll answer the queries you had about mine as we go along of course.




prof.ebral wrote:
I hate to keep bringing this up, so this is the last time I am going to pro-actively bring this up. I noticed you have underscores by all your Skill names. You do that so users can append their PC name or a shorthand version of it, correct?


Oh good god no. That would be primitive name-mangling. I suppose to a certain extent I can see your point. The reason that I put the _ in front is to indicate this is basically a node that you'll never want to send to chat like a private variable. And in particular because it corresponds to a node you really do want to send to chat with the same name.

Specifically I want my die rollers to all have an individual name so I can type it into chat. Now you've gone for a list node on yours I see so there's no individual name for each skill, save, or attribute check die roll for you I suppose. That's one way of doing it but it means you can't specify the individual die roll from the list. At best you specify the list, bring up the Use dialog and then manually select from the drop list. Then you have to hit "send" separately. Many steps.

Incidentally I made it so when you double-click on a list control you automatically send to chat so that saves you one step. I don't yet have it closing the Use dialog on you afterwards.

Anyway the point is I find all that a lot of work compared to simply typing the word "Swim" hitting return and there's your swim dieroller sent to chat. Or else I click on the mini in the map and select it from the menu, "Skills" / "Swim" and it's done.

Now to be able to specify these items like that they need to be named so I have to have them in separate nodes not a list. Currently my mini right-click menu plugin will see a list node as just one menu item. It will try to send the value of it to chat. That actually works without asking for a selection as the list recalls what was selected last. This is fine for lists that have static values but not for a way of short-cutting a lot of die-rolls. I guess i never use lists myself. Really you'd want some lists to have a separate entry for each of their choices on the menu. Or else you could pop-up the Use dialog just for that list box when you hit the menu for it.

Again for typing in a word to chat the list box doesn't work too well. I used to have it so you could bring up the Use dialog by typing "U <name of node>" but i never used it so I took it out.

Yes I am getting to the point of your question.

Because I think the character sheet works best with each die roll as a separate node I have two nodes with similar names in my sheet. Namely the die roll node and the numeric value associated with it. For example "Will" is the Will saving throw but "_Will" is the value added to the d20 roll for the Will save. You type "Will" into chat to get the dieroll, but you'd need to use "_Will" if you were adding bonuses. I can't have them called the same because I want to try and have uniquely named single-word nodes for ease of references. (It's not necessary but I want it that way). Hence the need to make the second node name a little different.

My intuition here is that what is needed is a separation of the UI and the data so that you have a new node maybe that is called a "value" and this value can't be sent to chat by the user easily. It doesn't show up in the Use dialog, it isn't appearing in the mini-right-click menu, you can't get it by typing into chat. Only by going to the tree can you get it. But any references within a node are assumed to refer to it, and any bonuses are assumed to refer to it and not the exactly same named node that has a dieroller. So there's two kinds of nodes UI and data. The UI nodes can be "seen" by the user and the data nodes can be seen by the internal references.

But for now I have one named with an underscore. In fact for the abilities there are even more related nodes so I end up with Strength, _Strength, Str and Str_Base all doing slightly different things but that's down to the complexity of the D&D bonus system which really does have three different concepts there (or more).

Instead of _Will I could have called it eg. Will_add or Will_bonus. But I can't call it "Skill Check" or "Saving Throw" as there's one for each save.

Especially if I get node-name completion working better (start typing Wi and hit tab) -- oh you need the right plugin to get that to work and I haven't checked it in yet. But if I do that "Wi" tab Iget this:

Quote:
** Multiple matches found: Will, Wisdom, Wis_Base, Wild Shape, Wis


So OK fair enough Will and Wisdom start the same but I don't want "Wild Shape" because that only applies to another PC (so my list needs to be PC sensisitve) and Wis and Wis_Base should somehow have a status of "not interesting to the user; for internal use only".

Quote:
I keep finding conflicts with names in your nodes.

In fact, the conflicting is so bad that if I have one duplicate node name the whole global system becomes broken, unless I Un-Index the duplicate node. Is that a design flaw?


You mean it goes red? That would be a design flaw in the character sheet not the OpenRPG. You don't want two nodes with the same full path. Until we decide that full paths won't be supported which would badly break old sheets. but why would you ever want two exactly same named nodes in the same container? I don't really understand what problem you are trying to describe here. if you have one red named node it won't screw up any other node. That's the whole point. It's red to say "I found this bad boy that would have messed you up so I took it out of consideration for references".

You shouldn't have to unindex (make red) a node because the system will do that for you. The only time you'd want to do that is if you have a good reason for a name to be the same and want to specify which will be "seen" by references.

At any rate feel free to ask more questions about my system because I don't think you have got the ideas quite down yet. However let us also move on to talking about what we'd like in a system.


Mon Jan 25, 2010 6:59 pm
Profile

Joined: Thu Dec 10, 2009 6:37 am
Posts: 335
Post Re: Wherein prof.ebral and I discuss node referencing systems
OK first let me say that I have got a lot of good ideas from these chats and also from looking at other non-OpenRPG virtual tabletop products. I think we'll have more ideas as we try the systems out in live play and the more variety of eyes on it the better as people come at it from different directions like eg. I never use lists and rarely use "Use" dialogs to send my data to chat. Sadly both of us are very locked into the d20 world but I suspect their system is at the more complex end of the scale so getting stuff working for it will probably go a long way to covering others.

But yeah -- what game systems do you play while actually using OpenRPG in live play?

Anyway the purpose of the referencing system is,
(1) to make it easy and quick to send certain key strings to chat -- notably die rolls.
(2) to keep track of the math -- from something easy like HPs to something complex like the value of AC with plate armor, a Cat's grace spell on, a ring or protection +1 and Shield spell going. and then you get hit by Enlarge person.

And that's it. So a pretty simple set of goals. Die rolls and math. Some other stuff like being able to send the details of a spell description to chat can help. Or have a link to the SRD for it. maybe some static text which isn't ever sent to chat but is a reminder like I have some nodes for "what languages can everyone speak" and sometimes my DM asks me to post it to chat before he tells me whether I can understand something. Or an "inventory" list which is stuff i try to use when despaerate to solve a puzzle like the hacksaw and 10' pole. But basically it is die rolls and math.


Mon Jan 25, 2010 7:10 pm
Profile
User avatar

Joined: Wed Dec 09, 2009 9:39 pm
Posts: 712
Post Re: Wherein prof.ebral and I discuss node referencing systems
Totally. I agree. I have taken some things from this chat that I can use and have used.

I currently am not playing any games using OpenRPG because I want to get Issue #0 of my magazine out so people have an idea of where I stand when it comes to idea generation. I'd hate to be looked at as the guy that lurks so he can pull useful info from games when I am just beta testing features.

Not using 'Use' Dialogs is something i admit I am actively working against. I've made the Tabber completely open so a user just needs to double click it and they open everything inside. They can have their entire PC Sheet right there, and if they need to make changes .. entering into Design Mode for a Tabber opens everything up to Design Mode. I can't fix the Grid right now, so the Tabber is where it's at. Just open the Tabber of your PC Sheet and you have an all in one, easy access window.

With the advancements to the Die Roller in Traipse we now have dice that can roll words representing pictures .. so I am looking at the Dicemaster game and Hero Quest (again). I would love to add games like that to the software's already large repertoire of gaming.

We are definitely on the same goals. I think even when we start touching the map with our data we can still achieve the same effect with different processes.

_________________
I ate your Death Knell.
The Traipse Movement
Please show your support for Traipse OpenRPG http://www.facebook.com/MadMathLabs
Send me Traipse OpenRPG Ideas, Bugs, Complaints, Praises here: https://getsatisfaction.com/mml


Mon Jan 25, 2010 7:26 pm
Profile YIM WWW

Joined: Thu Dec 10, 2009 6:37 am
Posts: 335
Post Re: Wherein prof.ebral and I discuss node referencing systems
Something Digitalxero said about wishing I'd get some of the new stuff I was doing out of the core gives me an idea. What if we both made the referencing system a plugin? The problem wouldn't be with the reference parser per se which pretty much gets 100% hijacked as it is by the plugins in ParsePost, but trying to define the borders of what it is that a referencing system does so that you could swap it out and connect to the other bits.

It's the other features that I think will kill Traipse if you don't get them. The actual reference systems aren't that different. The main goal was locality within a character sheet so that you could move sheets about and rename them easily. Frankly the clone with replace feature means you could even do that with old fashioned full-path referencing with a little work. it wouldbe a bit ugly but my point is that the main goal is achieved either way.

It's the ancilliary stuff like the mini right-click menu plugin, the bonus and effects plugin, the ability to type in one word nodes to chat, the ability to pick up which character sheet you are in from the name in the alias list, the improved math (I have min / max and now if..else...). My DM says I have completely transformed the program from when we first started when it was so clunky and slow. None of these features are strictly based on the referencing per se which when it comes down to it has a very limited function within the program which is to translate:

Input: string
Output: tree node

Except we both accept that we want to have another input (optional) of what the current tree node is. We get some context from that (your map tag, in my case the name of the namespace). I would also say that it is good to be able to have a context of a "namespace" (or the name of the PC sheet) to begin with. Either way something to say where to start the search.

We could even have a plugin for the old 1.7.6 system which would free us to completely disregard backwards compatibility in the new systems.

In my system I literally have a Python object called ParserContext for handling this. it's defined pretty simply:

Code:
class ParserContext:
    def __init__(self, namespace_hint=None):
        self.namespace_hint = namespace_hint # None, or a handler or a string indicating the namespace
        self.lines = [] # the lines following after this line in a multi-line text


So in defining a public interface for the reference system it would be something like

Input: string, parserContext
Output: node

Per the comment the context object can have either (1) nothing, (2) a node or (3) the name of the namespace -- that's the same as the PC's name. If we think of any other data that could be useful we could add it to the context. For example I added that lines variable to help me with processing multi-line text. It's just a bag to hold anything useful.

Now having that extra parameter parseContext does mean you have to add a parameter to pass it through to ParsePost, NormalizeParse, ParseNode and so on but you already have to do that for your other functions which are passing on the node. resolution, resolve_grid, ParseMap, ParseParent, resolve_cust_loop, resolve_loop -- all have a parameter for your context which is a node in most cases (for some reason you only pass the 'map' tag into ParseParent instead of the node).

NormalizeParse is where the plugins can 100% override the process currently. I used to have my entire referencing system in a plugin for about two years when I just put all my changes in one big plugin. It works fine. Contra DigitalXero I wouldn't call a referencing system non-core but if that's the best way to draw Traipse closer to the main code I guess we should do it. Or if not as a plugin we could do it like the die-rollers but that's a little more work.


Mon Jan 25, 2010 11:00 pm
Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 87 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next


Who is online

Users browsing this forum: No registered users and 158 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.