In het zomer-kwartaal ben ik me gaan richten op de interactie tussen mens en machine. Hierbij heb ik samen met Sammy de Keijne gekozen voor een combinatie tussen Arduino en Processing. Beiden hebben we onderzocht hoe fysieke acties door sensoren geïnterpreteerd en verwerkt kunnen worden. Aan de hand daarvan hebben we gekeken welke feedback er terug moet komen om de cirkel van interactie te sluiten. Sammy heeft zich hierbij gericht op een concept omtrent licht en een “robotische” bloem. Ik heb me hierbij gericht op een concept gedoopt ‘Creatures’, een soort digitale ant farm waarbij de beestjes reageren op verscheidene inputs.

Op deze pagina lees je alles over mijn proces.

1.0 De basis leggen
Als eerste ben ik gaan zoeken naar een Particle System waar ik het geheel op wilde gaan baseren. Als snel stuitte ik daarbij op een zeer bruikbare class van BIT-101.

Het doel van mijn concept: Een “ant-farm” van digitale beestjes welke op zowel real-life gebeurtenissen als op elkaar onderling reageren. De beestjes krijgen een minimale vorm van Artificial Intelligence waarmee ze unieke identiteiten creëren. Ze worden onderdeel van een tribe (bepaalt door kleur) wanneer ze geboren worden, daarnaast kunnen ze het gevecht aan gaan met elkaar, nieuwe kinderen ter wereld brengen en (hopelijk) bewegen op de muziek. De kleur van de tribe zal onderlinge relaties gaan bepalen. Baby-beestjes zullen ook de eigenschappen van zijn ouders overnemen.

Vanuit real-life kan er invloed uitgeoefend worden door dichterbij het scherm te komen, hierdoor zouden de beestjes bang kunnen worden en schichtiger gaan bewegen. Ook kan geluid invloed uitoefenen (hoge/lage tonen, volume en beat-detection).

Uiteindelijk zal er nog een link gemaakt worden tussen het product van Sammy en mijn uiteindelijke applicatie. We hopen een interessante wisselwerking tussen beide resultaten te kunnen maken.

2.0 Spelen met Processing en toespitsen
De volgende stap in het proces was verder spelen met Processing, kijken wat alles inhoud en hoe de syntax hier is opgebouwd. De Processing Reference is daarbij geweldig!

Daarnaast ben ik gaan kijken naar hoe ik de bestaande code kon verbeteren meer op mijn concept kon toespitsen. Hierbij heb ik onder andere; de lengte van de staartjes enorm ingekort, beweging aangepast voor meer spreiding, leeftijd en groei toegevoegd (hoe ouder hoe groter) en de snelheid en andere bewegingen nagelopen.

3.0 “It’s Alive!”
In versie 2 ben ik de beestjes meer tot leven gaan brengen. Elk beestje heeft nu naast een leeftijd ook een health-status. Aan de hand van deze 2 parameters wordt de grootte, snelheid en weerbaarheid tegen andere beestjes berekend. Hierbij heb ik ook weer de oh-zo gevreesde wiskundige formules van de middelbare school weer eens opgerakeld.

05. Tribecolors4.0 Stam kleuren
Om de interactie tussen de LED-bloem van Sam en de beestjes sterker te maken hebben we er voor gekozen om de beestjes ook op de bloem te laten reageren. De bloem veranderd van kleur door omgevings-variabelen en hier zullen de beestjes vervolgens op reageren. Wanneer de bloem bijvoorbeeld paars wordt zullen alle beestjes met een paarse staart naar de bloem bewegen terwijl de andere afdeinsen. De staart kleur dient dus als een soort stam kleur.

06. Flocking5.0 Flocking
Om de beestjes nog iets realistischer te maken heb ik er voor gezorgd dat ze groeperen/flocken aan de hand van hun stam kleur. Beestjes met dezelfde kleur staart zullen elkaar vinden en in een groepje verder zwerven. Dit gedrag heb ik code-matig wel enigszins gefaked, het echt laten flocken van de beestjes was ietwat te ingewikkeld voor deze tijdspanne.

6.0 En ze leefden nog lang en gelukkig…
Om het geheel compleet te maken reageren de beestjes nu op zowel de bloem als op de persoon die voor de bloem staat. Wanneer iemand erg dichtbij komt worden de beestjes bang en uiten dat door sneller te gaan bewegen en zich uiteindelijk met dezelfde stam genoten in een hoekje te verstoppen. Wanneer het gevaar weer is afgenomen gaan ze weer hun normale gang.

Sammy heeft een visualisatie gemaakt van ons eindproduct. Uiteindelijk zal er ook nog een korte video gemaakt worden om een indruk te geven van het geheel en de interacties.

De broncode van mijn Creatures is hier te vinden.


This post is tagged , , , , , , , ,

Leave a Reply

Categories