Daily Rituals
This program is inspired by game designer Michael Brough's VESPER.5 (also see this interview with Michael), as well as the instruction works of Yoko Ono, the long-running exhibition series Do It and the small exhibition and objects #Fortune by artist and game designer Zach Gage.
Daily rituals uses L5's loadStrings() function to load a text file things.txt with 31 meditative artistic tasks, one for each possible day of a month.
The text file can be downloaded for use with the L5 program, or you can write your own. Be sure to place it in the same folder of your Daily Rituals project. It should have at least 31 lines of text. The font file Frijole-Regular can be downloaded and placed in the same folder.
The program labels the window with the current day, loads the font and sets up text styling. Then it loads the lines of text from the text file into an array with as many elements as total days in a month. Finally, it draws some random lines for texture, grabs the current day of the month, and displays the day's ritual. Try logging your daily practice.
After trying out the program, consider changing the rituals, font, altering the time period, even building a way to save your own response to the ritual prompts, turning it into a game, or making your own totally new derivation on the idea.
Enjoy it.

require("L5")
function setup()
local date=(year().." "..month().." "..day())
windowTitle("Daily ritual "..date)
f = loadFont("Frijole-Regular.ttf")
textFont(f)
textSize(48)
things = loadStrings("things.txt")
background("blue")
stroke("grey")
-- adds some texture
for i = 1, floor(random(12) + 1) do
strokeWeight(random(1, 12))
line(random(width), random(height), random(width), random(height))
end
fill("yellow")
-- activity by day of the month
local today = things[day()]
text(today, 25, 25, width - 50)
end
Related References
Related Examples
- 10print variations - An implementation of the classic maze-drawing algorithm
- Animation with Events - Pause and resume animation.
- Conditions - Use if and else statements to make decisions while your sketch runs.
- Copy Image Data - Paint from an image file onto the canvas.