"Grinde" kaller kidsa det.
Ensformige oppgaver mange moderne spill gir spillere, i bytte mot oppgraderinger av ymse sort.
Og hvis du ikke gidder? Ja da kan du alltids gi en slant til spillet for å hoppe bukk over oppgavene. En som ble drita lei av nettopp dette var ukas hobbykoder Marius Heier (1981). På dagtid driver han sin egen garasjebaserte elektronikk-startup, Contrary.io.
Men på kveldstid koker han sammen noe helt annet. Noe han kaller: "Et selvspillende barn med kunstig intelligens, som kjemper for barns rettigheter i spill".
#1. Hva har du bygd, og hvorfor?
Jeg var så fryktelig lei av at ungene hele tiden spurte etter penger til spillende sine.
Det var liksom ikke mulig å komme videre i noen spill uten å enten bruke ekte penger, eller gjøre kjedelige meningsløse oppgaver .
Som egentlig bare er laget for å få deg til å gå lei, for så å bruke ekte penger.
Så jeg tenkte, kan jeg ikke bare lage et "selvspillende barn" som spiller hele døgnet av seg selv.
We converted a physical chessboard into a digital one
#2. Hvor lenge har du jobbet med dette hobbyprosjektet?
Egentlig startet jeg prosjektet for et år siden, men har selvfølgelig ikke tid til hobbyer som alle andre. Så det tar litt tid.
#3. Hvordan henger prosjektet sammen?
For å lage et selvkjørende spillebarn, må man gjøre følgende:
A. Få kontroll på input
I starten lagde jeg en CNC-maskin av Lego som kunne trykke på en iPad.
Jeg innså ganske raskt at dette bare var en unnskyldning for å bygge en CNC-maskin, så jeg gikk over til bruke noe ferdig Python bibloteker for å styre tastaturet, som igjen styrte mobil eller nettbrett over Remote Desktop.
Kjører spillet på lokal pc, er det litt lettere.
B. Fange skjermbilde for å forsøke å tolke hva som skjer.
Her gjelder det å skrive effektiv kode som greier å fange nok skjermbilder per sekund til at det er brukanes til å kontrollere et spill.
Kjipt med 2 frames per sekund hvis du for eksempel kjører bil.
Facebook med anti-ansiktsgjenkjenning
Skvulp: Problemet med drop-downs, haptic UX, gjengen som styrer emoji.
Jeg Fikk dermed en ganske god unnskyldning for å investere i en ekstra god pc med flott grafikkort.
Jeg skulle tross alt gjøre "computer vision med AI".
Til slutt var jeg fornøyd nok med rundt 10 frames pr sekund, og var "good to go" for neste fase.
C. Lage treningsdata, eller fange spillets regler slik at man kan gjøre det om til matte.
Koser meg foreløpig med dette punktet. Her kan jeg virkelig rote rundt lenge - dette er noe som er veldig avhengig av hva slags spill man vil kontrollere.
Jeg har til slutt valgt å gå for Roblox, siden en av oppgavene der er å kjøre pizzabud-bil, og det finnes allerede masse bra stoff rundt selvkjørende biler.
Jeg er ganske nærme å kunne gjøre bra nok "lane detection" - google it - til at jeg snart kan lære AI-en hvordan den skal kjøre.
I all hovedsak bruker man noen gamle algoritmer til å finne ut grafiske figurer i et bilde, gjennom OpenCV.
Og dersom de er skikkelig lange, og på siden i bildet, er det mest sannsynlig veiskulderen.
Det er omtrent det man trenger for å lære en maskinlæringsmodell om bilkjøring. Da vil altså målet til modellen være å lære å holde bilen midt mellom disse stripende.
«OK Google, kan jeg sykle til jobb i dag?»
Lagde sin egen Google Assistant-app for Bysykkel.
#4. Hva har vært den største utfordringen hittil?
Det er vært, og vil være. Samvittighet til å ta seg tid til en hobby.
#5. Hva er du mest stolt av i forbindelse med prosjektet?
At jeg innimellom tar meg tid til å jobbe med det. Og mulighet til å ta litt "hevn" over økosystemet rundt "slemme" barnespill.
#6. Bruker du prosjektet til noe spesielt i dag?
I wish!
#7. Hva er fordelene med å ha et hobbyprosjekt?
Når ting ikke er så alvorlig slipper man seg mer løs. Og oppdager kanskje ting man ikke ville gjort ellers.
#8. Har du noen planer for prosjektet ditt fremover?
Har planer å implementere deler av computer vision delen i et jobbprosjekt. Bygger en robot som lager elektronikk, du kan skimte den i bakgrunnen på et av bildene.
Hemmelighetene bak dartspillet på Oche
- Ingen grunn til å finne opp kruttet på nytt, sier dart-utvikler Shako Farhad.