• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 23:35
CET 05:35
KST 13:35
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
TL.net Map Contest #21: Winners9Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting12[ASL20] Ro4 Preview: Descent11
Community News
StarCraft, SC2, HotS, WC3, Returning to Blizzcon!33$5,000+ WardiTV 2025 Championship6[BSL21] RO32 Group Stage4Weekly Cups (Oct 26-Nov 2): Liquid, Clem, Solar win; LAN in Philly2Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win10
StarCraft 2
General
Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win TL.net Map Contest #21: Winners RotterdaM "Serral is the GOAT, and it's not close" 5.0.15 Patch Balance Hotfix (2025-10-8) StarCraft, SC2, HotS, WC3, Returning to Blizzcon!
Tourneys
Constellation Cup - Main Event - Stellar Fest $5,000+ WardiTV 2025 Championship Sparkling Tuna Cup - Weekly Open Tournament Merivale 8 Open - LAN - Stellar Fest Sea Duckling Open (Global, Bronze-Diamond)
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace
Brood War
General
[ASL20] Ask the mapmakers — Drop your questions BW General Discussion [BSL21] RO32 Group Stage BGH Auto Balance -> http://bghmmr.eu/ SnOw's ASL S20 Finals Review
Tourneys
[Megathread] Daily Proleagues [ASL20] Grand Finals [BSL21] RO32 Group B - Sunday 21:00 CET [BSL21] RO32 Group A - Saturday 21:00 CET
Strategy
Current Meta PvZ map balance How to stay on top of macro? Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Nintendo Switch Thread Path of Exile Stormgate/Frost Giant Megathread Should offensive tower rushing be viable in RTS games? Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine YouTube Thread Dating: How's your luck?
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread Movie Discussion! Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Coffee x Performance in Espo…
TrAiDoS
Saturation point
Uldridge
DnB/metal remix FFO Mick Go…
ImbaTosS
Why we need SC3
Hildegard
Reality "theory" prov…
perfectspheres
Our Last Hope in th…
KrillinFromwales
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1466 users

HandsFreeSC FAQ

Blogs > feardragon
Post a Reply
feardragon
Profile Blog Joined October 2010
United States973 Posts
Last Edited: 2020-01-23 17:04:29
January 16 2020 06:01 GMT
#1
Hello!

My name is feardragon. When I'm not trying to be a good commentator, I like wasting my time on coding projects that are based on stupid and useless concepts but are fun or funny.

The latest project I imagined is what I call HandsFreeSC. I've been getting a lot of questions about this so I wanted to create one single page that answers most of the common questions regarding it.



So without further ado:

What is HandsFreeSC?
The idea behind this is, as the name suggests, create a way where someone can play StarCraft 2 without using their hands! Instead, it will use a combination of your voice as a "commander" to issue orders and a Tobii Eyetracker(physical hardware) which will replace your mouse for mouse movement.

So you made this for accessibility reasons?
Actually no. Though this is where almost everyone's mind goes to, I actually did not start this project for accessibility reasons. In reality, this is going to be somewhat unwieldy and hard to use because we can click/use our keyboard a LOT faster than you can say what you want to have done. Rather, if I wanted this to be truly a viable option, I would do what this incredibly smart fellow did and make actions single syllable things so you could speed up the execution of things.

Instead what I want to do is fulfill the "commander fantasy" and use something closer to English to issue commands. This is a pet project so to some degree, it's going still going to be specific keywords but it will still at least appear as something close to normal commands you'd tell someone.

What language did you do this in?
I did this in python. If it was a super serious project, I would have done it in something more efficient but this is a for fun project for me so I did it in python.

Is it open source? Where is the github repo?
Currently, I don't have any plans to make the github repo public. The code is open-source per say in that I code a LOT of it on stream and all of the code is public but this is just a fun personal project for me. Making a repo public opens it to a different level of scrutiny and I'm not really interested in that or other people contributing to the repo since I have specific personal goals with the project others might not share. If someone would like to start their own project and copy the code/ideas from my streams they are more than welcome to.

How did you do it
I am primarily using a python library called speech_recognition that let's me call to various speech recognition libraries and turn what I say into text. Once I have the text, I do my own parsing of the text then use another python library called pynput that let's me simulate keyboard/mouse presses to trigger actions that I determined were desired via the parsed speech to text. This does not track any form of game state so it does not know what units you have selected, what hotkey your high templars are on, etc.

Where can I see the progress of it?
I occasionally stream my development of it over on my twitch channel but I usually also upload the vods from those streams to my youtube. Feel free to find what you're looking for at those two places.

When/where can I try this out?
Right now I have no intention to publicly release this unless it gets to a very very solid state. There is a massive difference in requirements for developing something for only my pc + me being the only user that has to put up with bugs or failures in the code, versus developing a public product that other people will try on lots of setups. If there's something I've realized it's how many people are ready to complain about is how upset they are that their free product isn't working how they want it to. So sorry, I don't have any intention to release this. Maybe at some point in the future but for now I don't have much interest in it. If someone wanted to pay me to do it I might consider it as a business venture but even that I'm not sure about because the nature of this is dependent on some somewhat iffy stuff(speech recognition being accurate). If it gets robust enough, I might release it to folks who want it for accessibility related reasons just as an option but it is far enough down the line that I wouldn't want to promise anyone that.

What do you plan to do with it?
The goal right now is to make something that is good enough to ladder with(on a brand new account) and get gold league with. I plan to stream the whole thing and make it some fun and slightly meme'y content.

Is this against Terms of Service to use?
I did reach out to Blizzard about it and I will say up front I was not given an official "ok" for it but was also told "we're not saying no" either. Effectively, this is very unlikely to be considered an issue to them since it is inherently playing *worse* rather than giving an advantage but they are reserving the right to shut this down at any time.


Did I not get your question? Feel free to ask below and I'll add it. Thanks and hope you enjoy what comes from all this.

****
Ok Starcraft 2 Commentator
Harris1st
Profile Blog Joined May 2010
Germany6992 Posts
January 17 2020 09:12 GMT
#2
That sounds interesting Commander Ravi

Will check out some vods when I'm not at work
Go Serral! GG EZ for Ence. Flashbang dance FTW
Chaosvuistje
Profile Joined April 2010
Netherlands2581 Posts
January 17 2020 10:58 GMT
#3
Hey man, have been enjoying the streams about your project. The misinterpertations of the speech recognition ( and having to begrudgedly repeat yourself, yet keep the tone neutral because otherwise the recognition won't work again ) are especially entertaining for me.

I was wondering if you ever did get feedback back from Blizzard wether this kind of system is allowed on the ladder. It's been a long while since I've been able to beat someone on the ladder, and I really want to use my own tool to terrorize silver league.

Best of luck on the project!
feardragon
Profile Blog Joined October 2010
United States973 Posts
January 17 2020 23:10 GMT
#4
On January 17 2020 19:58 Chaosvuistje wrote:
Hey man, have been enjoying the streams about your project. The misinterpertations of the speech recognition ( and having to begrudgedly repeat yourself, yet keep the tone neutral because otherwise the recognition won't work again ) are especially entertaining for me.

I was wondering if you ever did get feedback back from Blizzard wether this kind of system is allowed on the ladder. It's been a long while since I've been able to beat someone on the ladder, and I really want to use my own tool to terrorize silver league.

Best of luck on the project!

Thanks! Glad you've been enjoying it. I will also say that sometimes I've just forgotten some inconsistencies in the exact wording I'm checking for(since I haven't gotten to the point where I want to spend time making it more dynamic). For example, in the current build as of typing this, move command is "move here" but attack move is "attack

I did reach out to Blizzard about it and I will say up front I was not given an official "ok" for it but was also told "we're not saying no" either. Effectively, this is very unlikely to be considered an issue to them since it is inherently playing *worse* rather than giving an advantage but they are reserving the right to shut this down at any time.

Added the answer to the OP! Thanks!
Ok Starcraft 2 Commentator
BisuDagger
Profile Blog Joined October 2009
Bisutopia19297 Posts
Last Edited: 2020-01-20 17:17:43
January 20 2020 11:01 GMT
#5
Have you reached out to looknohands? He was a sc2 streamer paraplegic who had a similar setup. It would be cool if you collaborated with him.

https://tl.net/forum/starcraft-2/329164-looknohands-fundraiser-results
ModeratorFormer Afreeca Starleague Caster: http://afreeca.tv/ASL2ENG2
Chef
Profile Blog Joined August 2005
10810 Posts
January 20 2020 17:52 GMT
#6
I think it would be most interesting to have an AI play 90% of the game but you give voice commands to affect it. Trying to replace the mouse with eye tracking is a novelty and perhaps something you could generalize to other projects, but it doesn't sound like fun and because it requires special hardware it means you pretty much can't reach out to other people for testing or share your project very widely.

It could be interesting to go even further down the road of making the game purely about strategy, without giving up the real time aspect of it. You probably need to label each base, maybe A1 for main, B1 for opponents main, B2 for opponents natural, etc. Focus on things that are easy to say. Then you can say things like "army B1" for attack move, "retreat" for move home. It seems interesting. I'm sure you've already thought of things like this.
LEGEND!! LEGEND!!
feardragon
Profile Blog Joined October 2010
United States973 Posts
Last Edited: 2020-01-20 20:25:24
January 20 2020 20:24 GMT
#7
On January 20 2020 20:01 BisuDagger wrote:
Have you reached out to looknohands? He was a sc2 streamer paraplegic who had a similar setup. It would be cool if you collaborated with him.

https://tl.net/forum/starcraft-2/329164-looknohands-fundraiser-results

I know him but currently am not looking into accessibility stuff for this right now. Maybe at some point in the future but this is pretty far away from being usable by others.

On January 21 2020 02:52 Chef wrote:
I think it would be most interesting to have an AI play 90% of the game but you give voice commands to affect it. Trying to replace the mouse with eye tracking is a novelty and perhaps something you could generalize to other projects, but it doesn't sound like fun and because it requires special hardware it means you pretty much can't reach out to other people for testing or share your project very widely.

It could be interesting to go even further down the road of making the game purely about strategy, without giving up the real time aspect of it. You probably need to label each base, maybe A1 for main, B1 for opponents main, B2 for opponents natural, etc. Focus on things that are easy to say. Then you can say things like "army B1" for attack move, "retreat" for move home. It seems interesting. I'm sure you've already thought of things like this.

Unfortunately, reading the game state is breaking Terms of Service so that is likely never going to be my plan. You could make something like that with the API they have for making your own AI but then it is only ever useable against other AI which is a lot less fun to me and not the goal of this project.

The mouse tracking with eyes is actually available with other existing software and as stated in the OP, I'm actually not very interested in making this widely and extremely available publicly since it's a LOT more work to develop something that is useable by lots of people with lots of hardware/software setups versus just myself. Especially since nobody is paying me to do this but I know that people can be surprisingly demanding about the quality of free stuff.
Ok Starcraft 2 Commentator
WombaT
Profile Blog Joined May 2010
Northern Ireland25995 Posts
January 25 2020 01:38 GMT
#8
Great work man, really interesting project.
'You'll always be the cuddly marsupial of my heart, despite the inherent flaws of your ancestry' - Squat
sneakyfox
Profile Joined January 2017
8216 Posts
January 27 2020 22:48 GMT
#9
Lol, great video. And really cool project too, good luck with it.
"I saw what sneakyfox wrote on TL.net and it made me furious" - PartinG
Please log in or register to reply.
Live Events Refresh
Korean StarCraft League
03:00
Week 82
HKG_Chickenman64
davetesta63
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 181
Nina 158
ProTech118
StarCraft: Brood War
Icarus 15
Dota 2
monkeys_forever357
NeuroSwarm97
LuMiX1
League of Legends
JimRising 569
Super Smash Bros
C9.Mang0554
Other Games
tarik_tv14330
summit1g13831
FrodaN139
WinterStarcraft79
Organizations
Other Games
gamesdonequick985
Counter-Strike
PGL130
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 11 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Stunt493
Upcoming Events
CranKy Ducklings
5h 25m
IPSL
13h 25m
dxtr13 vs OldBoy
Napoleon vs Doodle
LAN Event
13h 25m
Lambo vs Clem
Scarlett vs TriGGeR
ByuN vs TBD
Zoun vs TBD
BSL 21
15h 25m
Gosudark vs Kyrie
Gypsy vs OyAji
UltrA vs Radley
Dandy vs Ptak
Replay Cast
18h 25m
Sparkling Tuna Cup
1d 5h
WardiTV Korean Royale
1d 7h
IPSL
1d 13h
JDConan vs WIZARD
WolFix vs Cross
LAN Event
1d 13h
BSL 21
1d 15h
spx vs rasowy
HBO vs KameZerg
Cross vs Razz
dxtr13 vs ZZZero
[ Show More ]
Replay Cast
2 days
Wardi Open
2 days
WardiTV Korean Royale
3 days
Replay Cast
4 days
Kung Fu Cup
4 days
Classic vs Solar
herO vs Cure
Reynor vs GuMiho
ByuN vs ShoWTimE
Tenacious Turtle Tussle
4 days
The PondCast
5 days
RSL Revival
5 days
Solar vs Zoun
MaxPax vs Bunny
Kung Fu Cup
5 days
WardiTV Korean Royale
5 days
RSL Revival
6 days
Classic vs Creator
Cure vs TriGGeR
Kung Fu Cup
6 days
Liquipedia Results

Completed

BSL 21 Points
SC4ALL: StarCraft II
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
BSL Season 21
Stellar Fest: Constellation Cup
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual

Upcoming

SLON Tour Season 2
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
META Madness #9
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.