AW - Robots

Uit Games2Learn

Ga naar: navigatie, zoeken



Inhoud

Robots: tekst en uitleg // Een uitleg over Robots met uitgebreide instructie over de Preston en Crowdbot

Wat ga je leren?

In deze les wordt het gebruik van Robots uitgelegd. Daarnaast wordt een een uitgebreide uitleg over de Preston Bot en Crowdbot gegeven.

Wat heb je nodig?

Op http://www.imabot.com/preston.htm kun je de Preston Bot (gratis) downloaden als .zip bestand. De Crowdbot is beschikbaar voor de deelnemers van de pilot. Daarnaast moet je in je virtuele omgeving rechten hebben om robots te kunnen draaien.

Bots // Algemeen

Een robot is een geautomatiseerd programma die bepaalde handelingen kan uitvoeren in Active Worlds. Voorbeelden hiervan zijn het opstarten van een spel binnen een virtuele wereld, het bieden van services en beveiliging, of het aansturen van de chatfunctie binnen een virtuele wereld. Een robot kan (onzichtbaar) op de achtergrond werken of in de vorm van een avatar. Populaire robots zijn de Preston, Crowd en Xelagot robot (http://www.imatowns.com/xelagot/xelagot_x1.html).

Preston // De mogelijkheden

De Preston is een gratis robot die je kunt gebruiken binnen je virtuele wereld. Preston kun je voor de volgende toepassingen gebruiken:

  • Mensen groeten wanneer ze binnenkomen
  • Objecten in de virtuele wereld veranderen op basis van gebeurtenissen
  • Acties definieren binnen een ingebouwde dictionary
  • Een midi file op een object automatisch veranderen
  • Achtergronden veranderen op basis van een schema
  • Gebruikers uit de virtuele wereld verwijderen vanwege het gebruiken van ongepaste taal
  • Muisklik-herkenning

Preston // Instellen voor gebruik binnen je virtuele wereld

Download de Preston Bot van de website http://www.imabot.com/preston.htm (Build 47 for AW 4.1). Open het ingepakte bestand. Dubbelklik op Preston.exe en onderstaand scherm komt tevoorschijn.

Preston Inlogscherm

Hieronder volgt een uitleg hoe je de Preston Bot in kan stellen om te gebruiken binnen je wereld in Active Worlds

Universe Voer hier de hostnaam en het poortnummer van het universum in (bijvoorbeeld aw.showcase.surfnet.nl:443)
Login ID Voer hier je eigen bewonersnummer in. Je kunt ook een nieuw account aanmaken specifiek voor je robot. Voer dan bij Login ID het bewonersnummer van de robot in.
Login PW Voer hier je eigen privilegewachtwoord of het privilegewachtwoord van het robotaccount in.
Name Geef hier een naam op voor de robot. De naam van de robot wordt tussen blokhaakjes weergegeven in de wereld. Voorbeeld: [Robot]
Location Voer hier de wereld en coordinaten in waar de robot de wereld binnenkomt. Je kunt dit het beste achterhalen door in je virtuele wereld op de locatie te gaan staan waar je de robot wilt plaatsen. Klik dan in de menubalk bovenin het scherm op Opties > Wereld > Attributen. Het Wereldattributen menu opent. Zoek de optie ‘Ingang locatie’ en klik op de knop ‘Op mijn locatie instellen’. Je hebt nu de juiste coordinaten die je in de Preston robot kunt invoeren. Zorg er wel voor dat je op Annuleer klikt in het Wereldattributen menu, anders is je inganglocatie veranderd! Voorbeeld: SURFTest 6.17N 5.04E 0.01a 84
Avatar In je virtuele wereld heeft elke avatar een nummer. Voer het nummer van je avatar naar keuze in (0-1 Tourist avatar, 2-250 normale avatars, 251-255 speciale avatars).
Enable Global Mode -
Start Bot on Program Start Met deze optie aangevinkt start de Preston robot automatisch als Preston.exe geopend wordt.
Minimize to Tray Icon Met deze optie aangevinkt zal de Preston.exe geminimaliseerd worden als icoontje in de taakbalk.
(Re)start / Stop Bot Deze knoppen herstarten en / of stoppen de Preston robot.

Announcements

In dit gedeelte kun je meldingen instellen die de Preston robot toont in de virtuele wereld. Zo kun je iemand begroeten als hij de wereld binnenkomt, laten vermelden als iemand de wereld heeft verlaten of waarschuwingen instellen als er verkeerde taal wordt gebruikt. Door gebruik te maken van de codes %w (wereldnaam) en %a (avatar / gebruikersnaam) kun je de meldingen personaliseren.

Voorbeeld: De virtuele wereld heet 'SURF3D' en de binnenkomende avatar heet Jan. Als je bij Arrival Message 'Welkom in %w, %a' invuld (zonder de haakjes) dan wordt de melding 'Welkom in SURF3D, Jan'.

Dictionary

In de Dictionary kun je gebeurtenissen van de Preston robot definieren.

Preston Dictionay

Om een gebeurtenis toe te voegen klik je op ‘Add’. Het ‘Dictionary Entry’ scherm verschijnt. In dit scherm heb je een aantal opties:

Event

Kies hier de gebeurtenis. Je hebt de keuze uit onder andere het laten zeggen van een tekst, klikherkenning of binnenkomst / vertrek notities.

Events.png


Action

Onder Action kun je een keuze maken uit de gebeurtenis die volgt op de keuze die je gemaakt hebt bij Event. Je hebt de keuze uit onder andere het besturen van een avatar of robot, objecten en rechten.

Action.png

Het veld onder Action is afhankelijk van de gekozen Action. Hier kun je aangeven wat er moet gebeuren als er een actie uitgevoerd wordt.

Voorbeelden

Voorbeeld1: Je wil dat een avatar (waar de Preston robot onder draait) iets zegt als je op de avatar klikt. Kies dan als Event Avatarclick. Vul bij on de naam van de robotavatar in (zonder blokhaakjes). Onder Action kies je voor Misc/reply. Voer in het veld 'Reply' een tekst in die de robot zegt als je op de robotavatar klikt. Klik op OK om dit event op te slaan.

Zie de afbeelding hieronder voor een voorbeeld. De robot die in dit voorbeeld is gebruikt is een avatar met de naam Botvoorbeeld1. De tekst die door de avatar gezegd wordt als erop geklikt is: 'Hallo! Je hebt op mij geklikt.'

Preston voorbeeld 1


Voorbeeld2: Je wilt dat een avatar (waar de Preston robot onder draait) reageert op één of meerdere woorden uit de Active Worlds chat. Kies als Event Phrase. Vul bij 'as' de tekst in waar de robot op reageert als één van deze woorden door een bezoeker in de chat wordt getypt. Onder Action kies je voor Misc/reply. Voer in het veld Reply een tekst in die de robot zegt als één van de woorden in het veld as getypt is.

Preston voorbeeld 2

In dit voorbeeld is de Preston robot zo ingesteld dat als een bezoeker het woord 'ja' intypt, dat dan de tekst in het vak Reply wordt gezegd door de robotavatar. Omdat het woord ‘ja’ regelmatig gebruikt wordt, en je niet altijd een reactie van de Preston robot wilt hebben, is het handig om gebruik te maken van een chatzone.

Je ziet hieronder een screenshot van de SURFTest wereld. De Preston robot is de receptioniste die je in het midden ziet. Het witte gedeelte in de afbeelding is de chatzone. Alles wat binnen deze zone gezegd wordt is niet buiten de zone te horen of te lezen. Als het woord ‘ja’ binnen de zone wordt gezegd dan zal de reactie van de Preston robot alleen te zien zijn voor de bezoekers die zich binnen de zone bevinden. De chatzone is aanpasbaar qua grootte dus op deze manier kun je de reacties van de Preston robot beperken tot gedefinierde ruimtes.

Chatzone


Voorbeeld3: Je wil dat een avatar (waar de Preston robot onder draait) je volgt als er op een object geklikt wordt. Kies als Event Object Click. Vul bij as de naam van het object in waar op geklikt moet worden. Je kunt een object in de virtuele wereld een naam geven door in het Object Properties scherm in het veld Actie de volgende code neer te zetten: name [naam voor het object] (zonder haakjes). Onder Action kies je voor Bot control/follow. Voer in het veld Reply een tekst in die de robot zegt als op het object geklikt is (dit is niet verplicht). Voer bij Target %a in (dan weet de bot dat hij moet reageren als een avatar op het object klikt).

Preston voorbeeld 3

Crowdbot // De mogelijkheden

De Crowdbot is een prima tool om ervoor te zorgen dat het net lijkt alsof er constant bezoekers rondlopen in je virtuele wereld. Hieronder staan de mogelijkheden van de Crowdbot:

  • Het opnemen van bezoekers (bewegingen, handelingen en chat). Deze acties worden opgeslagen in een 'movement file'.
  • Het afspelen van de movement file om te schijn te wekken dat er mensen aanwezig zijn in de virtuele wereld. Er kunnen in totaal 32 botavatars geactiveerd worden.
  • De Crowdbot kan op een avatar geplaatst worden, maar ook op een auto. De auto zal rondrijden in de wereld en zal niet botsen met de bezoekers.

Crowdbot // Instellen voor gebruik binnen je virtuele wereld

(uitleg over het verkrijgen van de Crowdbot)

Start de Crowdbot op (default naam is Crowd41.exe) Om de Crowdbot in de stellen klik je op File > Parameters... Onderstaand scherm opent. Voer alle gegevens in aan de hand van onderstaande omschrijvingen.

Crowd inlog.png


Universe - Port Voer hier de hostnaam en het poortnummer van het universum in (bijvoorbeeld aw.showcase.surfnet.nl, poortnummer 443)
World Voer hier de naam van je virtuele omgeving in.
LicenseKey Voer hier de license key in voor het gebruik van de Crowdbot
CitNum Voer hier het Citizen nummer in waar de bots onder draaien (voorbeeld: het nummer van een account welke speciaal is aangemaakt voor het draaien van robots)
PrivPass Voer hier het Privilege wachtwoord in welke hoort bij het Citizen nummer.
Botname Geef hier een naam op voor de (onzichtbare) control bot
MaxCrowdNumber Voer hier het aantal bots in die je wilt laten rondlopen in je wereld
AutoStartCrowd Met deze optie aangevinkt start de Crowdbot automatisch als Crowd41.exe geopend wordt.

Commands

Om de robot te besturen moet je 'boss' van de robot zijn. Dit kun je instellen in het configuratiebestand (standaard is dit crowd.ini). De commands kun je invoeren via de chat. Hiervoor moet de control bot wel gestart worden. De playback bot reageert niet op commands. Als de bot in de chat op een command reageert ben jij de enige die dit ziet.

Het opnemen van een sequentie

In dit gedeelte wordt uitgelegd hoe je de Crowdbot in kunt stellen zodat het net lijkt alsof er constant bezoekers aanwezig zijn in je virtuele wereld.

Als je de Crowbot hebt opgestart zie je een invoerscherm bij 'User name to record'. Voer hier de naam in van je eigen avatar. Open Active Worlds / SURF3D. Zodra je bent ingelogd ga je weer terug naar de Crowdbot en klik je op StartCrowd (naast File..). Je ziet dan dat er van alles gebeurd in het scherm. Zodra er geen tekst meer verschijnt kies je voor File.. > StartControlBot. Er komen weer een aantal regels bij. Je bent nu klaar om bewegingen op te nemen.

Een paar aandachtspunten:

  • Tijdens het opnemen is het handig om de avatar bijwerkingen per seconde van de wereld in te stellen op 4/5. Anders is de playback erg statisch. Vergeet het niet weer terug te zetten, het zorgt voor extra bandbreedte. Je kunt dit instellen bij Opties > Wereld > Attributen > Avatar bijwerkingen per seconde.
  • De acties / codes moet je uitvoeren in het chatvenster

Om op te nemen typ je in het chatvenster: /record:visitorname(,filename) waarbij visitorname de naam is van degene die opgenomen wordt (jou naam in SURF3D). filename is de bestandsnaam waarbinnen de handeling wordt opgeslagen. Als je hier niks invuld (bijvoorbeeld /record:Jan) dan wordt de opnamefile Jan.ini genoemd. Als het goed is krijg je een melding van de bot (Recording of Jan visitor into Jan.ini file started). Je kunt nu rond gaan lopen, gestures gebruiken (zwaaien, dansen etc.). Dit wordt allemaal opgenomen. Als je klaar bent typ je in het chatvenster /endrecord. Wederom krijg je een melding (Recording finished)

Het afspelen van een sequentie

Nadat je een opname hebt gemaakt kun je deze (voordat je hem opslaat) afspelen om te testen of de opname gelukt is. De opname is opgeslagen in een movement file die dezelfde naam heeft als de avatar waarmee de opname is opgenomen (tenzij anders is aangegeven, zie 'Het opnemen van een sequentie').

Er zijn een aantal standaard instellingen bij een opname die je kunt aanpassen in het opnamebestand.

  • Het afspelen zal zich voor elke bot steeds herhalen
  • De naam en avatar van de opgenomen persoon worden gebruikt voor de bot
  • De bot zal standaard niet als auto reageren

Om de movement file af te spelen typ je in de chat: /reload:(botnummer) (movement file). Als botnummer kun je een willekeurig nummer van 1 t/m 32 gebruiken. Als we het voorbeeld van de movement file Jan.ini gebruiken dan wordt het commando in de chat: /reload:1 Jan.ini Als alles goed is krijg je weer een melding van de bot:

(Bot 1 is reloading from Jan.ini, Jan.ini for [Jan](1) move loaded. Bot is Avatar, time=0.0 s, steps=0). De time is hoe lang de opname duurt, steps is het aantal stappen wat je hebt gezet. Als je tevreden bent met de opname moet je deze toevoegen aan de 'playlist' van de robot. Om dit te doen typ je: /save:botnum,movementfile (bijvoorbeeld /save:1,Jan.ini). Als je meerdere opnames hebt gemaakt en je wil ze allemaal tegelijkertijd afspelen typ je /reload:0. NB: Als je wilt afspelen zonder verder op te nemen (wereld is gewoon in gebruik) zet de record/control-bot dan niet aan.

Overzicht commands

/crowdhelp

Geeft in de chat de commands en een korte beschrijving weer.

/reload:(botnum) (movement file)

Speelt opnames af, je kunt 1 opname afspelen of alle opnames in de 'playlist'. Om 1 opname af te spelen gebruik je als botnum een nummer van 1 t/m 32 gebruiken. Als movementfile moet je het bestand opgeven van je opname, bijvoorbeeld /reload:1 Jan.ini. Als je alle opnames uit de playlist wil afspelen kun je beide argumenten (botnum en movement file) leeglaten, als botnum kun je ook een 0 typen. Dus /reload:0.

/record:visitorname(,filename)

Waarbij visitorname de naam is van de gene die opgenomen wordt en filename de bestandsnaam van de opname. Als je geen bestandsnaam opgeeft wordt de visitorname daarvoor gebruikt. Als je een echte visitor (en dus geen citizen) wilt opnemen moet je de "" wel typen, ze zullen niet worden gebruikt in de opname of de filename.

/talkrecord:visitorname(,filename)

Hetzelfde als /record alleen wordt ook de chat opgenomen. De chat bij de opname kan bij het afspelen alsnog worden in- of uitgeschakeld.

/endrecord

De opname wordt gestopt.

/suspend(:elevation)

De playback wordt gepauzeerd. Als je de elevation niet meegeeft worden de bots naar een bepaalde hoogte verplaatst de standaard waarde staat in het configuratiebestand. Als je de elevation wel meegeeft worden ze naar die hoogte (of 'laagte') gestuurd en wordt de waarde in het configuratiebestand aangepast.

/resume

De playback zal na een pauze (/suspend) worden hervat.

/speedset:botnumber,speeddivisor

Hiermee kun je het afspelen vertragen of versnellen. De botnumber is het nummer van de bot (goh), van 1 t/m 32. De speeddevisor moet een kommagetal zijn. Twee keer zo langzaam is 2,0, twee keer zo snel is 0,5.

/number:numberofcrowd

Het maximaal aantal bots wat tegelijk afgespeeld wordt met een /reload:0 of als de crowdbot automatisch start.

/save:botnum,movementfile

Om een opname op te slaan in de 'playlist'. Als botnum kun je een nummer kiezen van 1 t/m 32. De movementfile is de naam van het opname bestand.

/stop:botnumber

Om de playback te stoppen en de bots echt te verwijderen. Het botnumber is het nummer van 1 t/m 32. Als je 0 gebruikt stoppen alle bots.

/talk:botnumber

Zet het praten tijdens de playback aan of uit, de chat moest wel ingeschakeld zijn tijdens het opnemen. Het botnumber is het nummer van 1 t/m 32. Als je 0 gebruikt praten alle bots wel of niet.

/cars

Zet het auto-gedrag tijdens de playback aan of uit, in het opnamebestand van een bot moet wel staan dat het een auto is. Tijdens de playback zal dan worden gestopt voor voorbijgangers. Na 15 seconde zal de avatar/auto toch doorrijden.

/honk

Zet het toeter-gedrag van de auto's aan of uit. Het toetergedrag wordt geuit in de chat, met "beep... beep... beep..." na 5 seconde en "HONK!! HONK!! HONK!!" na 10 seconde.

/details

Zet gedetailleerde log aan of uit, handig voor debuggen.


Bron:http://www.3dwiki.nl/wiki/CrowdBot

Extra informatie / Configuratiebestand

Er wordt van alles opgeslagen in het configuratiebestand, standaard crowd.ini. Er zijn echter maar een paar waardes interessant voor semi-dagelijks gebruik. Uitleg van alle instellingen staat ook op de officiele helppagina.

AutoStartCrowd=0
De playback-bot zal worden gestart, alle movementfiles in de playlist zullen worden automatisch afgespeeld.
AutoStartBot=0
De record/control-bot zal worden gestart, zonder deze kun je de bot niet commanderen of opnames maken. Maar als alleen de playback wordt gebruikt kan ie beter uit staan.
CarsEnabled=0
Of auto-gedrag standaard aan staat of niet.
HonkEnabled=0
Of toeter-gedrag van de auto's standaard aan staat of niet.
Visible=0
Of de bot zichtbaar is in de wereld. Als de bot zichtbaar is kan je commands via whisper doorgeven en hoeft het niet in de chat.
CrowdNumber=4
Het maximaal aantal bots wat tegelijk afgespeeld wordt met een /reload:0 of als de crowdbot automatisch start.
SuspendElevation=3000
De hoogte (of 'laagte') waar de bots heen worden verplaatst bij pauzeren (/suspend).
MaxDuration=6000
Maximale tijd van één playback.
CrowdName1=Crowd
De naam van de eerste bot. Aangezien deze wordt overschreven door de naam in het opnamebestand is deze waarde eigenlijk nutteloos.
MoveFile1=botmove1.ini
De bestandsnaam van het opnamebestand van de eerste bot.
Boss0=1
De eigenaren van de bot, deze kunnen de commands gebruiken.

Je kunt meerdere playback bots maken door het nummer bij CrowdName1 en MoveFile1 aan te passen, het gaat van 1 t/m 32. Om meerdere eigenaren te maken pas je het nummer in Boss0 aan, dit gaat van 0 t/m 99. Waarschijnlijk moet de Boss0 gelijk staan aan de persoon onder wie de bot inlogt.

Gebruikservaringen

Van docenten


Van leerlingen/studenten


Persoonlijke instellingen