In March 2012, when WebGL was barely a year old and only worked in Firefox and Chrome, developer Johannes Hoppe built SolarTournament — a browser-based 3D space shooter with multiplayer support. Fourteen years later, this archived project offers a fascinating window into how far interactive web development has come.
What SolarTournament Was
SolarTournament was a WebGL-powered multiplayer space shooter that ran entirely in the browser — no plugins, no Flash. Players could navigate 3D space, engage in combat, and play against others in real-time. For 2012, this was cutting-edge technology.
SolarTournament was archived in July 2019. The GitHub repository remains the canonical source. This article provides technical context and modern rebuild guidance.
The Original Tech Stack
The project's technology choices reflect the JavaScript ecosystem of the early 2010s:
| Component | Technology | Notes |
|---|---|---|
| Language | ES5 JavaScript | Pre-ES6, no classes or modules |
| Server | Node.js + Express | Node was only 3 years old |
| Templates | Jade | Now called Pug |
| Styling | Stylus CSS | CSS preprocessor |
| Real-time | Socket.IO v0.x | WebSocket abstraction |
| 3D Engine | CopperLicht 3D | Early WebGL engine |
| License | zlib | Code only, assets excluded |
Then vs Now: The Technology Shift
If you wanted to rebuild SolarTournament today, nearly every technology choice would be different:
2012 Approach
- CopperLicht 3D engine
- ES5 with callbacks
- Socket.IO v0.x
- Jade server templates
- Manual texture loading
- Desktop browsers only
2026 Approach
- Three.js or Babylon.js
- TypeScript + ES Modules
- Socket.IO v4 or WebRTC
- React/Vue/Svelte SPA
- GLTF + Draco compression
- Mobile + WebXR ready
Why CopperLicht to Three.js?
CopperLicht was one of the first WebGL engines, built by Ambiera (the Irrlicht team). It was a reasonable choice in 2012, but the landscape shifted dramatically:
- Three.js became the standard — massive community, constant updates, extensive documentation
- Babylon.js emerged for enterprise — Microsoft-backed, excellent TypeScript support
- Tooling exploded — Blender GLTF export, Draco compression, texture atlasing
- Performance improved — WebGL2, WebGPU on the horizon, mobile GPUs caught up
Core WebGL Concepts That Still Apply
Despite the tooling changes, the fundamental patterns from SolarTournament remain relevant:
Render Loop
Using requestAnimationFrame for 60fps updates, managing scene state, and batching draw calls.
GPU Pipeline
Shaders, textures, vertex buffers — the GPU programming model hasn't fundamentally changed.
Asset Loading
Progressive loading, texture compression, and caching patterns are still essential for performance.
Input Handling
Keyboard, mouse, touch, and gamepad input still follow the same event-driven patterns.
Modern Rebuild Path
If you wanted to build a SolarTournament-style experience today, here's the practical path:
- 1. Choose your engine — Three.js for flexibility, Babylon.js for built-in physics and TypeScript
- 2. Define mobile constraints early — Target poly counts, texture sizes, and shader complexity
- 3. Set up asset pipeline — Blender → GLTF → Draco compression → CDN deployment
- 4. Build incrementally — Scene → camera → lighting → one model → input → network
- 5. Add analytics — Track load times, frame rates, and user interactions
Business Applications Today
Games like SolarTournament proved what was possible. Today, the same WebGL technology powers serious business applications:
🛋️ Product Configurators
Furniture, vehicles, jewelry — let customers customize products in 3D before purchase.
🏗️ Architectural Walkthroughs
Explore buildings, floor plans, and spaces before construction begins.
📊 Data Visualization
3D charts, network graphs, and geographic data that users can explore interactively.
🎓 Training Simulations
Equipment operation, safety procedures, and process training in realistic 3D environments.
SolarTournament was ahead of its time. The technology has matured dramatically since 2012, but the vision — immersive 3D experiences running natively in the browser — is now mainstream. Whether you're building games, configurators, or data visualizations, the path from idea to production has never been shorter.
Credits and Attribution
SolarTournament was created by Johannes Hoppe in 2012 and archived in July 2019. The project is licensed under the zlib license (code only — graphical assets are not covered). The GitHub repository remains the canonical source.
This article provides historical context and technical guidance for developers interested in WebGL history and modern 3D web development. Visit solartournament.org for the archive landing page.