Skip to main content

Command Palette

Search for a command to run...

WCCC_Construction

Constructing Entities, Constructed Languages

Updated
4 min read
WCCC_Construction

YonderVerseOfBlob

For this week's Creative Code challenge by @sableRaph: “Construction“, YonderVerseOfBlob is coded in SonicPi ,Python , LiveCodeLab & HydraVideoSynth. It plays on the theme of Construction by entering a reconstructed world of blobs (LiveCodeLab & HydraVideoSynth) with their own mini conlang (constructed language) made in Python .

Poetry

In the Lands, Outside of our Scope
Lies a verse that constructs outside of our tropes
With languages related to the elements
And blobs reconstructing their previous movements
The Yonderverse of Blobs
May render hope,
May glitchify its pixels
But would the output be vibes that can trickle?

Video

YonderVerseOfBlobs

ConLang Table

Thunder Affiliated Words

#Two Syllables Words
['bee-dfd', 'yc-ax', 'ye-o', 'uxx-e', 'tdd-c', 'b-af', 'uxx-e', 'yxx-a', 'txx-ecd']

#Three Syllables Words
['odd-tee-tc', 'uxx-a-bdd', 'bc-ae-oee', 'oe-a-tff', 'bc-eae-u', 'ue-eee-bf', 'txx-f-e', 'bxx-af-c', 'bee-fex-off', 'bdd-f-u', 'b-ca-ae', 'b-e-yff', 'b-xce-x', 't-ef-ded']

Fire Affiliated Words

#Two Syllables Words
['cx-x', 'eed-c', 'ex-af', 'cc-fe', 'a-ae', 'e-ce', 'fee-ua', 'fe-a', 'ee-e', 'cd-u', 'a-f', 'ea-f', 'e-fd', 'fe-yc', 'eae-txx', 'c-d', 'ef-ydd', 'ca-d', 'ce-fe', 'ff-ee']

#Three Syllables Words
['cd-fad-a', 'e-x-fe', 'ed-oe-ef', 'fad-fa-c', 'efx-tf-ed', 'c-bc-bee', 'e-fd-fe', 'cx-c-a', 'fef-u-tee', 'c-ae-ee', 'eed-b-of', 'cx-x-c', 'a-f-t', 'af-bee-b', 'f-e-cd', 'ff-f-ed', 'ff-eee-fae']

Water Affiliated Words

#Two Syllables Words
['eed-c', 'd-ef', 'ex-af', 'e-ce', 'fee-ua', 'fe-a', 'ee-e', 'xed-bff', 'ea-f', 'd-udd', 'e-fd', 'fe-yc', 'eae-txx', 'ef-ydd', 'ff-ee']

#Three Syllables Words
['e-x-fe', 'ed-oe-ef', 'fad-fa-c', 'efx-tf-ed', 'e-fd-fe', 'fef-u-tee', 'eed-b-of', 'f-e-cd', 'ff-f-ed', 'd-a-fe', 'ff-eee-fae']

Code

Python (ConLang)

import random as rd
import re

#pattern to remove all non letters
pattern = r'[^a-zA-Z]' 

v = ['a','c','e','f']
c = ['f','x','d', 'e']
f = ['o','y','t','u','b']

def wordChoice():
    
    #letters in this conlang

    v = ['a','c','e','f']
    c = ['f','x','d', 'e']
    f = ['o','y','t','u','b']
    
    #Setting rules and structure to language : Letter combos
    
    vc = [rd.choice(v),rd.choice(c)]
    cvc = [rd.choice(c),rd.choice(v),rd.choice(c)]
    vv = [[rd.choice(v),rd.choice(v)]]
    c = [rd.choice(c)]
    v = [rd.choice(v)]
    f = [rd.choice(f)]
    fv =[rd.choice(f),rd.choice(v)]
    fcc =[rd.choice(f),rd.choice(c),rd.choice(c)]
    
    syllables = [vc,cvc,vv,c,v,f,fv,fcc]
    struct = [rd.choice(syllables)]
    
    return str(struct)

# List of Words
wordList = []

'''
Making a 64 WordList

'''
def listing():

    for i in range(16):

        # turn it into words, removing the non letters
        wordList.append(re.sub(pattern, '', wordChoice()) + '-' + re.sub(pattern, '', wordChoice()))


    # 3 Syllables List
    for i in range(16):

        # turn it into words, removing the non letters, using extend to keep the content within one
        wordList.append(re.sub(pattern, '', wordChoice()) + '-' + re.sub(pattern, '', wordChoice()) + '-' + re.sub(pattern, '', wordChoice()) )

listing()
listing()

# Elemental Structure by checking if an the starting word mataches one of the 3 lists and if true appends to a new list

fire = []
water = []
thunder = []

W_List = wordList

def elementalCheck(x,y):

    for i in range(len(W_List)): #transverses the whole list

        #check the starting word with each element in the list

        for prefix in x : 
            if W_List[i].startswith(prefix) == True:
                y.append(W_List[i])


elementalCheck(v,fire)
elementalCheck(c,water)
elementalCheck(f,thunder)
            
#Seperating by Syllables

thunder_two = []
thunder_three = []
fire_two = []
fire_three = []
water_two = []
water_three = []


for words in range(len(thunder)):
    if len(thunder[words].split('-')) == 2:
        thunder_two.append(thunder[words])
    if len(thunder[words].split('-')) == 3:
        thunder_three.append(thunder[words])
    
for words in range(len(fire)):
    if len(fire[words].split('-')) == 2:
        fire_two.append(fire[words])
    if len(fire[words].split('-')) == 3:
        fire_three.append(fire[words])
    
    
for words in range(len(water)):
    if len(water[words].split('-')) == 2:
        water_two.append(water[words])
    if len(water[words].split('-')) == 3:
        water_three.append(water[words])
    

    

LiveCodeLab - Pre Construction of the YonderVerse Blobs

simpleGradient yellow,orange,gold

ambientLight yellow

47 times with i
	move i/1000, i/10000, i/10000
	rotate i/1000,i/10000, wave(i/1000)
	peg wave(i/50), wave(i/25), wave(i/100)*i/20
simpleGradient red,blue,violet

ambientLight green

47 times with i
	move i/1000, i/10000, i/10000
	rotate i/1000,i/10000, wave(i/1000)
	peg wave(i/70), wave(i/125), wave(i/70)*i/20
simpleGradient black,maroon,yellow

ambientLight blue

47 times with i
	move i/1000, i/10000, i/10000
	rotate i/1000,i/10000, wave(i/1000)
	peg wave(i/7), wave(i/25), wave(i/20)*i/20

HydraVideoSynth - First Construction

s0.initScreen()

src(s0).pixelate(55,55).colorama().out()

HydraVideoSynth - Second Construction

s0.initScreen()

src(s0).pixelate(55,55).colorama().blend(src(s0).scale(2.05)).scale(0.75).out()

SonicPi

live_loop :do do
  use_random_seed Time.now.to_i / 2
  with_fx :echo, mix: [0.65,0.45,0.75].choose do
    with_fx :ixi_techno, mix: [0.15,0.35,0.57,0.74].tick do
      use_bpm 30
      sample [:bd_808,:drum_heavy_kick,:bd_klub].choose, amp: dice(5) if spread(5,8).tick
      sleep [0.5,1,2].choose
    end
  end
  
end


live_loop :do1 do
  use_random_seed Time.now.to_i / 4
  with_fx :echo,decay: 0.75, mix: 0.65 do
    with_fx :ixi_techno, mix: [0.15,0.35,0.57,0.74].choose do
      use_bpm  30
      sample [:bd_gas,:drum_snare_hard,:tabla_na_o ].choose, amp: dice(4) if spread(17,24).tick
      sleep [0.25,0.5,1,2].choose
    end
  end
  
end

WCCChallenge

Part 7 of 50

Submissions to the WCCChallenge

Up next

WCCC_Evolution

Code Evolving Motions