Skip to content

ona-SE/doom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ DOOM for Gitpod

Open in Gitpod

A web-accessible version of the classic DOOM game, optimized for Gitpod cloud development environments using modern Gitpod Automations. Play the legendary FPS directly in your browser!

โœจ Features

  • ๐ŸŽฏ Chocolate DOOM (modern, compatible DOOM port)
  • ๐ŸŒ Web browser access through VNC interface
  • โšก Gitpod Automations for seamless setup
  • ๐Ÿณ Dev Container configuration
  • ๐Ÿ”ง Cross-platform compatibility
  • ๐ŸŽฎ Shareware DOOM episode included

๐Ÿš€ Quick Start

Option 1: One-Click Gitpod (Recommended)

  1. Click the "Open in Gitpod" button above
  2. Wait for the environment to build (2-3 minutes)
  3. Run: gitpod automations workflow start quick-start
  4. Access the game through the preview panel on port 6080
  5. Start playing DOOM in your browser!

Option 2: Manual Gitpod Automations

# Setup DOOM environment
gitpod automations task start setup-doom

# Start VNC server
gitpod automations service start vnc-server

# Launch DOOM
gitpod automations task start start-doom

๐ŸŽฎ Controls

Key Action
โ†‘โ†“โ†โ†’ Movement
Ctrl Fire weapon
Space Use/Open doors
Tab Toggle automap
Esc Main menu
Enter Select menu item

๐Ÿ—๏ธ Architecture

  • Engine: Chocolate DOOM (modern, compatible port)
  • Graphics: Software rendering with VNC web interface
  • Web Access: VNC server (port 5900) + web client (port 6080)
  • Automation: Gitpod Automations with services and tasks
  • Container: Ubuntu 22.04 with development tools

๐Ÿ“ Project Structure

โ”œโ”€โ”€ DOOM/                     # Original id Software source (reference)
โ”œโ”€โ”€ scripts/                  # Automation scripts
โ”‚   โ”œโ”€โ”€ setup.sh             # Environment setup
โ”‚   โ”œโ”€โ”€ start-doom.sh        # Game launcher
โ”‚   โ”œโ”€โ”€ vnc-web.sh           # VNC interface
โ”‚   โ””โ”€โ”€ test.sh              # Validation suite
โ”œโ”€โ”€ .devcontainer/           # Dev Container configuration
โ”œโ”€โ”€ .gitpod/                 # Gitpod configuration
โ”‚   โ””โ”€โ”€ automations.yaml    # Automations definition
โ””โ”€โ”€ README.md               # This file

๐Ÿค– Gitpod Automations

This project uses Gitpod's modern automation system:

Services

  • vnc-server: Runs VNC web interface for browser access

Tasks

  • setup-doom: Install Chocolate DOOM and download WAD file
  • start-doom: Launch DOOM with web interface
  • test-setup: Verify installation and configuration

Workflows

  • quick-start: Complete setup and launch
  • development: Setup for development and testing

๐Ÿงช Testing

Test the setup:

gitpod automations task start test-setup

Or use the legacy script:

./scripts/test.sh

๐ŸŽฏ Game Assets

The setup automatically downloads the shareware DOOM episode (E1M1-E1M9). For the full game experience:

  1. Place your own doom.wad or doom2.wad file in the project root
  2. Chocolate DOOM supports all official DOOM WAD files

๐ŸŒ Web Interface

The game runs through a VNC server accessible via web browser:

  • VNC Server: Port 5900 (internal)
  • Web Interface: Port 6080 (auto-forwarded)
  • Technology: VNC + websockify for browser compatibility

๐Ÿ“‹ Requirements

  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • Gitpod account (free tier sufficient)
  • Internet connection for initial setup

๐Ÿ› Troubleshooting

Game won't start

# Check setup
gitpod automations task start test-setup

# Verify WAD file
ls -la *.wad

# Check VNC service
gitpod automations service status vnc-server

No display in browser

  • Ensure VNC service is running: gitpod automations service start vnc-server
  • Check port forwarding in Gitpod
  • Try refreshing the preview panel

Audio issues

  • Audio may be limited in browser environments
  • Chocolate DOOM handles audio automatically

๐Ÿ”ง Development

Using Gitpod CLI

# List all automations
gitpod automations list

# Check service status
gitpod automations service status vnc-server

# View task logs
gitpod automations task logs setup-doom

# Update automations
gitpod automations update .gitpod/automations.yaml

Legacy Scripts

The project includes legacy scripts for compatibility:

  • ./scripts/setup.sh - Environment setup
  • ./scripts/start-doom.sh - Game launcher
  • ./scripts/test.sh - Testing suite

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Test with: gitpod automations task start test-setup
  4. Submit a pull request

๐Ÿ“œ License

This project uses Chocolate DOOM under GPL v2. The Gitpod configuration and automation scripts are also GPL v2.

๐Ÿ™ Acknowledgments

  • id Software for releasing the DOOM source code
  • Chocolate DOOM Team for the modern, compatible port
  • Gitpod for cloud development environments and Automations
  • VNC/noVNC for web-based remote desktop access

Ready to rip and tear? Click the Gitpod button and start playing! ๐Ÿ”ฅ

๐Ÿ†• What's New in This Version

  • โœ… Modern Gitpod Automations instead of deprecated .gitpod.yml
  • โœ… Dev Container configuration for proper environment setup
  • โœ… Chocolate DOOM for maximum compatibility
  • โœ… Automated testing and validation
  • โœ… Service-based architecture for VNC web interface

About

doom

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors