This project runs the classic DOOM game inside a Google Sheets document using Google Apps Script and JavaScript. The game is rendered frame-by-frame by updating the background colors of spreadsheet cells.
- Runs DOOM inside Google Sheets.
- Captures frames from the game and renders them as colored spreadsheet cells.
- Updates only changed cells to optimize performance.
- Uses js-dos to emulate the DOS version of DOOM.
- JavaScript Rendering: The HTML file loads DOOM using js-dos and captures frames at a reduced resolution (120x80).
- Frame Processing: The script detects changed pixels and queues updates.
- Google Sheets Updates: The
Code.gs
script updates the spreadsheet with new colors.
- Open a new Google Sheets document.
- Go to Extensions > Apps Script.
- Replace
Code.gs
with the provided script. - Add a new file named
Index.html
and paste the provided HTML code. - Save and refresh the spreadsheet.
- Click DOOM > Launch DOOM in the Google Sheets menu.
- Adjust the sheet grid to 120 columns × 80 rows.
- Performance is very slow: Updating the sheet cell-by-cell is inefficient.
- Manual Grid Setup: The user must set the correct spreadsheet size manually.
- Limited Colors: Google Sheets does not support true color rendering.
Instead of setting it up manually, you can try a pre-configured version here: DOOM on Google Sheets (Live)
Watch a demonstration of DOOM running on Google Sheets:
Enjoy retro gaming in an unusual place!