@Wolfsbane
Storage class uses local storage.
The reason why the build failed was that the code was placed outside of the module.
// CODE OUTSIDE OF THE MODULE
game.module(
'game.main'
)
.body(function() {﻿﻿
// CODE INSIDE THE MODULE
});
The build process needs to go through the module file, so it can know which modules to include in the build (if module requires other modules). It uses Node and there is no local storage available, so that's why it throws "localStorage is not defined" error.
Build process doesn't run the module's body function, so that's why you should put all the code there.

Hi!
Can you send your log file, so i can take a look and see why the build is failing?
Location of Panda 2 log files:
macOS: ~/Library/Logs/Panda 2/log.log
Windows: %USERPROFILE%\AppData\Roaming\Panda 2\log.log

Great work and congratulations on getting your game published!
About Crosswalk, it's really needed only if you want to support Android 4.x, which distribution percent currently is around 10%.
One note about the game is that it seems to be designed to work only on a specific screen aspect ratio, which means that on some devices you will see black bars. Fixing this on such a simple game would be really easy.

Check out this small tutorial on how to create desktop apps with Panda 2 using Electron.
You can develop your game on Panda 2 and see it running as a desktop app at the same time, all changes taking effect instantly on both as you save. You can also easily turn your existing project into a desktop app.

Yeah just load assets that you really need and don't load them multiple times.
For images you can try to compress PNG files (try TinyPNG) and/or use sprite sheets (try Texture Packer).
For audio you can try to lower bitrate, use compressed formats (m4a, ogg, mp3) and make your music loops shorter.
You can also try to change the amount of files the engine tries to load at the same time, default is 4:
game.config = {
loader: {
maxFiles: 8 // Load 8 files at same time
}
};

Panda Engine 2.12.0 now supports bezier curves with new Curve class.
Here is interactive example, where you can see bezier curve in action: https://www.panda2.io/examples#curve-handles
You can modify the curve by moving the start and end points as well as the two control points.
Here is also example on how to use Curve together with Tween: https://www.panda2.io/examples#curve-tween
Documentation of Curve class: https://www.panda2.io/docs/api/Curve