Friday, August 20, 2021

Declaration of Victory: A chime sounds

Made illegal by the “infraction against any of the prohibitions” rule when I unintentionally tried to enact it at quorum, but an hour early. This made it Unpopular and required it to be failed (and optionally marked as Illegal) once the twelve hours are up, which they now are. Failed by Kevan.

Adminned at 21 Aug 2021 09:47:38 UTC

I have activated a Chime machine, achieving victory in the process.

This followed a very long sequence of actions (I have performed 6596 actions since the Cycle action). A list of the actions that got me into a state where I could Chime is available.

I’ll post more information in the comments, but wanted to get this DoV up.

Comments

Josh: he/they

20-08-2021 21:41:19 UTC

Impressive. How’d you work all this out?

I think it might be a nail in the coffin for idle-clicker style dynasties; anyone who can’t find 6,596-step instawin combinations should probably vote against this kind of ruleset in future.

But I can’t see any problems with it on a superficial scan, so will likely greentick if no-one else pops up with a complaint.

ais523:

20-08-2021 21:41:25 UTC

So as you can probably guess from the number of actions involved, there’s an infinite loop available.

There are two main ideas behind the loop. One is that it’s possible to free up space on the line via buying a Crusher and (because machines are bought Cold) immediately Demolishing the purchased Crusher; this costs 1 Energy, but because you can use Hot Machines to pay for the cost of a Crusher, it lets you get round the limit on activating machines by removing them from your line once they’re already hot. A similar trick can be used with the Compactor to free up Thing space.

The other main idea is that the output of a Harvester scales on the number of Greenhouses you have. With five Greenhouses heated (two producing Wheat, three producing Corn), three Harvester uses generate 6 Wheat and 9 Corn. Adding in a Mill and Baker use therefore generates 6 Bread and 18 Cogs. It costs a total of 2+2+2+1+1 = 8 Cogs to purchase the three Harvesters, a Mill, and a Baker, another 8 Cogs to use them, and 5 Energy to clear them each from your line after using them. So each loop iteration costs 16 Cogs and 5 Energy to perform, but generates 18 Cogs and 6 Energy, a net gain.

Once I could produce arbitrary amounts of Cogs and Energy, it’s fairly simple to win from there. (We do have 10 Things available in the current ruleset: three Seeds, their corresponding three Crops, the three “refined” Things Flour, Bread, and Sugarcube, and Paper. Getting all these at once isn’t quite trivial because of how the Mill and Baker work, but it’s possible and the sequence is listed in my link above.)

I initially worked out the ideas behind this plan by hand. However, because it’s such a complicated sequence of actions, I was worried that it might contain a mistake and/or be hard for others to check that there were no mistakes. So I wrote a Perl program that verifies that the actions have been done correctly, calculating the number of Cogs, Energy, Machine space, etc., at each stage. It also produced the nicely formatted table linked in the DoV itself. If you’re a programmer, it’ll probably be easier to check the program for mistakes than it will be to check the individual actions.

ais523:

20-08-2021 21:46:50 UTC

@Josh: it took a very long time, I’ve probably spent 12-20 hours (not all at once) dedicated to trying to figure out the infinite loop here, with pages and pages of personal notes. It’s a good thing the pace of the dynasty was slowed down – some cycles, 36 hours wouldn’t have been enough to work out my actions before I performed them.

I’d figured out this particular loop late last week, but it took me some time to work out what sequence of actions could get there as quickly as possible (I was hoping to do this last Cycle, but it didn’t seem to be possible – a very large stack of Bread is the most realistic way to start the loop off as you have to heat a lot of Greenhouses, and it takes time to build one of those).

Incidentally, there’s been some sort of infinite loop available at every point this dynasty since “More Machines” passed. Most of my proposals were designed to make the infinite loops more difficult to a) find and b) reach the gamestate in which you could execute them – this is because I was terrified that once there was a victory condition, someone else would exploit one of the loops before I could. I may have overdone it a bit, though :-)

Josh: he/they

20-08-2021 21:52:34 UTC

Okay, having been over the 350 or so substantive steps, I can’t see an error.

I’m genuinely so impressed with this.

Reserving the right to change this if a serious challenge emerges…  for

Lulu: she/her

20-08-2021 21:55:42 UTC

for nice infinite you got there

Vovix: he/him

20-08-2021 22:00:45 UTC

for And here I thought I was clever with my Boxing Widget Axe.

Clucky: he/him

20-08-2021 22:14:39 UTC

“I wrote a program and you either have to understand programing or just trust me its all okay” feels like a rather bad precedent for the game

against

ais523:

20-08-2021 22:23:57 UTC

@Clucky: do you think I haven’t achieved victory?

I think this approach – working out the actions by hand, but using a program to double-check and explain them more clearly than a long series of wiki edits would – is preferable to working out the actions by hand, not double-checking them, and doing them one at a time (which would take hours and spam up the wiki).

The list of actions is within the scope of what can be reasonably checked by hand (I did, and Josh did). Still, even if it had been even more complex, I think disallowing it would be a bad precedent for the game; it would basically imply “you can’t perform series of actions that are too long/complex to reasonably check”, which isn’t a hard cut-off, and where would we draw the line?

Clucky: he/him

20-08-2021 22:26:41 UTC

I don’t have time to validate a computer program works, and do not trust you to not have made any mistakes/be trying to get one over given your past behavior. better safe than sorry

Clucky: he/him

20-08-2021 22:29:27 UTC

even a rough glance shows places where you attempted to buy a 7th machine because you were spending a machine as part of the cost. Which seems arguably dubious. feels very possible that there are other possible rule oversights that you either just missed, or you’re hoping other miss, given no else cares enough to spend 20 hours on something like this

Vovix: he/him

20-08-2021 22:32:24 UTC

The program was just his way of validating the sequence. If the sequence is legit, I don’t see how a perl script being involved changes anything.

Clucky: he/him

20-08-2021 22:35:50 UTC

right. but you shouldn’t need to understand how to run a program or manually validate 6000 steps someone else made any one of which could have a subtle error in it to play the game

Vovix: he/him

20-08-2021 22:41:06 UTC

Ok, but if he’d done it all manually, would it be any better? Are you just saying that complex multi-step plays like this shouldn’t be allowed at all?

Clucky: he/him

20-08-2021 22:42:31 UTC

its on him to prove he won, not on me to prove he didn’t

I don’t buy a list of 6000 actions being like “go find any errors I made” as acceptable proof

Madrid:

20-08-2021 22:50:55 UTC

I havent properly checked anything yet but I suspect Ais’ actions were right.

But Clucky has a point here. If I suddenly Admin-failed Ais’ DoV here and posted my own DoV and didn’t give enough of an explanation why such a scam would work, I’d expect to be redcrossed.

Still. Its… a big task to fully prove so many actions. So I’d be lenient and greencross, personally.

ais523:

20-08-2021 22:51:47 UTC

I think this argument comes back to the social expectation of “what are the core rules for?”

The core rules require me, when posting a DoV, to believe that I have won (which I do). They don’t require me to prove that I’ve won – nonetheless, I think it’s courteous for me to set out the evidence I have that I have in fact won (and I hope that the evidence, including a table of actions and the computer program I used to check it, is sufficiently comprehensive to convince a quorum of players that I’ve won).

The core rules don’t require DoV voters to believe that a victory has failed before voting against it, or believe that it was successful before voting for it. So Clucky’s position of “I think this is too difficult to check, so I’m voting against” is compatible with the rules.

I think it might be helpful to have guidelines about what the social expectations for voting on a DoV were, though (normally, if I’m unsure of whether victory is achieved, I hold off on voting until other players convince me one way or the other, but I don’t know whether that’s a universal treatment of DoVs). But that’s a matter for another discussion.

Vovix: he/him

20-08-2021 22:54:57 UTC

What would be acceptable proof, then? It’s a win that took 6000 actions, all he can do is post a list of what they are and what the effect were. Like, there’s no way around it, if you want to confirm that all 6000 are legit, you need to go through them and verify that each is legit, or take someone else’s word for it. Again, unless you want to explicitly disallow game actions that take too long to verify.

Madrid:

20-08-2021 22:57:28 UTC

In the big scheme of things Clucky’s redcross might not end up changing the result but its a good point to consider imo

Clucky: he/him

20-08-2021 23:00:48 UTC

@cuddlebeam if you failed this DoV before it could properly be failed, and such action would be met with a CfJ.

@vovix He could have explain how all the parts actually worked instead of giving an explanation that on cursory glance of “With five Greenhouses heated (two producing Wheat, three producing Corn), three Harvester uses generate 6 Wheat and 9 Corn. Adding in a Mill and Baker use therefore generates 6 Bread and 18 Cogs” requires 10 whole machines and then has further parts that are completely brushed over.

Vovix: he/him

20-08-2021 23:04:55 UTC

Which is why he also linked a step-by-step breakdown of every action involved.

Clucky: he/him

20-08-2021 23:06:53 UTC

where? all I see is pargraph that kinda describes things but glosses over a lot of stuff, a giant list of actions, and then a obscure programing language script

ais523:

20-08-2021 23:21:07 UTC

I think it’s reasonable to ask me to fill in details, or to reword to make things clearer. So I’m going to do that here.

For the big loop, the five Greenhouses are there all the time – the sixth slot switches between Machines (I install a Machine there, activate it, and then use it to pay for the cost of installing a Crusher, then demolishing the Crusher). The install/activate/install Crusher/demolish cycle costs me twice the cost of the Machine (as I have to both install and activate it), plus 1 Energy (the cost of a Crusher). Costs are paid before the action takes place (“Numbers and Variables” in the appendix: “If a Dynastic Action is defined as having a cost X of numeric value V, or defines a requirement to spend, pay, or lose X of numeric value V to accomplish an effect or multiple effects, then the arithmetic effects of spending or payment and the act of carrying out those effects are considered to be subsequent steps in an Atomic Action, with the spending or payment step taking place before the effects step unless stated otherwise.”), so at no point does the line have more than six Machines.

In order to reach the big loop, I used a large stack of Bread (generated on previous cycles) to generate a lot of energy. I used four of that Energy to purchase a third Greenhouse and heat all three of my Greenhouses – that put me into a state similar to the state similar to that of the big loop, but with fewer Corn Greenhouses. I then did a sequence of actions similar to a loop step in order to generate a lot of Bread, but because I had fewer than three Corn Greenhouses (initially one – I bought a second once I had a Seed to buy it with), I was losing Cogs during this rather than gaining them (and I also used a Cooling Widget at a couple of points, rather than an additional Harvester, to save 1 Energy). Nonetheless, I had enough starting Cogs to avoid running out before the sequence was complete. Once I had the second stack of Bread, one more harvest (for Wheat and seeds) gave me the resources I needed to set up the fifth Greenhouse and complete the loop.

After the big loop, I can generate as much Energy and Cogs as I want. Winning from there is pretty academic (given that a Hot Machine can be removed from the line by spending 1 Energy), and could be done any number of ways – the method I chose was to generate a supply of 5-boxes with a Press and a supply of 10-boxes with a Harvester+Compactor (each time, deleting the machines involved from my line soon after using them to free up space), but almost anything would work. The 10-boxes (or 5-boxes if a 10-box isn’t required) got me as far as 10 Prototypes; I Glue Gunned one of each together to produce a 15-box that paid for the 11th Prototype. I generally bought the Prototypers in advance of using them (as long as there would be suffiicent space to do so), giving them Cooling Widgets, because they were cheaper to buy earlier in the sequence (this technique wasn’t required to win, but helped to make the list of actions shorter and thus easier to check).

To reach a set of 10 Things, the basic idea is to generate the Bread and Sugarcube first, then the Flour, then the six basic Crops and Seeds; doing it in this order prevents your Baker from overwriting your Flour, or your Sugarcuber overwriting your Sugar. That’s 9 Things, with a Printer giving the 10th. Unwanted Things can be deleted by using them to pay for a Compactor, then demolishing it. With unlimited machine uses, this isn’t difficult to set up (I was using a set of three Greenhouses at this point, one for each Crop, so a Harvester activation would give the six basic Crops and Seeds) – anyone who’s interested in the details can check the relevant part of the list of actions.

Winning involved creating 10-Thing sets three times (once to buy the Tech, once to buy the Chime, and once to use it). I did this the same way all three times.

Clucky: he/him

21-08-2021 00:10:28 UTC

alright. seems to make enough sense for

Darknight: he/him

21-08-2021 00:15:00 UTC

for

Trapdoorspyder: he/him

21-08-2021 00:51:42 UTC

for

Bucky:

21-08-2021 01:21:26 UTC

for

Bucky:

21-08-2021 01:22:53 UTC

Wait a sec, CoV against because Tracking Conflict is still pending and the heat markers caused your Greenhouses to not have recorded seed types next to their names.

ais523:

21-08-2021 01:29:32 UTC

@Bucky: the recorded seed type doesn’t actually do anything, it’s just a reminder (the Harvester looks at “the seed last used to activate it”, not at the parenthetical text).

Bucky:

21-08-2021 01:29:49 UTC

CoV for  again as Harvester ignores the recorded seed type anyway and produces from the seed type actually used.

ais523:

21-08-2021 01:31:07 UTC

(Also, I still don’t think that’s an actual bug.)

Bucky:

21-08-2021 01:31:23 UTC

Was I correct in my analysis that the purpose of “Let me paint you a portrait” was to make it simpler to turn a resource surplus into 10 uniquely named Things?

ais523:

21-08-2021 01:40:54 UTC

Yes; however, although the proposal made it simpler to do that, I didn’t actually want to do that. The secondary purpose of the proposal was to make it look like I wanted/needed an easy way to produce uniquely named Things, when in fact I had a way to do that already – the hope is that it would get voted down due to looking like a scam, indirectly discouraging other people from proposing new Things, and thus making it much harder for anyone else to win before I could (because under the present ruleset, you needed a heavy farming strategy to get enough uniquely named Things, and I was the only player left investing in Greenhouses). Kevan had been proposing a number of new Things recently, and it got me worried that he might be up to something – I decided that if I looked like I was up to the same thing, everyone else would be more motivated to shut it down.

The main purpose of the proposal, though, is that I wanted to write something that would time out, thus reducing the risk that a proposal to fix the “buy a Machine and immediately demolish it” interaction (or, less likely, anything else I planned to use) could pass before the next cycle would happen and I would win. In retrospect, the proposal was probably a little too suspicious to do its job properly (although it did manage to survive becoming antiquorumed for 24 hours, which was enough).

Trapdoorspyder: he/him

21-08-2021 02:24:57 UTC

Note to self: ais is probably a good ally in the future

Janet: she/her

21-08-2021 02:52:31 UTC

for

lemon: she/her

21-08-2021 02:55:42 UTC

for wowie zowie, what a sequence!! i def agree w/ josh’s first comment– as someone who doesn’t like charting optimal game-breaking sequences of thousands of moves, i spose i should oppose rulesets too similar to this one in the future. but as a witness 2 these events i’m tremendously impressed, so i’m not too upset :U

Kevan: City he/him

21-08-2021 07:51:16 UTC

for Good one.

I wasn’t up to anything with the new Thing proposals, I just thought I’d better keep cranking them out so that when I actually needed to propose something it wouldn’t be so obvious.

Kevan: City he/him

21-08-2021 08:11:25 UTC

Note to admins that this DoV “may no longer have any effect on the ruleset or the gamestate” because I made the genuine mistake of trying to enact it an hour early, triggering the “infraction against any of the prohibitions” clause that doesn’t allow that kind of mistake to be reverted. (I reverted it before remembering that.)

Apologies.