🕛
Thursday / Oct 20th, 202210/20/2022

Challenges

Featured Challenge:
#174 — AppleSoft Basic Fractal Tree

Take a trip back in time and let's learn all about GR (graphics) and HGR (high resolution graphics) in AppleSoft BASIC on a restored Apple II+ computer! Can we render a fractal tree?

sep 12, 2022

AppleSoft Basic Fractal Tree

Filter by Language

p5.js

Filter by Topic

Pick a topic to filter

In this challenge, I use my JavaScript neural network library and a genetic algorithm to train an agent to play Flappy Bird.

Neuroevolution Flappy Bird

In this multi-part coding challenge, I implement a Quadtree data structure in JavaScript and visualize it with p5.js.

Quadtree

In this multi-part coding challenge, I code the sliding puzzle game 2048 in JavaScript using canvas and p5.js.

2048 Sliding Puzzle Game

In this coding challenge, I use my Toy Neural Networks library to solve the XOR problem.

XOR Problem

In this multi-part coding challenge, I attempt to create a simulation of the classic board game Snakes & Ladders (also known as Chutes and Ladders).

Snakes & Ladders

The artist BeesandBombs makes amazing algorithmic looping GIFs! Here's my attempt to recreate one of my favorite GIFs in JavaScript with p5.js and the WEBGL renderer.

Cube Wave by Bees and Bombs

In this coding challenge, I attempt to code Conway’s Game of Life cellular automata simulation in JavaScript using the p5.js library.

The Game of Life

In this multi-part challenge, I implement two possible solutions to Golan Levin's Circle Morphing challenge.

Circle Morphing

In this coding challenge, I explore the concept of a simple particle system and attempt to create a smoke effect with the p5.js library.

Simple Particle System

In this coding challenge, I attempt to create a version of the classic one-line Commodore 64 BASIC program in JavaScript using p5.js. This coding challenge is inspired by the book 10 PRINT.

10Print

In this coding challenge, I make a "Wikipedia web crawler" in JavaScript. It randomly crawls from topic to topic on Wikipedia using the API and the p5.js library.

Wikipedia API

In this coding challenge, I attempt to program a clock in HTML5 canvas with the p5.js library.

Clock

In this challenge, I attempt to code the classic game Minesweeper in JavaScript with the p5.js library.

Minesweeper

In this coding challenge, I explore the concept of recursion to create fractal patterns in JavaScript HTML5 canvas with the p5.js library.

Recursion

In this multi-part coding challenge, I create a system where autonomous steering agents evolve the behavior of eating food and avoiding poison.

Evolutionary Steering Behaviors

In this two part challenge, I implement the Breadth-First Search algorithm in JavaScript. My demo application is "6 Degrees of Kevin Bacon" (finding the closest relationship between Kevin Bacon and another actor).

Breadth-First Search

In this video, I use the p5.js library to create a web-based countdown timer. I discuss the native JavaScript method setInterval() and well as p5’s millis().

JavaScript Countdown Timer

This multi-part coding challenge is part of the first week of my course: "Intelligence and Learning." Here I attempt to implement a classic data structure: The Binary Search Tree.

Binary Tree

I love all things random and chance so why not make a Plink simulation with the matter.js physics engine and p5.js!

Plinko with Matter.js

Inspired by Everest Pipkin’s Moth Generator, I use trigonometry and perlin noise to procedurally generate butterfly wing designs with p5.js.

Butterfly Generator

In this coding challenge, I look at extracting font path points from text in p5.js with p5.Font.textToPoints(). I render the text as particles with steering behaviors that react to the mouse.

Steering Behaviors

In this bonus super-sized coding challenge, I work through visualizing Islamic Star Patterns in p5.js.

Islamic Star Patterns

In this coding challenge, I attempt to create rose (rhodonea) curves using trigonometry function and polar coordinates.

Mathematical Rose Patterns

In this coding challenge, I simulate a "random walk" with vectors in p5.js, varying the distance of each step size. This is known as a "Lévy Flight" (named after french mathematician Paul Lévy.)

Random Walker with Vectors and Lévy Flight

In this coding challenge, I simulate a "random walk" with the p5.js library. This video is part of the course Nature of Code at ITP, Tisch, NYU.

Random Walker

In this multi-part coding challenge, I attempt an implementation of the A* Pathfinding Algorithm to find the optimal path between two points in a 2D grid.

A* Pathfinding Algorithm

In this two part coding challenge, I use the p5.js library to create my own version of the classic Atari video game Asteroids!

Asteroids

Sure, flappy bird is fun, but what happens if we take away the button and control the bird with clapping! Yes, it's time for Clappy Bird!

Clappy Bird

In this coding challenge, I make a Mad Libs web application using p5.js and tabletop.js (a JavaScript library for connecting to google sheet data.)

Mad Libs Generator

The Diastic technique is a methodology and algorithm for generating found poetry from a source text. It was developed and used by poet / artist Jackson Mac Low. In this challenge, I generate diastic poems using p5.js.

Diastic Machine

In this coding challenge, I simulate a blob-like shape with wobbly edges using beginShape(), endShape(), polar coordinates, and perlin noise.

Blobby!

In Part 1 of this multi-part coding challenge, I introduce the classic computer science problem of the Traveling Salesperson (TSP) and discuss the pitfalls with a brute force solution. In Part 2, I discuss Lexicographic Ordering and demonstrate one algorithm to iterate over all the permutations of an array. In Part 3, I apply this algorithm to a brute-force solution of the TSP problem. Every single route permutation is checked one by one. In Part 4, I attempt to create a solution to the TSP problem with a genetic algorithm, and then I add a “crossover” algorithm in Part 5.

Traveling Salesperson

In this coding challenge, I implement a "Poisson-disc Sampling" algorithm to evenly (but randomly) distribute a set of seed points throughout a canvas. The algorithm is implemented in JavaScript using p5.js.

Poisson-disc Sampling

In this coding challenge, I explore the generative algorithm "Diffusion-Limited Aggregation". The pattern is generated from random walkers clustering around a seed (or set of seed) point(s).

Diffusion-Limited Aggregation

It's time to attempt to build a Flappy Bird clone in JavaScript with the p5.js!

Flappy Bird

In this coding challenge, I continue one of my favorite subjects: Algorithmic botany! This video covers the subject of Phyllotaxis, what it is and how it can be used to generate sunflower-like patterns inspired by nature.

Phyllotaxis

In this coding challenge, I implement a "smart rockets" algorithm (based on a simulation by Jer Thorp).

Smart Rockets in p5.js

In this 4th of July themed coding challenge, I build an HTML5 canvas fireworks simulation from scratch using the p5.js JavaScript library. I also show how to use Processing to create 3D Fireworks.

Fireworks

In this coding challenge, I use Perlin noise to create a two-dimensional flow field with the p5.js library.

Perlin Noise Flow Field

In this coding challenge, I show you how to make 2D supershapes in p5.js.

2D Supershapes

In this coding challenge, I’m going to use superformulas to create a superellipse in p5.js. This is part 1 of a multi-part series on superformulas, superellipses and supershapes.

Superellipse

More algorithmic botany! Another way to generate a fractal tree is to consider every part of the tree an object, so that we can apply forces and attributes to all the branches and leaves and more!

Object-Oriented Fractal Trees

In this coding challenge, I'm building on top of the Space Colonization video and creating a 3D Fractal Tree, using the same algorithm, in Processing.

3D Fractal Trees

In this third installment of my series on algorithmic botany, I discuss L-systems and how they can be used to generate trees and other fractal patterns in p5.js.

Fractal Trees - L-System

In this coding challenge, I'm using the space colonization algorithm to make a tree generator. This is the 4th part of my algorithmic botany series.

Space Colonization

In this coding challenge, I'm implement fractal trees with recursion in p5.js. This is the first part of a series on algorithmic botany.

Recursive Fractal Trees