text: 
     let gameOfLifeEl = document.querySelector("#gameOfLife");
  
     window.addEventListener('scroll', function(){
         let value = 1 + window.scrollY/-600;
         gameOfLifeEl.style.opacity = value
     })
    
      function make2DArray(cols, rows) {
          let arr = new Array(cols);
          for (let i = 0; i < arr.length; i++) {
              arr[i] = new Array(rows);
          }
          return arr;
      }
  
      let grid;
      let cols;
      let rows;
      let resolution = 5;
  
  
      function setup() {
          var canvas = createCanvas(1920, 1080)
          canvas.parent('gameOfLife')
          cols = width / resolution;
          rows = height / resolution;
          grid = make2DArray(cols, rows);
          for (let i = 0; i < cols; i++) {
              for (let j = 0; j < rows; j++) {
                  grid[i][j] = floor(random(2))
              }
          }
      }
  
      function draw() {
          background(0)
  
          for (let i = 0; i < cols; i++) {
              for (let j = 0; j < rows; j++) {
                  let x = i * resolution
                  let y = j * resolution
                  if (grid[i][j] == 1) {
                      fill(55, 55, 55)
  
                      stroke(233, 233, 233)
  
                      circle(x, y, resolution - 1,);
                  }
              }
          }
  
          let next = make2DArray(cols, rows);
  
          // compute next based on grid
          for (let i = 0; i < cols; i++) {
              for (let j = 0; j < rows; j++) {
                  let state = grid[i][j];
  
  
                  //count live neighbors
  
                  let sum = 0
                  let neighbors = countNeighbors(grid, i, j);
  
                  if (state == 0 && neighbors == 3) {
                      next[i][j] = 1
  
                  } else if (state == 1 && (neighbors < 2 || neighbors > 3)) {
                      next[i][j] = 0;
                  } else {
                      next[i][j] = state;
                  }
  
              }
          }
          grid = next;
      }
  
  
  
      function countNeighbors(grid, x, y) {
          let sum = 0
          for (let i = -1; i < 2; i++) {
              for (let j = -1; j < 2; j++) {
  
                  let col = (x + i + cols) % cols;
                  let row = (y + j + rows) % rows;
  
                  sum += grid[col][row]
              }
          }
          sum -= grid[x][y]
          return sum;
      }
  
    
    