This is the doing of @Louis-Felix, I will look into this with him and come back to you! I am not sure that this is what we want, as this is another try at our problem that he did after the original post
Quick question (putting aside how it might be implemented in Fibery for the time being):
Is it the case that defining a game element as belonging to a particular category (e.g. a Goblin is in the ‘enemy’ category) means that the element needs to have all the attributes (with user-selectable values) that are defined as required for that category but ALSO needs to have attributes that are required for fulfilment of ‘behaviours’?
Are the specific ‘behaviours’ unique to the element, or are they the same for all instances of elements in the same category?
This is exactly what we want yes !
The attributes needed for fulfilment of “behaviors” ARE the attributes that are required. One can’t go without the other, or else the “behaviors” couldn’t work without them or would force us to “hard code” or manually link the attributes.
And no, the “behaviors” aren’t unique to the element. This is our “Systemic integrity”. The “behaviors” are always the same. They work differently on what they are attached, only due to the different values we choose for attributes. So this is why every enemy are REQUIRED to have the same attributes, so that we can re-use the behaviors and that they work with any element, if it has the required attributes also attached to it.
Do you need to be able to relate behaviours to attributes?
Sorry, my question could have been better phrased: “Is the selection of which behaviours are associated with an element determined by the category the element is in?”
(I think the answer is yes)
Not 100% sure, but yes we could want that!
I haven’t read all the comments or watched everything, but in your video at 25:02 from what I gather your problem is as follows:
- “Attribute” with several other sub-attributes/values that can be used other entities of different types.
→ Solution: Create entity that they all share.
- The set value must be available in the entity that use it, to be used as default value.
→ Solution: Lookup the value of the entity they all share.
- It must be possible personalize the value too, but doing so would change it for every other entity that use the shared entity.
→ Solution: Add override input field in the entity that use the shared attribute. The field you rely on to get the value form however is a formula that prioritize inherited value, but switch to override value if defined (or perform basic math on the default value + override, like multiplier).
If that is indeed the problem, it’s sort of of similar to one I had to solve with product prices:
- I have a sub-product with default price, and lots of customers can use the product. This way I can create reports on how much customers have ordered for using the sub-product price.
- I also have a quantity acting as multiplier, that is 1x by default, or however many I define if I do.
- I also need to be able to override the derived price in case I want to apply a rebate to one or more of the items, or if I want to override the whole value altogether.
- There’s also the issue of prices changing, but then invalidating old records. For that I have an “Saved price” field that completely override any other field, and old orders would use this field.
@Borealys I watched the video, thanks for the great explanation.
I should say the setup is pretty complex, but I hope I got the problem. Now I have one question. Let’s say, we have two enemies: Goblin and Jelly. Do they have the same set of attributes? I assume that is not always the case, since, for example, Jelly might not have Pursuit behavior, thus Jelly will not have fields for attributes that define Pursuit behavior.
If this is correct, here is the problem on a meta level. Type in Fibery is static. It means it will ALWAYS have pre-defined set of fields. Technically it is possible to generate fields when you attach some behavior or attribute to an entity, but these fields will be visible for ALL entities of this Type. Let’s say, if we will attach Pursuit behavior to any Enemy and generate fields, all enemies will have visible fields for Pursuit behavior (Goblin - correct, and Jelly - incorrect for our case).
It is not possible to have a Type with dynamic (changing) set of Fields for different entities based on attached behaviours.
To be honest, I can’t provide a good solution so far. Here are some weird possibilities:
Live with huge redundancy. Every Enemy entity will have fields for ALL possible attributes and behavior and you will have to not fill them if they are not required.
If you have sane amount of enemies (let’s say 100-200), maybe it will be fine to have a separate Type for EVERY enemy. Goblin and Jelly will be separate Types that will have connections to behavior and attributes, you will select required behaviors for Goblin and will be able to generate fields by pushing an Action Button. In this case you will have only relevant field for every enemy, but it might be a nightmare to build views. For example, to see all enemies you will have to create a Board with 100 types selected.
If you have Classes of Enemies that share EXACTLY the same behaviors, you might tweak solution #2 with Enemy Class Type and reduce amount of unique Types, like Jellies, Dragons, Goblins, etc.
Theoretically solution #1 can work fine if we will be able to hide irrelevant Fields for every Enemy based on attached Behavior. Fibery has hidden UI extensions mechanism, so maybe we can do it, but I am not sure so far.
NOTE: Fibery was designed to manage work, it seems you are trying to build the whole game domain inside Fibery. I wonder what is the value here? What you will do with this model later?
We are working all day long with your responses to find a solution to our problem.
@mdubakov With your answer about Static vs dynamic fields, we now have a better understanding of the boundary of Fibery, which helped us elaborate the best solution for us and within our constraint. We think we found a not perfect, but good solution. But first of all, there is 3 things we need to know that could be gamechangers for our problem.
- Is it possible, with an action button, to generate a new Entity of a certain Type and insert some values in his fields? We would like to create a batch of Entities already linked to each other with this.
- Is it possible to generate, with an action button, a table inside a rich text Field based on attributes Entities that are linked to another Entity?
- If so, is it possible, with an action button, to “Push” rich text table cells to a google spreadsheet, and “Get” data from a google spreadsheet to generate a rich text table?
If it is possible or if you can make it happen, I think it would solve pretty much all of our problems. It could really help other businesses too. That would be kind of Fields linked to an Entity instead of being linked to a Type.
Thank you very much!
Yes. You can also use any commands found in their API inside buttons via a method not documented there called
executeSingleCommand. See an example usage here. They also have an easier to use API available that has a
Not sure if the new entity is returned, as per their documentation it says it returns nothing—although not sure if that is correct anymore?Edit: Indeed it returns all the data of the new entity.
To populate with values however you either need multiple calls, or you can use the API to create and set everything all at once.Edit: All fields of the entity can be set on creation too.
- I am not sure, but likely. I have not used the API interaction with rich text fields yet. I would guess it is possible somehow? Pretty much anything can be searched for or written via the API. I do know that the rich text field itself is available as I have seen it, but under the name “Collaborative document” or something.
- Most likely. The button API also has an external request function available inside the button API. I use this external call function on a webhook link to create a notification in our MS Teams channel when someone click the “Mark as complete” button (it also does other stuff at the same time!).
Overall, I think it should be very possible, but require a lot of code to be written on your end.
Wonderful!! I’m gonna put my programmers on those leads tomorrow to see if it works!
I’m gonna show you back what we’ve done if everything works. I feel I’m getting closer to let down Miro and Notion…
@Louis-Felix Hi, do you have any progress with Fibery?
Thank you for asking! I gave the mandate to one of my programmer, he’s finishing a feature he was assigned to and will look at it after. It’s gonna be next week or the other.
What he’s gonna try is :
- Create a button which will copy an Entity type with his relation to other Entities types to an other set of Entities types. Short, we’re gonna have a generic model to create instances of.
- Based on relations to other Entities that we call “Attributes” he’s gonna try to generate a 2 columns Table in a Rich Text Field with the names of the “Attributes” in the first row and then add a “default” value which be a field of the “Attributes” type in the second columns. My designers will then be able to simulate Entity-field instead of the usual Type-field. Just with those two, it’s gonna be more than enough to justify that I transfer our pipeline on Fibery.
- Later, if the 2 test above works, we’re gonna try to get the values entered in the table’s second column and sync them with a Google Spreadsheet and even Unity.
That’s pretty much the roadmap. The Fibery’s hype is still on!
Sounds intriguing and good luck with your test.
As I noticed you have a lot of use of Rich Text, I wanted to draw your attention to this request that a lot of us are supporting. Would you guys also have use of being able to see those Rich Text fields in a Table view, since you’ll have a lot of key info in them?
The way Fibery lets you customize how many Rich Text fields you have in an entity, and how you name them, is one of the best features I think.
Yes! That would really help us to visualize every attributes and their values inside a Table view
Otherwise, we have to open every entity to see the tables we create inside the Rich text fields, and it’s really bad to have an overview. But with the ability to do this, Fibery would even more be the solution!
Feel free to have a look and see what you guys think about the topic, many of us have provided suggestions in there!
There is also a suggestion to get more Rich Text capability in the smaller “Text” fields as well, you might be interested:
Okay here I am with the results of our little experiments and the comments of my programmers :
- We could implement pretty much everything we’ve talked about : Creating a button that will create instances of models of other related types. Generating tables in RTF accordingly to relations to some Attribute’s entities and bind them with a spreadsheet. They looked over the API and everything is possible.
- We would need for that to look into the model each time to see if there are any changes in the structure and relations compared to all the instances generated previously of the same model. Delete wath is not there anymore, rename if the ID is the same and still keep the values, add everything new.
The thing is that they warned me that it’s gonna be code hard to maintain since there is gonna be custom hard code for each model. So they concluded that they can make it happen, but they don’t recommend it since it’s more gonna be a pain than a time saver by the end of the day…
Anyway, I’ll put down into text what we would need for us to work effortlessly :
- Being able to create a “Meta” model which we could create instances of totally integrated and managed in Fibery.
- A better UI/UX to be able to see all relations fields at once and enter values.
- Really nice to have : Entity-level fields in addition to the Type-level fields, since at the atomic level of hierarchy (the entities at the bottom of a tree), they won’t have the same fields more than often in a systemic approach.
In conclusion, Fibery is so close to be the tool I have always dreamed about. There is a lot of things that I have in mind that will even enhanced it in a way other tools don’t do, but I will add those suggestions in an other thread. There is other stuffs that other tools are doing that if they were there would make me considering to switch my 80+ Wrike licenses to Fibery even if it’s not for systemic game design. Same thing for an other organization which I’m on the board and coach for project management. I’m kind of frustrated by the situation of it being so nice and not there yet. A little bit like a kid without money who want so much is yellow bike and always have to look at it each time he pass by the window of the store coming back from school
Meanwhile, I’ll star new threads with my questions and suggestions. You are a great community btw, love to be part of it!
From following this thread, I get the feeling that this is the major challenge - getting Fibery to represent two levels:
- the meta-model that describes the architecture of a given game design
- the game design itself
Once that is achievable, I suspect that the remaining problems become much more tractable.
I think it would be possible to use Fibery to achieve this, but I suspect that it would require a fair bit of nicely designed scripting, whereby (at the push of a button) the meta-model data stored in fibery is used to create/sync the game-level types.
I am genuinely curious myself to see how easy/hard it is to achieve this functionality, so I may have a go at creating a demo app to satisfy myself that it is possible. If I succeed, I will of course post it in the community.
I think there are several of us who are feeling this quite a lot, and I believe it is because 1: we are early in the development of Fibery itself, and 2: We are even early in the development and maturation of the entire “no code” marketplace!
#2 is why no other app meets these needs better than Fibery yet either. They are all trying to do similar or related things, in different ways, Airtable, Coda, Notion, Fibery, and many more. None of them are “there” yet, and it is both exciting and frustrating to become aware of these tools this early in their development. Exciting because of the potential and how close some of them come to doing all we need, and frustrating of course because none of them quite do yet…
That said, for some (like me, I am lucky to say), the current abilities are good enough. For others like you, I hope as you say you will put in your feature requests to help encourage Fibery to become a tool that meets needs like yours. Of course game developer use at the level you are talking about is not Fibery’s core market at this point, so those feature requests may never be able to take priority. But if they have enough overlap with other more core market needs, it could happen.
So I tried…
Oh wow! I’ll definitely take a look at it! Just went in a crunch back in November and never came back until now. Very sorry for the late reply!