Here’s the situation:
116 cards, a “market” of 12 cards dealt from a deck into 2 rows of 6 columns (U0 to U5 in the top row and L0 to L5 in the bottom). Players can take a maximum of 2 cards in a turn, adding “money” tokens to the market when they do. U0 and L0 might be discarded on cleanup.
Then, the refresh button shifts all cards and money on cards towards 0 as far as they will go, and deals new cards into empty spaces (U0 L0 U1 L1 etc).
At first this refresh was very very slow, but I found a way to speed it up. The problem is that doing so seems to have made saving games and writing logfiles really slow (like, 60 seconds slow).
So, I’ll describe how I did it, and hopefully someone can point me to a way to resolve both problems - slow refresh AND slow logfile writing.
Mk 1 (slow refresh, OK logfiles)
Global properties U0 to L5.
Reset all to 0
GKC to cards in market to set matching GP to 1
GKC to cards&money in market to “move”
Triggers on cards&money to move only if adjacent GP is 0.
Repeat 4 more times.
Reset GPs to 0
GKC to cards in market to set matching GP to 1
Add new cards.
MK2 (fast enough refresh, slow logfiles)
Global properties U0 to L5.
Reset all to 0
GKC to cards in market to set matching GP to 1
GKC to cards&money in market to “move”
90 Triggers on cards&money to move based on all possible GP 0/1 combinations.
Reset GPs to 0
GKC to cards in market to set matching GP to 1
Add new cards.
MK3?
Maybe shift all move triggers off cards and money to an invisible control piece, have it send out two sets of up to 10 conditional targeted move GKCs to cards & money?
I’m finding this frustrating because I have little idea what will be fast or slow, and even less idea what impacts logfile write times, and each rewrite is very time-consuming.
Can anyone point me in the right direction?