A tween based animation system for JavaScript game engines.
Plunder is a powerful, expressive animation system that can help fill in the gaps on smaller game engines such as ImpactJS. I'd love to see Plunder become so compelling that even people using more complete engines like Lime want to use it.
Plunder is coming along nicely but still needs a bit of love before it's really usable.
Check out the website for live examples.
Here's what you need to do
- clone this repo to your box
npm install
- run
grunt server:sandbox
to play with the sandbox
sandbox/sandbox.coffee
is a truly minimal infrastructure to make Plunder possible.
Just a canvas and one entity that Plunder is manipulating. There are a few canned animation sequences defined
in the entity. You can uncomment the one you want to see run
# entity.standard()
# entity.bezier()
entity.nestedTween()
and those methods, standard()
, bezier()
, and nestedTween
are decent intros to how Plunder works.
Plunder is actually pretty well documented, with much more to come. See the docs here
Really good docs are one thing I am really shooting for with Plunder.
If you want to contribute then thank you, it's much appreciated!
Please fork the repo and send pull requests. Make sure to take advantage of the grunt tasks:
-
grunt
-- default task, runs the tests then builds Plunder -
grunt spec
-- runs the tests -
grunt build:sandbox
-- builds the sandbox -
grunt server:sandbox
-- starts a server onlocalhost:9000
with the sandbox served from there, then opens a browser to it
The website for Plunder now has its own repo, as it's gotten pretty involved. Check it out at http://github.com/city41/plunderSite
The gh-pages
branch here is now deprecated.
Dragon Plunder -- this is the game Plunder was extracted from, hence the name.
Plunder used to be a Bower package, it is now only an NPM package. Browserify is the prefered way to pull it into a website.
Eventually want to also remove all CoffeeScript (use ES6 and Traceur instead) and switch Grunt over to Gulp. These will be tackled at some point.