Hi. The game I'm making has a number of social mechanics that require tracking a number of different factors and I'm not sure what the best way to do this is in ORK. I suspect that it's best to track these things with Status Values, but maybe it's best to do it with variables instead? So let me explain a few different social mechanics and what I'm wondering about.

1) NPC Approval Ratings
- There are a number of player group characters and each NPC has an approval rating for each member of the player group. Choices that can be made as various player group characters can give approval for different NPCs. I'd like to be able to have a menu, kind of like a bestiary, for displaying information about each NPC where each NPC has an entry and the entry includes their approval for each player group character. I'd like to display this with a number of heart icons, where the number of icons increases as their approval rating gets higher.
- My first thought is that I should have an Approval Rating Status value for each member of the player group, and that these status values should be Experience type status values with each heart earned basically being the number of levels you've earned. My questions about that are: is there a way to set a maximum number of levels you can earn? Can you subtract experience and/or levels from a level? Is there anything I should know on the UI front for displaying levels as a number of icons instead of a number?
- Alternatively should I just use object variables or game variables? (Do object variables persist from one instance of the combatant to another?) Or is there another system in Ork that might be better for this?

2) Player Alignment system
- The game does have an alignment system for player group characters where choices you make as them can push their alignment in one of three directions. This is something like paragon/renegade points in Mass Effect (or the personality choices in Dragon Age II) except that there are 3 options instead of 2, the options are not always mutually exclusive (although some choices will raise your points in one and reduce them in others and the game usually only cares about which you have highest), and finally I'd like to be able to give them different names and descriptions for the different characters.
- I was again wondering about using status values for this. There may be select NPCs who also have alignments that player choices can push the NPC in one direction or another. However, most NPCs shouldn't have these so if they're status values I'd like to be able to selectively hide them to never be shown for some NPCs (which I should be able to do by setting up the right status, right?) I'd like to be able to show how far you are in a path by giving a meter with a minimum and a maximum. What Status Value Type would be best for that? Consumable? Experience?

3) Player reputation system
- This isn't faction reputation. Choices you can make will make NPCs think that you are one kind of person or another, or both, and then NPCs will sometimes react to you in dialogues as though you are like that. Each player group character needs to have reputation tracked for 2 potential traits on this front, and all NPCs will react based those two traits. NPCs don't need these traits tracked.
- I'd once again like to be able to display these as two meters that go from 0 to a maximum. I'm guessing they should be status' but the same questions come up as before of which type of status would be best for this kind of thing which has a minimum and a maximum, and changes slowly over the course of the game rather then changing as often as HP or Mana might change. Also, again, is there a way to set up certain status' to only apply to certain Combatants or to make sure certain status' will always display for NPCs but never for PCs when looking at combatant information huds?
Post edited by Whatexists on
  • That sounds like a job for object variables!

    So, variables that are bound to game objects via the Object Variables component. The component uses an Object ID to save and load them with save games, and any component using the same object ID will share the variables. You can also use the object ID to check and change the variables without the game object.

    This allows you to have the same variable keys for all those systems across all NPCs, which you'd access via their game object, i.e. variable origin Object and selecting the object you need (e.g. Machine Object when using an Interaction Machine on the NPC).

    The rest is just changing and checking those variables as needed.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Okay! Thank you! And for the menus that display these, you can use object variables for a combatant in question in combatant/bestiary style HUDs and with meters and the like? And do you have any advice for how I'd do the hearts? I want to be able to have hundreds of approval points but a maximum of 5-10ish hearts, so it can't be a direct 1-1 thing.
Sign In or Register to comment.