A CreateJS-compatible library for games
(This repository includes a copy of Closure Compiler and you do not have to install it.)
To build this library from its source files on your PC (or your Mac), clone this repository and run make on the command line as listed below.
# git clone https://github.com/DeNADev/wahid.git # cd wahid # make
This library uses unsecure communication between a game page and an
<iframe> page to play sounds in the background by default, i.e. malicious
to control sounds. If a game has to use this library with untrusted
prohibit using the
<iframe> page as listed below.
# git clone https://github.com/DeNADev/wahid.git # cd wahid # make USE_FRAME=false
We appreciate your bug reports and pull requests. On the other hand, this library is used by games and we MUST fix bugs without regressions for them. (Changes to this repository will be merged into games sooner or later.) To avoid regressions, we may mark your bug reports as WILL NOT FIX. (As written in Inside wahid, we have many compatibility issues that are not so easy to fix without losing speed or increasing memory consumption.)
- Each line should be 80 characters or less.
- Do not use ECMAScript 2015. (This library must work well on Android devices that do not have ECMAScript 2015 implemented.)
- Do not use closures. (It is not so easy to use closures without object leaks. Games uses tens of thousands of CreateJS objects and a small leak in this library becomes a huge burden for them.)
- Do not use try-catch statements. Catching exceptions often hides bigger problems, including game problems.
- Attach object properties which we do not have to initialize in its constructor to its prototypes. Even though overriding a property on its prototype creates a new hidden class as written in V8 Design Elements, less constructor code makes it faster to create an object.
We would also encourage contributors to build this library without warning or errors before submitting their pull requests. (This library uses advanced compilation and contributors may need greater care to build this library without errors or warnings.)
This code is licensed under the MIT License.