e)*s.step, r.angle 
  FROM rays r, p, s 
  UNION ALL 
  SELECT rt.col, rt.step_count + 1, rt.fx + COS(rt.angle)*s.step, rt.fy + SIN(rt.angle)*s.step, rt.angle 
  FROM raytrace rt, s 
  WHERE rt.step_count < s.max_steps 
  AND NOT EXISTS (
    SELECT 1 FROM map m 
    WHERE m.x = CAST(rt.fx AS INT) AND m.y = CAST(rt.fy AS INT) AND m.tile = '#'
  )
),
/* ... more SQL ... */
  </pre>

  <div class="demo-container">
    <h2>Controls</h2>
    <ul>
      <li><strong>W</strong> - Move forward</li>
      <li><stron