Maak een verhalen- en beeldenbot met Seed

From Fri3d WIKI 2018
Revision as of 07:30, 17 August 2018 by Enigmeta (Talk | contribs) (Beeld Generatie)

Jump to: navigation, search

Seed is een programma voor procedurele generatie: via Seed kan je je eigen bots maken die grappige recepten genereren, zelf Haiku's schrijven, absurde moppen tappen, abstracte kunst maken of complete webpagina's ontwerpen.

Seed werkt met "sketches", kleine programmaatjes die iets genereren. Elk programmaatje bevat een aantal keuzemogelijkheden waaruit Seed willekeurig een keuze maakt. Die zinnetjes kunnen weer verwijzen naar andere zinnetjes, enzovoort. Seed werd ontwikkeld aan Sint Lucas Antwerpen, en kan je hier vinden: https://seed.emrg.be/ Het werkt het beste op een laptop of desktop computer.

Snelle links

De interface

De Seed interface bestaat uit drie grote onderdelen: aan de linkerkant typ je je Seed instructies, aan de rechterkant zie je de output. Door op de "generate" knop te drukken maak je een nieuwe variant. Elke variant heeft een unieke code (de "random seed"); dezelfde code geeft telkens dezelfde output.

https://debleser.be/2018/fri3d/seed-screenshot.png

Seed sketches sla je op door op "Save" te drukken. Dit maakt een unieke URL die je met anderen kan delen. De sketch op deze URL wijzigt nooit: als je nog iets wil veranderen moet je terug op "Save" drukken en krijg je een andere URL. Je kan deze URLs best ergens bijhouden (bijvoorbeeld in een Google Doc). Het systeem van onwijzigbare URLs lijkt misschien raar, maar het vermijdt dat je moet beginnen knoeien met logins en paswoorden. Seed schetsen kunnen ook verwijzen naar elkaar, en dan is het handig dat zaken die je importeert niet plotseling beginnen veranderen.

Het systeem

Seed werkt doordat je de regels die onderliggen aan een systeem uiteen haalt en terug hercombineert op grappige manieren. Als je aan Seed het principe van een Haiku kan uitleggen (5/7/5 lettergrepen), kan je een Haiku-generator maken. Als je kan uitleggen hoe een typisch recept eruit ziet (eerste de ingredienten, dan de verschillende stappen) maak je zo een receptenbot. Als je kan uitleggen hoe de filosofie van Kant eruit ziet.... you get the idea.

Seed genereert enkel tekst. Maar we doen iets slims: webpagina's zijn ook tekst (HTML code, met CSS voor de vormgeving). Seed kan dus ook (stukken van) webpagina's maken. Het kan ook beelden maken: SVG is een web-standaard voor het maken van vectorbeelden en werkt ook met tekst. Kijk hier voor een eenvoudig voorbeeld om een beeld te genereren.

Tekst Generatie

Beeld Generatie

Animatie

Technieken

Seed bestaat nog maar een paar maanden dus er zijn nog heel wat zaken aan te ontdekken, ook voor ons (de makers van Seed). Toch hebben we al een aantal goede technieken ("best practices") ontdekt.

  • Hou een logboek bij. Omdat Seed scripts onwijzigbaar zijn eens ze zijn opgeslagen, kan je best extern een logboek bijhouden van de verschillende scripts. Wij doen dit zelf via Slack, een chat-applicatie. Daarin posten we steeds een screenshot + URL van een script.
  • De root is meestal maar een element. Voor grotere schetsen is de root meestal maar 1 enkel element. Dat bestaat uit een stuk HTML en CSS code. Je kan meerdere lijnen gebruiken door de code met 2 spaties te laten inspringen. Zelfs al is er maar 1 keuze, dan nog is het keuze-streepje vooraan belangrijk.
  • KISS (Keep It Simple, Stupid) Seed is een tool voor exploratie: gebruik het voor kleine en grotere experimenten, maar beschouw het als een experimenteer-tool. De beste ideeen zijn dikwijls niet al te groot: bv. in een paar minuten tot uren te maken, zeker niet dagen of weken!
  • Just try it. We hebben de drempel zo laag mogelijk gemaakt. Denk je dat een leuk idee hebt? Probeer het gewoon uit. Laat het wat groeien, en deel het met de wereld.
  • F*ck Twitter We wilden heel graag de mogelijkheid inbouwen om Seed-bots te bouwen die om de paar uur een berichtje met een nieuw script op Twitter zetten. Er zijn heel wat voorbeelden van dit soort creatieve Twitter-bots. Kijk bijvoorbeeld naar "Tiny Subversions" van Darius Kazemi. Twitter heeft echter dit soort bots recentelijk verboden in wat ze "the great bot purge" noemen, voornamelijk met de intentie van Russische spam-bots te verbieden maar daarbij ook een heel creatief aspect van Twitter hebben ontnomen. (Lees voor meer info dit artikel) Tot Twitter z'n regels terug aanpast kunnen we dit dus helaas niet aanbieden.

Shu/ha/ri

Om Seed te leren kan je het principe van Shuhari toepassen. Het is een oude techniek uit de Japanse gevechtssport waarbij je eerst bestaande schetsen probeert zo goed mogelijk te kopieeren (Shu - protect/obey), daarna je eigen variaties maakt (Ha - detach/digress), en uiteindelijk de meester overstijgt (Ri - leave/separate).

Seed leent zich hier goed toe omdat je steeds een bestaand voorbeeld kan bekijken en aanpassen zonder dat je het origineel overschrijft. Als je een leuke variant hebt gemaakt kan je die bewaren door gewoon op "Save" te drukken, zonder dat je een account nodig hebt. Uiteindelijk maak je helemaal nieuwe zaken zonder te beginnen vanaf een bestaand voorbeeld.

Verder Leren