A component for displaying and playing Conway's Game of Life using WebGL run on the host system's GPU.
Implemented in TypeScript using Lit for compilation to native, reusable WebComponents.
A live demo of the application is available here.
Ensure that you have Git and Node.js (version >= 11.0) installed as well as a package manager such as npm, pnpm, or yarn. These instructions assume npm will be used.
Clone the repository:
git clone https://github.com/JMicheli/webgl-gol
Install dependencies:
npm i
Start development server:
npm run dev
LMB - Place cells
Ctrl + LMB - Remove cells
space - Pause/resume simulation
s - Step simulation (while paused)
c - Clear cells
r - Randomize cells
This project uses ESLint, Prettier, TypeScript, Vite, and Jekyll in its build process. These have configuration files located in tools/
to keep the root directory small.
The project is deployed as a GitHub page at jmicheli.github.io/webgl-gol using GitHub Actions.
© Joseph W. Micheli 2021, all rights reserved. See license.txt
for further information.