Sunday, April 23, 2023

Proposal: Merriam-Webster is not helpful here [Appendix]

Timed out and failed, 1-3. Josh

Adminned at 25 Apr 2023 20:52:19 UTC

Add a term and definition to the rule “Keywords” under the heading “Other” as follows:

Variable
A variable is a persistently tracked element of gamestate—such as a number, a text string, a null value, or an element from a defined set—which may belong to an entity, such as a player, or may belong to the dynasty or the game itself.

This is my understanding of the term “variable,” as used in the context of Blognomic, and it is heavily influenced by my background in software. But not everyone brings the same assumptions I do to this game. Does this definition align with your own concept of the term? If not, I think we should try shaking out the differences.

Comments

Josh: he/they

23-04-2023 14:25:47 UTC

I don’t think I agree with this definition.

I have since quibbles with the word ‘persistent’, which I think means something different technically va colloquially, but most importantly for me this definition misses an important factor that differentiates a variable from a non-variable: a defined method by which it can be changed. (That element is complex, by the way, as I think that player names are non-variable despite there being a defined method by which they can be changed…)

Taiga: he/him

23-04-2023 14:39:08 UTC

Here’s my understanding of variables in the context of BN (only listing the discrepancies)
- They need not to be persistent. E.g., the W, G and N used in the Build action. Some variables are only meaningful within a scope and every time we enter that scope the value starts from default again (instead of carrying over).
- Currently, reading from the Variables and Numbers rule in the Appendix, the bullet “If a game variable has a default value but no defined starting value…” only recognises numbers, strings, sets and lists as valid variable types.
- I also mostly agree with Josh, in that variables must be able to be changed. However, I don’t think we need a defined way to change it - a variable is just a word or phrase that can change, like “the most recent Engineer who performed an Inspection”. I also take the stance that Player Names are variables for consistency.

Brendan: he/him

23-04-2023 15:46:18 UTC

I think the shared contention from the two of you is interesting, but I’m not sure I agree that a defined method of change is required for a variable! If we write a rule that says “All players have a publicly tracked amount of Health, which is a number defaulting to 0,” and nothing else, is that not then a variable? I’d argue that between “a variable is an element of gamestate” and “The Ruleset and Gamestate can only be altered in manners specified by the Ruleset,” that’s enough to imply variability.

Taiga: he/him

23-04-2023 18:02:02 UTC

So the question still boils down to which of the following are valid variables
- “Building Number”
- “Expertise” (of an Engineer)
- “Name of the Engineer”
- “the most recent Engineer who performed an Inspection” (nothing in the Ruleset specifies how it changes but its name defines its contents)
- “the set of Engineers” (a group of entity with a certain property that a Rule can add to or remove from, is well-defined, but no one knows what it initialised as nor what values it may take (I guess its values are Engineers, but that’s circular definition))
It gets very confusing. The more I think about this the more it confuses me, but I guess that’s what makes this Proposal purposeful: to clarify.

Also, I just wanna quickly mention a new idea too. We could implement a type system so that our variables have well-defined types that can default to what the respective types default to. (New types needs to be defined in Dynastic Rules?)

JonathanDark: Publisher he/him

23-04-2023 19:58:06 UTC

BlogNomic programming language!

Josh: he/they

24-04-2023 07:10:37 UTC

against from me on this as I don’t think we got close to a consensus definition

Taiga: he/him

24-04-2023 08:46:48 UTC

against I’m performing an Inspection.

redtara: they/them

25-04-2023 17:20:41 UTC

against “A variable is [an]... element… which may belong to an entity”. Not sure this clarifies things really.