Monday, August 15, 2022

Proposal: The Bots Attain Sentience

Timed out and enacted, 5-1. Josh

Adminned at 17 Aug 2022 08:34:27 UTC

If Proposal: Needs Less Halting Problem was enacted, revert its changes.

Add a new System to the list in the rule Systems:

| Advanced Logic Module || ₩4,500 || 290 || Passive: Enables all Advanced Triggers and Reactions in the rule Botscript.

In the rule BotScript, add the following to the bulleted list immediately after the sentence ‘All otherwise-legal Reactions are Resolvable, except if that Reaction’:

Triggers and Reactions marked Advanced may only be Resolvable if the Actor is permitted to use them by a System Effect or other ruleset-defined mechanism.

In the same rule, after “Combined triggers are accompanied by a single Reaction as normal”, add:

Combinable Reactions may be combined with one other other Reaction in the same manner as Triggers; however, a Combinable Reaction must be the first in the combined Reaction.

Add the following to the list of triggers:

* Advanced: “If the value of Token X is [greater than / less than / equal to] Y”, where X is any string of one five characters in length and Y is any integer
* Advanced: “If [the Actor’s / Y’s] [chassis / engine / exposed System] has a Condition that is [greater than / less than / equal to] X”, where x is any positive percentage value and Y is the name of a single Opponent that is a current participant in the same Bout as the Actor
* Advanced: “If line #X of this script was the trigger that took effect in the Actor’s most recent round preceding this one”, where X is an integer between 1 and 10
* Advanced: “If on the Opponent’s last turn they uses system X” where X is the name of any System

Add the following to the list of reactions:

* Advanced, Combinable: “...[increase / decrease] Token X by Y”, where X is any string of one five characters in length and Y is any integer
* Advanced: “... then move X times towards opponent Y”, where X is a positive integer and Y is the name of a single Opponent that is a current participant in the same Bout as the Actor

Add the following as a new subrule to the rule BotScript, called Tokens:

Some BotScript Triggers or Reactions may refer to Tokens being tracked or modified. Tokens only exist relative to the BotScript that created them; the Announcer may distinguish between Tokens of the same name generated by different scripts as they please. A Token is created for a BotScript whenever its value is modified by a Reaction in that script, if that token does not already exist for that script; each Token may only hold numeric values, defaults to a value of zero, has its value privately tracked by the Announcer, and is reset to zero and then destroyed at the end of the Bout in which is was created.

My attempt at bringing together Habanero’s ideas with SB’s suggestion that they carry a cost: in this case, money, power and a hardpoint.

Comments

SingularByte: he/him

15-08-2022 08:49:07 UTC

This might be swinging too far in the other direction now. You could half or even quarter the money and power cost and I’d vote in favour.
Also, I’m struggling to parse “If Trigger #X if this script was the trigger than fired last round”

Josh: he/they

15-08-2022 09:04:44 UTC

Thanks. Have reduced the cost and consumption requirements, and have corrected typos.

SingularByte: he/him

15-08-2022 09:24:38 UTC

Looks good now, but I have one final query - can bots modify each other’s tokens if they get unlucky and pick the same token name?

Josh: he/they

15-08-2022 09:27:43 UTC

Yep, I guess they can. The odds of that seem to be vanishingly remote, though, short of collaboration. No idea how to word it to prevent that from happening, though, so will happily see an amendment if needed.

SingularByte: he/him

15-08-2022 09:35:32 UTC

“Some BotScript Triggers or Reactions may refer to Tokens being tracked or modified. A Token is created for that BotScript whenever its value is modified by a Reaction in that script if that token does not already exist for that script; each Token may only hold numeric values, defaults to a value of zero, has its value privately tracked by the Announcer, and is reset to zero and then destroyed at the end of the Bout in which is was created. Whenever a BotScript refers to a token, it specifically refers to the Token belonging to that BotScript, irrespective of whether any other identically named Tokens exist.”

Incidentally, as currently worded, each time you set a token you duplicate it since it doesn’t check if it already exists or not.

Josh: he/they

15-08-2022 09:41:27 UTC

Thanks; have reworded a little and included.

Brendan: he/him

15-08-2022 15:00:19 UTC

against I respect it but I don’t want to have to think about countering it.

Trapdoorspyder: he/him

15-08-2022 15:19:42 UTC

for

SingularByte: he/him

15-08-2022 17:37:36 UTC

for

Habanero:

15-08-2022 18:46:42 UTC

for

Darknight: he/him

16-08-2022 11:37:15 UTC

imperial