Page 1 of 1

Transition Queue

PostPosted: Wed Apr 06, 2011 12:13 pm
by rt
Good ideas here, this is an interesting thread. Further to ttk's thought of revisiting how the morph queues function it seems that a new type of queue might be useful to help laggy players.
We already support:
1) Auto Queue
2) Future Queue
3) Directional Queue

#1 is very intuitive, but #2 and #3 require a hotkey. To solve the the Gulper to Gulper scenario Simon outlined we could add 4) Transition Queue. A morph in the Transition Queue would execute when the morph state of the clone changes and when the target morph can be performed. For example:
- Clone is Gulping, Transition Queue a Spin Morph. As soon as the clone is no longer Gulping and is capable of Spinning it will. (i.e. changes into a walker)
- Clone is Clobbing, Transition Queue a Clob Morph. The clone will Clob again the next time it becomes a walker.
- Clone is Molding, Transition Queue Mold Morph. When the clone runs out of bricks it will become a walker and Mold again.
- Clone is Doppeled, Transition Queue Nova Morph. If the clone is freed then it will explode.

Should this be an automatic TQ (where possible), or would it be better to introduce another hotkey to allow the player to specifically place morphs in the TQ? Is the TQ too powerful? Or not useful enough to implement?

Re: Transistion queue

PostPosted: Thu Apr 07, 2011 8:39 am
by Simon
This is interesting, but two points first:
  • This alone won't remedy the lag unfairness in a game.
  • Thus, it's rather off-topic, and should be moved into a fresh or existing topic about queues.
The ability to queue builder on builder is good, I remember proposing it at some time. You may consider queuing any number of builder assignments on a builder.

This is a natural choice for hotkey-less queuing, unless you have the following in a singleplayer level: You wish to build a number of bricks that isn't divisible by 13, and either can't assign walker, or are going for a highscore. In this case, you must consider either making a hotkey for the rather intuitive (!) builder queuing, or do something about existing/future highscores. Maybe you don't have to do anything, in case no level requires (>= 1 whole + a partial) staircases.

Queuing continuous terrain remover on itself is a bit more tricky. One almost never wants to do that. Maybe the 2nd terrain remover should remain in the queue until it actually removes terrain.

Queuing digger on digger is something I wish I could do sometimes, and I feel it natural enough so that it can be queuable without a hotkey.

In any case, assigning walker should cancel the queue, and only terminate the current skill when the queue is empty.

Also, be aware not to (further >_>;) overcomplicate the interface. Consider how a newb plays, don't let him trigger features he doesn't want by accident. There was a person who wished for the option to disable builder queuing in Lix, although he didn't play multiplayer.

-- Simon

Re: Lag!

PostPosted: Thu Apr 07, 2011 12:14 pm
by rt
Simon wrote:This is a natural choice for hotkey-less queuing, unless you have the following in a singleplayer level: You wish to build a number of bricks that isn't divisible by 13, and either can't assign walker


This happens in at least two levels, "Crash" for Beatall, and Octopals "Sewer" battle, although the Walk morph is available but not intended to be used for the Mold. Ideally we don't want to change existing gameplay.

Queuing digger on digger is something I wish I could do sometimes, and I feel it natural enough so that it can be queuable without a hotkey.


I've also had times when i wanted to do that, i would have to wait until the clone is falling and queue up the second drill. An automatic TQ would be good for this case, but by making the TQ automatic it removes the posibility to queue an action that you'd normally be able to do right away, such as Mold while Gulping (out of a flat wall), Spin while Drilling (save your sabotage clone), Atomize while Molding (repair sabotage), Nova while Spinning (perfect spin explode attack), etc. Is it worth adding a new hotkey to gain these previously impossible abilities? It's very much like command queuing in Star Craft, after the unit has finished it's current action it will do the next. I think that's SHIFT in SC, we could use that key but would have to remap "Hide Own Team" which i don't think is used very much anyways right now.

In any case, assigning walker should cancel the queue, and only terminate the current skill when the queue is empty.


Yes i think that's best. Even is the queue was a mistake it's easy enough to hit Walk twice.

Also, be aware not to (further >_>;) overcomplicate the interface. Consider how a newb plays, don't let him trigger features he doesn't want by accident.


Adding a TQ hotkey is one way to prevent accidental morph queueing. Or adding a player profile option to enable "Auto TQ".

Re: Transition Queue

PostPosted: Fri Apr 08, 2011 12:26 pm
by rt
This feature is being tested now. First impression is that it frees you up from waiting for a clone to get a certain spot and allows better planning. Some examples:
- TQ Clob to a walking clone to have it clob through the next wall it bumps into.
- TQ Gulp to a Molding clone to have it gulp through the wall when it hits it.
- TQ Mold to a Clobbing clone to have it build once it breaks through the wall.
- TQ Doppel on a clone walking up a bridge to have it Doppel when it lands from the fall.

To activate the TQ currently you must hold LSHIFT (bindable) when issuing the morph. This feels good as it's just typing an uppercase letter, the pinky can easily find the large shift key. For players with high ping this should help eliminate some of the timing required to perform a sequence.

Transition Queue in 1.30

PostPosted: Thu May 12, 2011 11:42 am
by rt
For existing players to enable the Transition Queue you will have to bind "Hide Own Team" to another key as LSHIFT is now the default for the TQ. The new default for Hide Own Team is LALT.

It's very useful during multiplayer, i suggest trying it out. See the previous posts for good examples of how to use it during play.