logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·01.11.26
← Back to news

Show HN: Q3Edit – Edit and play Quake 3 maps in the browser

Original article
q3edit.com|25 points|4 comments|by drdator|Jul 18, 2026

Q3Edit: Browser-Based Quake 3 Map Creation

Q3Edit is a comprehensive web-based toolset designed to let users edit, compile, and play Quake III Arena maps directly within their browser. It eliminates the need for complex local installations, allowing for a seamless transition from design to gameplay.

"Edit, compile, and play Quake III maps in your browser."

🛠️ Technical Architecture

The application leverages modern web technologies to bring legacy game development tools to the browser. You no longer need to install heavy SDKs locally.

ComponentTechnology UsedPurpose
Editor CoreTypeScript + WebGL2Rendering and UI logic
Compilerq3map (via WebAssembly)Converting .map to BSP
Game Engineioquake3 (via WebAssembly)Real-time map playback
AssetsOpenArenaDefault textures and models

🚀 The Development Workflow

The process is streamlined into a three-step pipeline:

📋 Key Capabilities

The editor supports the full suite of traditional Quake 3 mapping elements:

  • Brushes: Basic 3D geometry.
  • Patches: Planar surfaces.
  • Entities: Game objects and spawns.
  • Terrain: Specialized landscape tools.
  • CSG: Constructive Solid Geometry operations.

🖥️ User Interface & Navigation

Q3Edit utilizes a classic Radiant-style four-view interface. This allows the creator to manipulate objects across different planes of existence, defined mathematically as: P=(x,y,z)P = (x, y, z)P=(x,y,z)

The viewport is divided as follows:

  1. XY Top: Overhead view.
  2. XZ Front: Frontal elevation.
  3. YZ Side: Profile view.
  4. 3D Camera: Perspective preview.

Q3Edit Interface Placeholder

💻 Implementation Detail

The editor handles standard .map files. A simplified representation of the data structure might look like this in the backend:

interface MapEntity {
    type: string;
    origin: [number, number, number];
    keyValues: Record<string, string>;
}

By shipping with OpenArena assets, the tool is ready to use immediately upon launch—no external game files are required to get started.