Skip to content
/ Quake3 Public

A Quake III Arena port designed for running in vanilla JavaScript pre-ECMAScript 2015 (no WebAssembly)

Notifications You must be signed in to change notification settings

lrusso/Quake3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quake III Arena

A Quake III Arena port designed for running in vanilla JavaScript pre-ECMAScript 2015 (no WebAssembly). Simply open the link below, click the red icon, and select all the PK3 files and q3config.cfg (optional); all files will be loaded and booted automatically. If you have the commercial version and you want to play it, you need to have the Point Release 1.32 version, this means than you need to have and select at least the following files: pak0.pk3, pak1.pk3, pak2.pk3, pak3.pk3 and pak4.pk3. The multiplayer mode is not available in this project, for multiplayer check the original project link at the bottom of this document.

alt screenshot

Links:

How to use it:

Examples of loading local and online files can be found here and here.

embedQuake3({
  container: "game",
  files: event.target.files,
  cbStarted: function cbStarted() {
    pleaseWait.style.display = "none"
  },
})
Parameter Type Required Description
container string yes Target element ID.
files Array of Blobs or FileList yes PK3s and q3config.cfg.
cbStarted function no Called on game start.

Special keys:

Action macOS Shortcut Windows Shortcut Safari Shortcut
Download q3config.cfg Command + P Ctrl + P Ctrl + P

Main differences with the original project:

  • Removed CDN dependency.
  • Removed cache flow in the LocalStorage.
  • Fixed build so it can handle PK3 files dynamically.
  • Fixed build so it can handle big files (the commercial version).

Based on the work of:

https://github.com/inolen/quakejs

About

A Quake III Arena port designed for running in vanilla JavaScript pre-ECMAScript 2015 (no WebAssembly)

Topics

Resources

Stars

Watchers

Forks