# HexGL

- Game: HexGL
- Credits (from the game's own credits screen): concept and development by Thibaut Despoulain (BKcore). Contributors: townxelliot, mahesh.kk. HexMKI base model: Charnel. Track texture: Nobiax. Sound effects: see [audio/LICENSE](audio/LICENSE).
- Upstream: https://github.com/BKcore/HexGL
- Upstream commit: `6addc95a2fce3bf05f4d751823cc054c61a16d68` (2021-03-21)
- Licence: MIT. The full text is in [LICENSE](LICENSE) (Copyright (c) 2015 Thibaut Despoulain). The upstream README says: "Unless specified in the file, HexGL's code and resources are now licensed under the MIT License."

## Licence caveat: per-file CC BY-NC 3.0 headers

The game's core files still carry their original header: "This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License." These files are `bkcore/hexgl/HexGL.js`, `CameraChase.js`, `Gameplay.js`, `HUD.js`, `RaceData.js`, `ShipControls.js`, `ShipEffects.js` and `tracks/Cityscape.js`. Upstream commit `2cb8b75` ("Update license to MIT", Thibaut Despoulain, 2015-08-29) changed the README from "Unless specified in the file, HexGL's code and resources are licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License" to the MIT wording quoted above. The same commit added the MIT `LICENSE` file, but it did not touch these file headers. The headers are reproduced here unchanged, and how to read them together with the README's "unless specified in the file" is left to the publisher.

## Third-party components shipped in this directory

- three.js r50dev (`libs/Three.dev.js`), stats.js r10 (`libs/Stats.js`), `libs/Detector.js`, `libs/ShaderExtras.js` and `libs/postprocessing/*.js`, by mrdoob, alteredq and the three.js authors: MIT (three.js licence). One shader in `ShaderExtras.js` ("film", by Pat 'Hawthorne' Shearon and Georg 'Leviathan' Steinrohder) is marked in the file as Creative Commons Attribution 3.0.
- dat.GUI (`libs/DAT.GUI.min.js`): Apache License 2.0, (c) 2011 Data Arts Team, Google Creative Lab
- LeapJS 0.4.1 (`libs/leap-0.4.1.min.js`), by Leap Motion: minified with no licence header. LeapJS was published under the Apache License 2.0.
- Bebas Neue web font (`css/BebasNeue-webfont.*`, generated by Font Squirrel in 2012), by Ryoichi Tsunekawa / Dharma Type: upstream ships no licence file for it.
- Sound effects (`audio/`): see `audio/LICENSE`. boost.ogg, wind.ogg and destroyed.ogg are under Creative Commons Attribution 3.0 Unported (by IFartInUrGeneralDirection, kangaroovindaloo and beman87). crash.ogg (qubodup) and bg.ogg (mu6k) are in the public domain. All were adjusted by Licson and converted by baleboy.

## Changes

Modified by Invisible Network on 2026-10-17:

- Removed files the game does not need to run in a browser: `.gitignore`, `.htaccess`, `README.md`, `cache.appcache` (application cache), `manifest.webapp`, `package.webapp` and `package.zip` (the Firefox OS packaged-app files), the `icon_*.png` files that only those manifests used, `replays/` (not loaded by the game), the CoffeeScript sources `launch.coffee` and `bkcore.coffee/**/*.coffee` (their compiled `.js` files are kept and unchanged), `bkcore.coffee/tests.html`, the unused `bkcore.coffee/threejs/Particles.js` (the page loads `bkcore/threejs/Particles.js`), the level editor (`libs/Editor.html`, `libs/Editor_files/`), the unused `libs/Three.r53.js`, the unused post-processing passes `libs/postprocessing/{DotScreenPass,FilmPass,SavePass,TexturePass}.js`, the unused `bkcore/threejs/Preloader.js` and `bkcore/hexgl/Ladder.js` (an online leaderboard client that the page never loads), the unused images `css/mobile*.jpg` and `css/touchcontroller.css`, and the unused or duplicate textures `textures{,.full}/checker.png`, `textures{,.full}/particles/damage.png` and `textures{,.full}/particles/* - Copie.png`.
- `index.html`: the two favicon links now point to the local `favicon.png` instead of `http://hexgl.bkcore.com/favicon.png`. Removed the Google Analytics (ga.js) script. The Open Graph `<meta>` tags are unchanged; browsers do not fetch anything for them.
- `launch.js`: when WebGL is unavailable, the "WebGL is not supported!" button no longer navigates to `http://get.webgl.org/`. The "Controls" menu now skips the "LEAP MOTION CONTROLLER" option, including when it is requested with `?controlType=2`, because that option opens a WebSocket to a local Leap Motion service. Keyboard, touch and gamepad are unchanged. LeapJS is still loaded but is never started.

No other file was changed. `bkcore/hexgl/HexGL.js` still contains Twitter/Facebook share-link code and a leaderboard lookup in `displayScore()`. They are not reached in this build: `launch.js` passes a game-over element, so `displayScore()` returns before reaching them. `libs/Detector.js` contains links in an error message that the game never shows.
