Skip to content

A component for displaying and playing Conway's Game of Life using WebGL run on the host system's GPU.

License

Notifications You must be signed in to change notification settings

JMicheli/webgl-gol

Repository files navigation

WebGL Game of Life

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.

Development

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

Controls

Mouse

LMB - Place cells

Ctrl + LMB - Remove cells

Keys

space - Pause/resume simulation

s - Step simulation (while paused)

c - Clear cells

r - Randomize cells

Tooling and deployment

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.

About

A component for displaying and playing Conway's Game of Life using WebGL run on the host system's GPU.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published