Brilliant Idea

Started by Flash1225, September 04, 2016, 12:37:03 PM

Previous topic - Next topic

Flash1225

once
:awake
OperateWhilePaused(TRUE)
EnableAlternateControlMode(FALSE)
endonce
1 0 do
IsPaused if
EnableAlternateControlMode(FALSE)
else
EnableAlternateControlMode(TRUE)
899 Delay
PauseGame
endif
loop

No, the name of this thread isn't intended to be click-bait. Also, the above script I will let you mess around with to try and figure out a way to make it work, I couldn't. Regardless, this script idea is interesting, and I came up with it at a FOOTBALL game (I'm American...). So the idea is that the map looks completely normal at first. Then, when you unpause, your HUD gets chopped in half. You then have to wait 30 seconds to be able to do anything again, when the game auto-pauses. The idea is that you can only queue unit construction and movements during an auto-pause, and I began to consider the strategic challenges this presents, then how people could manage with this (sounds like the Sleeper, eh?). That's really all. Good luck to the aspiring/expert coders deciding to take this challenge on, though!
Considering how many turns my life has taken (good and bad), I'm still fairly neutral to it all. I take the hits, I don't react overly.

GoodMorning

#1
I forsee ... Pain. And anger. Followed by denial.


This sounds like a good idea only if you reduce the time interval, and flag it as "chess", and make a complex puzzle.

Now, with deep reservations, here is some working code:


$MoveTime:300 #10sec between moves

once
1 OperateWhilePaused
0 EnableAlternateControlMode
endonce

IsPaused not if
<-Ticker if
<-Ticker 1 sub ->Ticker
<-Ticker not if
0 EnableAlternateControlMode
PauseGame
Endif
Else
<-MoveTime ->Ticker
1 EnableAlternateControlMode
Endif
Endif

(Using a ticker variable prevents the Cores with OperateWhilePaused from running through a Delay while apused, and the same with timers.)

I would recommend adding a visible timer, and explicit warning. It could be interesting, but this method allows manual pausing too, without alternate control mode being activated. As an added challenge, add a reversed form of Builder17's "blackout while paused" script, essentially encouraging a "fire and forget" strategy, until the next move.

Please DO NOT attach this script to a normal map. Frustration and no fun will ensue. Specialised maps only, I think.

And, for completeness, feedback on why the original is broken (not the possible exploit/s, just the uncompilables/redundancies):

:awake is a function definition, not a call. It defines everything from there to end-of-file or to the next function definition as a function body. the :awake should be defining the "awake" function after the rest of the code. Where you currently have :awake, use @awake to call this function.

Drop the 1 0 do ... loop, it does nothing useful, as it will always run the contained code exactly once.
A narrative is a lightly-marked path to another reality.

Flash1225

...Oi, you sure know how to rain on one's parade! I do see what you're saying about it being frustrating, and with the extra issue of manual play-ability. Also, where on the forum can you find this black-out script? I searched for it, and some things that pulled up included a couple of CW1 maps along with a random Random Discussions post, and nothing gave me the script...
Considering how many turns my life has taken (good and bad), I'm still fairly neutral to it all. I take the hits, I don't react overly.

GoodMorning

It took me three searches, and I knew what I was after:
This is the actual script, used in Builder17's Tri-world Multitasking map a while ago.

I'm not objecting, but it does sound like a way to unintentionally annoy people. Flagging it as turn-based (effectively) could be good.
Also, disabling Terps is a good plan, as they can be commanded even in AlternateControlMode (which allows the Terp assist in PaC maps).
A narrative is a lightly-marked path to another reality.

Flash1225

Okay, got it. Thanks for the tips! I'll probably do a "demo" map at some point, and it definitely will be a Nanomap, because as you said,
Quote...it does sound like a way to unintentionally annoy people.
Kinda see the feedback and general opinion on the idea.
Considering how many turns my life has taken (good and bad), I'm still fairly neutral to it all. I take the hits, I don't react overly.