Bulletproof icon indicating copy to clipboard operation
Bulletproof copied to clipboard

Advanced danmaku render engine based on WebGL and other HTML 5 technologies / 以 WebGL 和其他 HTML 5 技术为核心的高级弹幕渲染引擎

Bulletproof

Travis npm

Advanced danmaku render engine built on WebGL

以 WebGL 核心的高级弹幕渲染引擎

WORK IN PROGRESS

You can also check out the live demo from http://hozuki.github.io/Bulletproof.

Details

Coming soon...

Downloading from NPM

npm install bp.js

Why isn't the package name bulletproof? Because that name was registered before this package is published to NPM. ( つ Д `)

Building & Testing

Git, Node.js, NPM and Gulp are required.

git clone https://github.com/hozuki/Bulletproof.git
cd Bulletproof && npm install
git submodule update --init --recursive
git submodule foreach npm install
gulp

To preview, at least one of modern browsers is required:

  • Chrome (50-60 fps)
  • NW.js (50-60 fps)
  • Electron Has not been tested, but should work.
  • Firefox (40-60 fps)
  • Edge (~24 fps)
  • IE 11 (~20 fps)
  • Chrome for Android (~16 fps)

Although all these browsers are supported, the order of the list shows the how the experience will be. Chrome is greatly suggested since the performance on it is the best; Firefox sometimes is slow; Edge and IE 11 always have serious performance degeneration.

Features

  • [x] High speed rendering
  • [x] Cross browser compatibility
  • [ ] Web video player interface
    • [x] <video>
    • [ ] WebChimera
  • [ ] Basic text danmakus (ref: CommentCoreLibrary)
    • [ ] Flying (mode 0)
    • [ ] Anchored (mode 1 - mode 6)
  • [ ] Custom text danmakus (mode 7) (ref: BiliBili HTML5 Player)
  • [ ] Scripted danmakus (mode 8)
    • [x] Display
    • [x] Functions
    • [x] Global
    • [ ] Tween
    • [x] Player (almost, createSound() is in progress)
    • [x] ScriptManager
    • [x] Utils
    • [ ] External library: Bitmap
    • [ ] External library: Storage
    • [ ] Safety sandbox
  • [ ] BiliBili XML parser

TODO

  • [x] DisplayObject.mask (Player.setMask())
  • [ ] Easing (Tween and ITween, $object.motion.easing)
  • [ ] Linking Player to VideoPlayer
  • [ ] Player.createSound()
  • [ ] Display.createButton()
  • [ ] Library: Bitmap
  • [ ] Display.createCanvas()

License

Bulletproof uses The MIT License. A copy of it can be found here.

Bulletproof is built on GLantern, thus they have the same mods.