explaingit

carter54git/build-engine-games-web-showcase

Analysis updated 2026-05-18

4HTMLAudience · developerComplexity · 3/5Setup · hard

TLDR

A browser-based launcher shell for classic Build Engine games (Duke Nukem 3D, Blood, Shadow Warrior) that runs via WebAssembly, you supply the engine binaries and original game data.

Mindmap

mindmap
  root((Build Engine Showcase))
    What it is
      Browser launcher shell
      WebAssembly WebGL runner
      IndexedDB saves
    Games supported
      Duke Nukem 3D
      Blood Redneck Rampage
      Shadow Warrior
      Many more
    What you provide
      Game GRP data files
      Prebuilt wasm binaries
    Setup
      PowerShell sync scripts
      Python local server
      Static hosting deploy
    Languages
      English Russian UI
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Host a browser-playable version of Duke Nukem 3D for a retro gaming site, providing your own WebAssembly build and retail GRP data.

USE CASE 2

Self-host the launcher shell on static hosting so friends can play classic Build Engine games from a shared URL without installing anything.

USE CASE 3

Extend the launcher to add a new supported game by adding its run.html page and wiring it into the launcher grid.

What is it built with?

HTMLJavaScriptWebAssemblyWebGLPythonPowerShell

How does it compare?

carter54git/build-engine-games-web-showcasehannah-wright/saas-landing-page-templatekerbelp/context-md
Stars435
LanguageHTMLHTMLHTML
Setup difficultyhardeasyeasy
Complexity3/51/51/5
Audiencedevelopervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires separately compiled WebAssembly game engine binaries and retail game data files that are not included in this repository.

No explicit license stated for the launcher shell, game data and engine ports are separately governed by their respective rights holders.

In plain English

This repository is the web launcher shell for playing classic Build Engine games in a browser. Build Engine was the technology behind 1990s first-person shooters like Duke Nukem 3D, Blood, and Shadow Warrior. The launcher uses WebAssembly and WebGL, two modern browser technologies that allow compiled game code to run at near-native speed without any plugin installation. Players pick their game from a grid in the launcher, provide their original game data file, and the game runs directly in the browser tab. What the repository actually contains is just the frontend shell: the HTML launcher pages, JavaScript save-management code, a game data verification system, and deployment scripts. The actual game engines, compiled as WebAssembly binaries, come from separate community port projects such as NBlood, EDuke32, and Rednukem, which are not included here. You are also responsible for providing your own legitimately purchased copy of each game's data files, since those are copyrighted by their original publishers and cannot be distributed. The supported game list is long: Duke Nukem 3D and its DLC, Blood, Redneck Rampage, Shadow Warrior and its add-ons, NAM, WW2 GI, Powerslave, TekWar, Witchaven I and II, and others listed in the launcher grid. The launcher interface is available in English and Russian. Saves are stored in the browser's IndexedDB, which is a built-in browser storage system, so progress persists between sessions without needing a server. To run it locally you need PowerShell to run the included scripts, which copy the WebAssembly builds from sibling project folders on your desktop into the correct directory layout. A Python script handles serving the files locally. Deploying to the public web means uploading the whole folder to any static web host. There is a live demo available at the URL listed in the README. The repository itself covers only the launcher shell, the underlying game port code lives in its own separate repositories.

Copy-paste prompts

Prompt 1
Walk me through setting up the Build Engine Games Web Showcase locally: running sync-from-projects.ps1, starting the server, and loading a Duke Nukem 3D GRP file.
Prompt 2
I want to add a new game to the launcher grid. Show me the structure of an existing per-game run.html and what I need to change to support a new title.
Prompt 3
Explain how the IndexedDB save system in saves.js works and how I can export or back up a save file from the browser.
Prompt 4
Help me deploy the Build Engine Web Showcase to Cloudflare Pages or Netlify, including what files need to be present in each game subdirectory.
Prompt 5
Show me how the GRP verification in usergrp.js works and what happens when a user provides the wrong game data file.

Frequently asked questions

What is build-engine-games-web-showcase?

A browser-based launcher shell for classic Build Engine games (Duke Nukem 3D, Blood, Shadow Warrior) that runs via WebAssembly, you supply the engine binaries and original game data.

What language is build-engine-games-web-showcase written in?

Mainly HTML. The stack also includes HTML, JavaScript, WebAssembly.

What license does build-engine-games-web-showcase use?

No explicit license stated for the launcher shell, game data and engine ports are separately governed by their respective rights holders.

How hard is build-engine-games-web-showcase to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is build-engine-games-web-showcase for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub carter54git on gitmyhub

Verify against the repo before relying on details.