Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
davekp

Avatar / Picture

Registered:
Posts: 112
Reply with quote  #1 

Has anyone thought of using Alexa (or it's various competitors) which respond to voice commands and are capable of interacting with other devices, as part of a bridge build?

The notion has caught my fancy.

Alexa (or Computer), Ship status!
Computer, Raise Shields!
Computer, course 277, warp 2, engage!

Or...I notice that when I play Artemis with folks, we often only have 3 or four players.  Often it's Comms that remains un-played (we just go shoot stuff).  Maybe:

Computer, request Nukes from DS1!
Alexa, request N35 to assist!

You get the idea.

I think this is doable.  More than doable, I think this would mimic some of the wonder of Star Trek (and other such media) with their ship's AI.


__________________
The Universe is a wild place.
smcameron

Registered:
Posts: 6
Reply with quote  #2 
This topic has come up before: https://artemis.forumchitchat.com/post/alexa-raise-the-shields-9931754

Space Nerds in Space can do this:



It's a bit of a gimmick, in reality it's not all that practical, although I am using pocketsphinx to do the speech recognition locally, which is not going to be as good as amazon or google's speech recognition (has trouble with accents or background noise or fails to recognize every once in a while for no apparent reason.)
JoeyMorgan

Registered:
Posts: 3
Reply with quote  #3 
Quote:
Originally Posted by davekp

Has anyone thought of using Alexa (or it's various competitors) which respond to voice commands and are capable of interacting with other devices, as part of a bridge build?

The notion has caught my fancy.

Alexa (or Computer), Ship status!
Computer, Raise Shields!
Computer, course 277, warp 2, engage!

Or...I notice that when I play Artemis with folks, we often only have 3 or four players.  Often it's Comms that remains un-played (we just go shoot stuff).  Maybe:

Computer, request Nukes from DS1!
Alexa, request N35 to assist!

You get the idea.

I think this is doable.  More than doable, I think this would mimic some of the wonder of Star Trek (and other such media) with their ship's AI.


__________________
Joey Morgan

Not a path to victory, but all paths to victory. (Paraphrased from "The Vor Game by Lois McMaster Bujold"
JoeyMorgan

Registered:
Posts: 3
Reply with quote  #4 
I know that there are ways to customize Alex, and Amazon has some info on the API. As a six-Echo Dot family I love this idea. (I created a custom question/answer for my daughters, whose mom took a few tries to find the right dad. They ask "Who's the best Dad?" And Alexa answers: Well it isn't [bio-dad] and it isn't [step-dad#1] so it must be Joey!"

If anyone finds the development API and a way to work with it in Visual Studio/C# or JavaScript, I want to play!

Joey

__________________
Joey Morgan

Not a path to victory, but all paths to victory. (Paraphrased from "The Vor Game by Lois McMaster Bujold"
JoeyMorgan

Registered:
Posts: 3
Reply with quote  #5 
I know that there are ways to customize Alex, and Amazon has some info on the API. As a six-Echo Dot family I love this idea. (I created a custom question/answer for my daughters, whose mom took a few tries to find the right dad. They ask "Who's the best Dad?" And Alexa answers: "Well it isn't [bio-dad] and it isn't [step-dad#1] so it must be Joey!"

If anyone finds the development API and a way to work with it in Visual Studio/C# or JavaScript, I want to play!

Joey

__________________
Joey Morgan

Not a path to victory, but all paths to victory. (Paraphrased from "The Vor Game by Lois McMaster Bujold"
NoseyNick

Avatar / Picture

Registered:
Posts: 117
Reply with quote  #6 
Quote:
If anyone finds the development API and a way to work with it in Visual Studio/C# or JavaScript, I want to play!


Well, it's definitely not an official API, but I'd suggest you start at https://github.com/artemis-nerds/protocol-docs/ and the corresponding https://artemis-nerds.github.io/protocol-docs/

You can connect to TCP port 2010 on the Artemis server, and listen for a big bunch of strangely-encoded objects and events, and can send any command that any of the consoles could do (Interestingly, you can send engineering commands even without "claiming engineering" or helm commands without "claiming helm" or whatever, so things like "full power to beams" should be do-able even if you have a "real engineer" on a real client).

There are several libraries that volunteers have written, see the list at the bottom of the page. Full disclosure: I wrote the unofficial Perl client library.

First thoughts:

"Ship status" would require receiving pretty much the full feed and keeping track of the status of things you want to report on, but should be do-able.

"Raise Shields" would be trivial, you would just need to connect, choose a ship, send "ShieldsUpPacket", and could even disconnect once done.

"Computer, course 277, warp 2, engage!" would be harder. Though the client is quite good at "course 277", the protocol requires "HelmSetSteeringPacket hard left" [or right], wait until you're at/near 277 by watching some other packets/objects, then "HelmSetSteeringPacket neutral", "HelmSetWarpPacket 2.0", but sure, it's not rocket science   [wink]

"Computer, request Nukes from DS1!", "request N35 to assist!
" would both be CommsOutgoingPacket, you would need to maintain a list of the internal IDs so you know what "DS1" and "N35" ARE, in protocol IDs, but then "request nukes" or "assist" are pretty well described in https://artemis-nerds.github.io/protocol-docs/#enum-comm-message and would be easier than the "set course XYZ" actually.

Some other easy ones would be... Shields [up/down]. Red alert. Request dock. "Warp [3]" or "Impulse [70%]", without the course, though "Hard left", "Hard right", "Dead ahead", "Dive", "Climb" are easy. Jump drive (and this one CAN take bearing and distance quite nicely, and/or the emergency forward/backward jump).  Setting the various main screen views / TAC / LRS / etc. "Load tube [1] with nukes", "Unload tube [1]", "Fire tube [1]" (but "Fire nukes" would be more tricky unless you were keeping track). "Beam frequency [Charlie]". "Set beacon to [repel] [dragons]". "Convert Torp to Energy" (or vice-versa). Activating various upgrades (Infusion P-Coils or whatever) assuming you HAVE that upgrade. Various Engineering energy/coolant presets/settings, but you would need to be careful to juggle coolant etc. Engineering feels like a good job for an AI but not purely voice control without a human/AI keeping an eye on temperatures and things. All these are fairly trivial, "connect, send pre-prepared (small set of) packet(s), disconnect" (or remain connected if you prefer, honestly doesn't matter much)

Most of the login screen stuff would also be similarly trivial but less impressive to observers ("Select Ship [4], take [Helm] and [Weapons], make it a [Medium Carrier] with [Jump] drive and [3 bombers], [Green] highlights, Ready to play")

Some that would require tracking object names vs IDs, but be FAIRLY simple with a BIT of understanding of how to decode the object bitstream: Any of the comms messages (docking clearances, ordnance requests, taunts, friendly orders, etc, as above), and some set of predetermined GM messages. Setting weapons targets. Firing beams (at which enemy, but much more complicated if you want to target particular systems). Setting Science "target" / selection, or "Scan N37".

Assuming it's easy to make Alexa/Siri/Google/assistant "say blah blah blah", then reading incoming comms messages should be fairly easy, announcing the "game over" results etc.

More tricky, "anything else", like decoding enemy / friendly / player ship status and stuff. They're not TOO hard but you would definitely need something to stay connected and "keep track" of a lot of incoming packets that are non-trivial to decode, and await instructions and "know a bit more" about how to respond to any of them. Even "let me know when those tubes are loaded" requires fairly detailed understanding of how to decode complicated partial/complete objects, which object is "the current player", which parts of which objects represent tube load progress, etc etc.

Even more tricky, anything geometric like "Target that ship on our starboard bow" or "Take us to within 600 clicks of the nearest enemy" or more nuanced like "Taunt the nearest Kralien"

I know nothing about how to interact with Alexa / Siri / Google Home / etc, but let me know if you need help with the Artemis protocol stuff, over and above what you find in the protocol-docs.
Newcommerin

Avatar / Picture

Registered:
Posts: 192
Reply with quote  #7 
My Alexa Dot (wich is called "Computer") can turn on my Ship 'cause it controls the power sockets. But I would love to do more with it!
So, if anyone has a way to write an app I would apreciate it, cause I have no programming skills. I tried AWS but it was way above my knowledge...


__________________
Sorry, English is not my native language, I am German.
(* I wish I would live in America, I wish I would... *)
Any mistakes you can find, you can keep and with the spelling mistakes you can cook you an alphabet soup.

My Artemis Homepage: https://star-ship-academy.jimdo.com/
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.