Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Playing Starcraft by voice

45 views
Skip to first unread message

John Doe

unread,
Jul 21, 2011, 9:32:27 PM7/21/11
to
I will use this one thread for a while.
Probably mostly scripts as they are made.

This script can be used for bringing idle workers to a new command
center mineral deposit, and probably many other things. Speaking
"work" will call one idle worker to the current pointer location.
Speaking "work" and a number suffix, like "work 4" will pull four
idle workers to the current pointer location.

"work[<n>]":#idle worker(s), to point, now
Key("shift:up")+
Key("c-f2")+#save location
Key("f1")+
Key("c-7")+#make group
(
Key("s-7")+#add to group
Key("f1")
)
*Repeat(extra="n")+
Key("7")+#select group
Key("f2")+#recall location
Mouse("right")+
PlaySound(r"C:\Program Files\VoiceWorks\boop.wav"),

John Doe

unread,
Jul 21, 2011, 9:37:35 PM7/21/11
to
> Key("shift:up")+

For Supreme Commander 2, holding the shift key at the end of almost
every script was very useful. Therefore, every script started with a
shift up command in order to release shift. I suspect holding shift
at the end of building placement commands will be useful. If not,
there will be no need for a shift up command at the start of every
script.

Steve Kaye

unread,
Jul 22, 2011, 4:14:35 AM7/22/11
to
On 22 Jul 2011 01:32:27 GMT, John Doe <jd...@usenetlove.invalid> wrote:

>I will use this one thread for a while.
>Probably mostly scripts as they are made.

What voice software are you using and what scripting software? (this
info will be useful if anyone finds this thread whilst looking how to
play sc2 by voice)

steve.kaye

John Doe

unread,
Jul 22, 2011, 6:32:41 AM7/22/11
to
Steve Kaye <nospam giddy-kippers.co.uk> wrote:

> What voice software are you using and what scripting software?

Dragon Naturally Speaking (DNS) with an open-source Python program
called Dragonfly.

http://code.google.com/p/dragonfly/

Just about any version of Naturally Speaking is compatible, I am
using version 10 standard.

Dragonfly is a bear to install, so you must be very skilled and
very determined to make it work. I do some basic programming as a
hobby and have my own ultra-simple Dragonfly script recorder. You
have to speak clearly, but recognition of 100 commands for
real-time strategy (RTS) is easy compared to 50,000 words for
general dictation (like for writing a UseNet post). Some extra CPU
power is required, too, and a decent USB microphone. My microphone
is the only wired input device here, and it's a necessity while
using the PC.

There are some experts to help with Dragonfly (and DNS) here.

http://www.speechcomputing.com/forum/93

John Doe

unread,
Jul 24, 2011, 2:39:09 AM7/24/11
to
Supreme Commander 2 IMO clearly has a better interface overall,
but Starcraft 2 has at least two useful differences... The ability
to save and recall views. Selecting multiple units does not
disable building commands. The latter helps with scripting by
allowing selecting units with click and drag (like when trying to
programmatically select a single working unit might be difficult),
and then building something.

Steve Kaye

unread,
Jul 25, 2011, 4:00:51 AM7/25/11
to

Yes, that is useful. You can even group different unit types together
and use tab to cycle between them to get to their actions.

I used to use group 2 for barracks, group 3 for factory and group 4
for starport. That meant that my combat units only started at group 5
which was a bit of a pain to reach.

Now I have them all on 2 and my combat unit groups start at 3 (1 is
command centres). Now I can use just use one hot key with tab to get
to all my production units to create more combat units. Much simpler,
easier to remember and easier to reach on my keyboard.

steve.kaye

John Doe

unread,
Jul 27, 2011, 3:57:50 PM7/27/11
to
"work[<n>]":#use and corral idle worker(s)
Key("c-f2")+#save location
Key("f1")+#select idle worker

Key("c-7")+#make group
(
Key("s-7")+#add to group
Key("f1")#select idle worker

)
*Repeat(extra="n")+
Key("7")+#select group
Key("f2")+#recall location
Mouse("right")+#bring workers
Key("s-1")+#add to worker group

PlaySound(r"C:\Program Files\VoiceWorks\boop.wav"),

Adding the "add to worker group" command will help keep workers
corralled in the worker group 1. An occasional "double click on a
worker and add to the worker group" might be useful too. That
eliminates the need for any complex prefix like the prior mentioned
"worker" macro. I will plan to use a simple single line for selecting
the worker group as a prefix for building stuff.

Key("1")+#select worker group

I'm sure the benefit of that line is familiar territory.

John Doe

unread,
Aug 2, 2011, 12:08:11 AM8/2/11
to
Steve Kaye <nospam giddy-kippers.co.uk> wrote:

> You can even group different unit types together and use tab to
> cycle between them to get to their actions.

I know that's good for manual stuff, but I do not know how that
will be useful here. Accessing different unit types in the same
group programmatically requires checking to make sure all of the
unit types are present. Because pressing tab might get to a
different unit type if one of the unit types in that group has
been destroyed. Using groups is similar, but at least I can just
glance at the group list.

> I used to use group 2 for barracks, group 3 for factory and
> group 4 for starport.

I will probably use all of the group shortcut keys.

> That meant that my combat units only started at group 5 which
> was a bit of a pain to reach.

Doing stuff by voice eliminates that problem. And there is very
little reason to reassign shortcut keys.

> Now I have them all on 2 and my combat unit groups start at 3 (1
> is command centres).

How many groups do the best players use?

I hear that players continuously produce workers (like WarCraft 2
I guess). I noticed that a Planetary Fortress will not produce
workers if it is grouped and selected with Orbital Commands, it
has to be selected individually.

Is there any Terran defense against Zerg besides walling off the
entrance?

I'll probably use a lot of saved views, including one for the
starting position. Apparently pressing backspace does not
guarantee returning to the starting position if there is more than
one command center.
--

Steve Kaye

unread,
Aug 2, 2011, 7:18:43 AM8/2/11
to
On 02 Aug 2011 04:08:11 GMT, John Doe <jd...@usenetlove.invalid> wrote:

>Steve Kaye <nospam giddy-kippers.co.uk> wrote:
>
>> You can even group different unit types together and use tab to
>> cycle between them to get to their actions.
>
>I know that's good for manual stuff, but I do not know how that
>will be useful here. Accessing different unit types in the same
>group programmatically requires checking to make sure all of the
>unit types are present. Because pressing tab might get to a
>different unit type if one of the unit types in that group has
>been destroyed. Using groups is similar, but at least I can just
>glance at the group list.
>
>> I used to use group 2 for barracks, group 3 for factory and
>> group 4 for starport.
>
>I will probably use all of the group shortcut keys.
>
>> That meant that my combat units only started at group 5 which
>> was a bit of a pain to reach.
>
>Doing stuff by voice eliminates that problem. And there is very
>little reason to reassign shortcut keys.

Yeah, I can see how voice macros would make grouping production units
together more difficult. The only way that it would work would be if
you always produced at least one of each type of production unit. That
would be too restrictive and wouldn't work in the early game unless
you built them in the exact same order each time making it an even
worse idea.

Luckily, as you say, you don't have a problem reaching across the
other end of the keyboard with your voice.


>> Now I have them all on 2 and my combat unit groups start at 3 (1
>> is command centres).
>
>How many groups do the best players use?

I don't know as I've only even played about half a dozen multi-player
games.

It's a good idea though - I might download some replays so that I can
see how they group their units. It's not easy to see on YouTube and I
think that they might even be the caster's shortcuts depending upon
the view that they choose.


>I hear that players continuously produce workers (like WarCraft 2
>I guess). I noticed that a Planetary Fortress will not produce
>workers if it is grouped and selected with Orbital Commands, it
>has to be selected individually.

I don't know about that. I mainly play Protoss.


>Is there any Terran defense against Zerg besides walling off the
>entrance?

I think that it's the accepted strategy. It certainly is for Protoss.
They aim to leave a gap which is one zealot wide to defend it as they
don't have the great Terran ability to raise and drop supply bunkers
or to fly the other buildings.

steve.kaye

John Doe

unread,
Aug 2, 2011, 2:00:35 PM8/2/11
to
http://us.battle.net/sc2/en/search?q=Protoss+%22control+groups%22

That seems to have worked for Terran.
Practice will tell.

John Doe

unread,
Aug 2, 2011, 3:33:50 PM8/2/11
to
http://www.ghoztcraft.net/forums/index.php

Conceivably, there might be some good example macros there.

Steve Kaye

unread,
Aug 3, 2011, 3:27:18 AM8/3/11
to

It seems like I'm on the right lines.

I generally put zealots, stalkers, sentries and immortals in one
control group, air in another group and special units (Colossi and
Dark and High Templars) in their own groups.

A lot of others like to put their stalkers in a control group of their
own so I might start doing that. It makes sense as it allows for
easier blink micro. It doesn't matter that sentries are in a group
with zealots and immortals as they are the first group selected so you
don't have to use tab to get access to their shield and force field.

Nobody seemed to say what they do if they split their forces up. If I
was doing a two pronged attack I'd probably lump everything in the
second prong into one control group.

I also looked at a replay of KiWiKaKi, who is a Masters level Protoss
player, and he didn't seem to do anything different so I guess that's
what I'll do.

steve.kaye

John Doe

unread,
Aug 5, 2011, 6:05:11 PM8/5/11
to
Steve Kaye <nospam giddy-kippers.co.uk> wrote:

> You can even group different unit types together
> and use tab to cycle between them to get to their actions.

That can be used programmatically, as long as the units/structures
in the group are limited in number and they all use different
hotkeys. For example... Combine barracks with factories. To make
siege tanks.

"siege[<n>]":#produce siege tanks
Key("3/1")+#barracks and factories
(
Key("s/1")
)
*Repeat(extra="n")+
Key("tab/1")+
(
Key("s/1")
)
*Repeat(extra="n")+


PlaySound(r"C:\Program Files\VoiceWorks\boop.wav"),

It ain't pretty, but it might work.

Steve Kaye

unread,
Aug 8, 2011, 4:50:36 AM8/8/11
to

It doesn't look right to me but then I don't know that scripting
language.

It looks like saying "siege four" will press 3 once then S four times
followed by tab once and S four times.

You need to press 3 once, then tab once, then the two key presses
required to create a siege tank* four times.

* Don't know the command to make a siege tank as I play protoss and
use the grid key system - is it S, followed by S?

steve.kaye

John Doe

unread,
Aug 8, 2011, 2:14:42 PM8/8/11
to
Steve Kaye <nospam giddy-kippers.co.uk> wrote:

> John Doe <jd...@usenetlove.invalid> wrote:
>>Steve Kaye <nospam giddy-kippers.co.uk> wrote:
>>
>>> You can even group different unit types together and use tab
>>> to cycle between them to get to their actions.
>>

>>That can be used programmatically... Combine barracks with


>>factories. To make siege tanks.
>>
>> "siege[<n>]":#produce siege tanks
>> Key("3/1")+#barracks and factories
>> (
>> Key("s/1")
>> )
>> *Repeat(extra="n")+
>> Key("tab/1")+
>> (
>> Key("s/1")
>> )
>> *Repeat(extra="n")+
>> PlaySound(r"C:\Program Files\VoiceWorks\boop.wav"),

> It looks like saying "siege four" will press 3 once then S four


> times followed by tab once and S four times.

That is correct.
The "/1" just suffixes a very short pause.

> You need to press 3 once, then tab once, then the two key
> presses required to create a siege tank* four times.

That is true and it would be less cumbersome if the barracks is
always listed as the second subgroup, after the factory. If not,
the listed method works.

My main concern at the moment is finding an efficient way to
string opening commands together. Given the retarded interface
that requires resources before anything is put in the queue
(regardless of when that object is built or produced), very
tedious timing is necessary. So I'm trying to jump together a
method for recording opening scripts that includes the timing. I
would like to start with a script that beats the AI on Steppes of
War (on various AI difficulty levels).

Going to be a while before I can handle multiplayer, if ever.
--

John Doe

unread,
Aug 8, 2011, 2:23:31 PM8/8/11
to
> I'm trying to junk together a method for recording opening
> scripts that includes the timing.

Somebody who knows a little about macro recording might think
that is easy, but there is more to it than meets the eye.

Steve Kaye

unread,
Aug 9, 2011, 2:51:11 AM8/9/11
to
On 08 Aug 2011 18:14:42 GMT, John Doe <jd...@usenetlove.invalid> wrote:

>Steve Kaye <nospam giddy-kippers.co.uk> wrote:
>> You need to press 3 once, then tab once, then the two key
>> presses required to create a siege tank* four times.
>
>That is true and it would be less cumbersome if the barracks is
>always listed as the second subgroup, after the factory. If not,
>the listed method works.

I'm fairly sure that the order of the sub groups is always the same
given the same types of sub-group.

I know that with protoss combat units, Sentry is always listed first,
then Stalker and then way down the list is Probes. It's handy because
I know that I can group Sentries with Zealots and still have very
quick access to the sentries' special abilities. Also, I need to know
not to group High Templars with Sentries because I'll not be able to
get to their special abilities as quickly if I do.


>My main concern at the moment is finding an efficient way to
>string opening commands together. Given the retarded interface
>that requires resources before anything is put in the queue
>(regardless of when that object is built or produced), very
>tedious timing is necessary.

Yeah, it would be better if you could queue up units at any time
regardless of whether you can afford it or not. That way it could
start building as soon as you have the materials. It's only like
queuing units when you are supply blocked after all.

It wouldn't work with buildings as they are all commands to build
right now and you can't really queue them in the same way.


>So I'm trying to jump together a
>method for recording opening scripts that includes the timing. I
>would like to start with a script that beats the AI on Steppes of
>War (on various AI difficulty levels).


>Going to be a while before I can handle multiplayer, if ever.

A lot of people would complain if they found out that you were playing
on ladder with scripts like the ones you post here. And if they
officially complained then you'd be in danger of getting suspended or
banned.

steve.kaye

John Doe

unread,
Aug 9, 2011, 3:23:52 AM8/9/11
to
Steve Kaye <nos...@giddy-kippers.co.uk> wrote:

> John Doe <jd...@usenetlove.invalid> wrote:

>>My main concern at the moment is finding an efficient way to
>>string opening commands together. Given the retarded interface
>>that requires resources before anything is put in the queue
>>(regardless of when that object is built or produced), very
>>tedious timing is necessary.
>
> Yeah, it would be better if you could queue up units at any time
> regardless of whether you can afford it or not. That way it
> could start building as soon as you have the materials. It's
> only like queuing units when you are supply blocked after all.
>
> It wouldn't work with buildings as they are all commands to
> build right now and you can't really queue them in the same way.

That is incorrect.

>>So I'm trying to jump together a method for recording opening
>>scripts that includes the timing. I would like to start with a
>>script that beats the AI on Steppes of War (on various AI
>>difficulty levels).
>
>
>>Going to be a while before I can handle multiplayer, if ever.
>
> A lot of people would complain if they found out that you were
> playing on ladder with scripts like the ones you post here.

What if they knew I was a paraplegic?

> And if they officially complained then you'd be in danger of
> getting suspended or banned.

Is that a threat?

But in fact, Blizzard sanctions programmable keyboards. And please
don't counter that unless you do some research first.

The only reason I would play on a ladder is if that is the only
multiplayer, or if it is the most popular multiplayer. I could not
care less about ratings. I had more than enough rating fun when I
played chess. Nowadays I play for fun.

Given Starcraft's lousy interface, I probably won't be able to
script well enough to bother the mouse slingers. Time will tell.
--


Regular, from the WarCraft group
>
> steve.kaye
>
> Path: news.astraweb.com!border6.newsrouter.astraweb.com!news.glorb.com!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail
> From: Steve Kaye <nospam giddy-kippers.co.uk>
> Newsgroups: alt.games.starcraft
> Subject: Re: Playing Starcraft by voice
> Date: Tue, 09 Aug 2011 07:51:11 +0100
> Organization: A noiseless patient Spider
> Lines: 50
> Message-ID: <7ll1475rphbutdhncng6hpdqrj9v5djjmv 4ax.com>
> References: <4e28d32b$0$1852$c3e8da3$9b4ff22a news.astraweb.com> <4e2bbe0d$0$10084$c3e8da3$50776f34 news.astraweb.com> <698q275mlme9r9o52hj44q89ufalga4kq4 4ax.com> <4e3c6917$0$35544$c3e8da3$4db35a27 news.astraweb.com> <cg8v371tio9if5njnvre7qrftpuhqo10v3 4ax.com> <4e402792$0$26278$c3e8da3$2e0018d8 news.astraweb.com>
> Mime-Version: 1.0
> Content-Type: text/plain; charset=us-ascii
> Content-Transfer-Encoding: 7bit
> Injection-Info: mx04.eternal-september.org; posting-host="AohoESHY9KsAZrmEIGKcGA"; logging-data="9624"; mail-complaints-to="abuse eternal-september.org"; posting-account="U2FsdGVkX18lXpFo8+stQtskKpohcJp9/kTlwCm1hz4="
> X-Newsreader: Forte Agent 6.00/32.1186
> Cancel-Lock: sha1:jlIhPLkWsXjlNxGfAwmJy+P/1HQ=
>

Steve Kaye

unread,
Aug 9, 2011, 3:50:02 AM8/9/11
to
On 09 Aug 2011 07:23:52 GMT, John Doe <jd...@usenetlove.invalid> wrote:

>Steve Kaye <nos...@giddy-kippers.co.uk> wrote:
>
>> John Doe <jd...@usenetlove.invalid> wrote:
>
>>>My main concern at the moment is finding an efficient way to
>>>string opening commands together. Given the retarded interface
>>>that requires resources before anything is put in the queue
>>>(regardless of when that object is built or produced), very
>>>tedious timing is necessary.
>>
>> Yeah, it would be better if you could queue up units at any time
>> regardless of whether you can afford it or not. That way it
>> could start building as soon as you have the materials. It's
>> only like queuing units when you are supply blocked after all.
>>
>> It wouldn't work with buildings as they are all commands to
>> build right now and you can't really queue them in the same way.
>
>That is incorrect.

>>>So I'm trying to jump together a method for recording opening
>>>scripts that includes the timing. I would like to start with a
>>>script that beats the AI on Steppes of War (on various AI
>>>difficulty levels).
>>
>>
>>>Going to be a while before I can handle multiplayer, if ever.
>>
>> A lot of people would complain if they found out that you were
>> playing on ladder with scripts like the ones you post here.
>
>What if they knew I was a paraplegic?

I wouldn't have thought that they'd care. You are executing a number
of keyboard commands in quick succession from one voice command and
they'd see that as not fair. It seems to me that people often look
for external reasons why something didn't go right and only look at
themselves if they can't find someone else to blame. They'd get
beaten by you and see how you use scripts and call foul (theoretically
of course - they can't actually tell how you control SC2)


>> And if they officially complained then you'd be in danger of
>> getting suspended or banned.
>
>Is that a threat?

Don't be daft. I'm just warning you that what you are doing is on
dodgy ground.


>But in fact, Blizzard sanctions programmable keyboards. And please
>don't counter that unless you do some research first.

I don't know about SC2 but I do know about WoW and I wouldn't have
thought that they'd have different policies on it.

The general rule of thumb for WoW is one hardware event for one
character action. So I think that they wouldn't really have a problem
if you said "siege" to create a siege tank but I think that they would
have a problem if you can say "siege 4" to create four siege tanks.


>The only reason I would play on a ladder is if that is the only
>multiplayer, or if it is the most popular multiplayer. I could not
>care less about ratings. I had more than enough rating fun when I
>played chess. Nowadays I play for fun.

It is not the only multiplayer option. You can play custom games. I
don't know how popular they are as I've never played them multiplayer.


>Given Starcraft's lousy interface, I probably won't be able to
>script well enough to bother the mouse slingers. Time will tell.

It's all relative. There are some shit players out there (me for one)
and I think that you'd sink to a level on the ladder where you'd be
competitive.

I recently saw a series of 5 YouTube 2v2 videos where one side decided
to put ridiculous rules on themselves for their placement matches.
They won all 5 and ended up in the diamond league.

One of the rules was that all their units had to go directly to one of
the enemy bases. They could fight along the way but they had to go
along the most direct path to it.

In another game, they both played Zerg and they wouldn't allow their
units off the creep. They destroyed any of their units that did leave
the creep.


steve.kaye

John Doe

unread,
Aug 11, 2011, 12:04:54 AM8/11/11
to
Beat the AI on easy, Steppes of War, with a single script. Of
course that is no challenge to do manually, but it was overkill,
so the next two or so levels should be a breeze.

The interface sucks badly. Having to wait for resources before
cueing units is the pits. But oh wail.

Need to look at some replays to see how much free resources the
best players usually have after the game gets going.

John Doe

unread,
Aug 14, 2011, 2:42:26 AM8/14/11
to
> Beat the AI on easy

I should have said Very Easy.
Then used the same script/macro to beat the AI on Easy.
Next up, Medium.

If Starcraft 2 allows players to be beaten by a single script,
players may as well have shit for brains.

0 new messages