2013-04-12 16:19:56 +00:00
Phaser
2013-04-12 12:27:51 +00:00
======
2013-09-13 15:16:47 +00:00
Version: 1.0.0 - Released: September 13th 2013
2013-04-12 16:19:56 +00:00
By Richard Davey, [Photon Storm ](http://www.photonstorm.com )
2013-09-13 15:16:47 +00:00
Phaser is a fast, free and fun open source game framework for making desktop and mobile browser HTML5 games. It supports Canvas and WebGL rendering.
2013-04-12 16:19:56 +00:00
2013-09-13 15:16:47 +00:00
The [Official Website ](http://phaser.io )< br />
2013-05-02 13:03:41 +00:00
Follow on [Twitter ](https://twitter.com/photonstorm )< br />
Read the [Development Blog ](http://www.photonstorm.com )< br />
Join the [Support Forum ](http://www.html5gamedevs.com/forum/14-phaser/ )
2013-04-12 19:05:53 +00:00
2013-04-24 01:57:49 +00:00
Try out the [Phaser Test Suite ](http://gametest.mobi/phaser/ )
2013-04-12 16:38:44 +00:00
2013-05-16 01:36:58 +00:00
"Being negative is not how we make progress" - Larry Page, Google
2013-09-13 15:16:47 +00:00
Latest Update
-------------
2013-08-08 03:35:13 +00:00
2013-09-13 15:16:47 +00:00
September 13th 2013
2013-08-13 03:22:24 +00:00
2013-09-13 15:16:47 +00:00
We're very pleased to have finally shipped the 1.0 release of Phaser. This version represents many months of hard work, feedback and refactoring based on the previous 0.5 through to 0.97 releases. You can see the full gory details in our change log.
2013-08-08 03:35:13 +00:00
2013-09-13 15:16:47 +00:00
Sorry but the jsdocs aren't yet finished, but it is now our priority (along with bug fixing). If you run into problems, or just want to chat about how to best use Phaser then please do join our forums. It's an active and inspiring community.
2013-08-08 03:35:13 +00:00
2013-09-13 15:16:47 +00:00
Now 1.0 is released we'll focus on getting the docs and more examples completed. Both of these will be pushed to the master repo on a regular basis. We will tag new releases of Phaser, but changes to the examples or docs won't be release tagged.
2013-08-25 08:59:23 +00:00
2013-09-13 15:16:47 +00:00
Thank you to everyone who has encouraged us along the way. To those of you who worked with Phaser during its various incarnations, and who released full games with it despite there being zero API documentation available: you are our heroes. It's your kind words and enthusiasm, as well as our commercial need for Phaser that has kept us going. Now we're at 1.0 we will continue releasing rapidly and jumping on patches and bug reports quickly.
2013-06-06 01:47:08 +00:00
2013-09-13 15:16:47 +00:00
Phaser is everything we ever wanted from an HTML5 game framework. It will power all our client work going forward and we look forward to you joining us on this journey.
![Blasteroids ](http://www.photonstorm.com/wp-content/uploads/2013/04/phaser_blaster.png )
2013-05-16 01:36:58 +00:00
2013-04-12 16:19:56 +00:00
Requirements
------------
Games created with Phaser require a modern web browser that supports the canvas tag. This includes Internet Explorer 9+, Firefox, Chrome, Safari and Opera. It also works on mobile web browsers including stock Android 2.x browser and above and iOS5 Mobile Safari and above.
2013-04-12 16:25:18 +00:00
For developing with Phaser you can use either a plain-vanilla JavaScript approach or [TypeScript ](https://typescript.codeplex.com/ ). We made no assumptions about how you like to code your games, and were careful not to impose any form of class/inheritance/structure upon you.
2013-04-12 16:19:56 +00:00
2013-09-13 15:16:47 +00:00
Phaser is 275 KB minified and 62 KB gzipped.
2013-04-14 01:31:00 +00:00
2013-04-12 16:19:56 +00:00
Features
--------
2013-05-01 03:10:21 +00:00
Phaser was born from a cross-pollination of the AS3 Flixel game library and our own internal HTML5 game framework. The objective was to allow you to make games _really_ quickly and remove some of the speed barriers HTML5 puts in your way.
2013-04-12 16:19:56 +00:00
2013-09-13 15:16:47 +00:00
Phaser fully supports the following features:
2013-04-12 16:19:56 +00:00
2013-09-13 15:16:47 +00:00
* Easy asset Loading< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
Images, Sprite Sheets, Texture Packer Data, JSON, Text Files, Audio File.
2013-04-13 03:28:52 +00:00
* Cameras< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
Multiple world cameras, camera scale, zoom, rotation, deadzones and Sprite following.
2013-04-13 03:28:52 +00:00
* Sprites< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
All sprites have physics properties including velocity, acceleration, bounce and drag.
ScrollFactor allows them to re-act to cameras at different rates.
2013-04-13 03:28:52 +00:00
* Groups< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
Group sprites together for collision checks, visibility toggling and function iteration.
2013-04-13 03:28:52 +00:00
* Animation< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
Sprites can be animated by a sprite sheet or Texture Atlas (JSON Array format supported).
Animation playback controls, looping, fps based timer and custom frames.
2013-04-24 01:57:49 +00:00
* Scroll Zones< br />
Scroll any image seamlessly in any direction. Or create multiple scrolling regions within an image.
2013-04-13 03:28:52 +00:00
* Collision< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
A QuadTree based Sprite to Sprite, Sprite to Group or Group to Group collision system.
2013-04-13 03:28:52 +00:00
* Particles< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
An Emitter can emit Sprites in a burst or at a constant rate, setting physics properties.
2013-04-13 03:28:52 +00:00
* Input< br />
2013-04-12 19:05:53 +00:00
2013-04-13 03:28:52 +00:00
Keyboard, Mouse and Touch handling supported (MSPointer events coming soon)
2013-04-12 16:19:56 +00:00
2013-04-13 03:28:52 +00:00
* Stage< br />
2013-04-12 19:05:53 +00:00
2013-04-14 01:31:00 +00:00
Easily change properties about your game via the stage, such as background color, position, size and scale.
2013-04-12 16:19:56 +00:00
2013-04-13 03:28:52 +00:00
* World< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
The game world can be any size and Sprites and collision happens within it.
2013-04-13 03:28:52 +00:00
* Sound< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
Currently uses WebAudio for playback. A lot more work needs to be done in this area.
2013-04-13 03:28:52 +00:00
* State Management< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
For larger games it's useful to break your game down into States, i.e. MainMenu, Level1, GameOver, etc.
The state manager makes swapping states easy, but the use of a state is completely optional.
2013-04-13 03:28:52 +00:00
* Cache< br />
2013-04-12 19:05:53 +00:00
2013-04-12 16:19:56 +00:00
All loaded resources are stored in an easy to access cache, which can be cleared between State changes
or persist through-out the whole game.
2013-04-13 03:28:52 +00:00
* Tilemaps< br />
2013-04-29 01:41:19 +00:00
Support for CSV and Tiled JSON format tile maps. Supports Layered Tiled maps and layer based collision.
2013-04-12 16:19:56 +00:00
2013-04-14 01:31:00 +00:00
* Game Scaling< br />
Game scaling under your control. Removes URL/status bar on mobile (iOS and Android) and allows proportional scaling, fixed size and orientation checks.
2013-04-12 16:46:19 +00:00
![Phaser Particles ](http://www.photonstorm.com/wp-content/uploads/2013/04/phaser_particles.png )
2013-04-12 16:38:44 +00:00
2013-09-13 15:16:47 +00:00
Known Issues
------------
2013-04-12 16:19:56 +00:00
2013-09-13 15:16:47 +00:00
* The TypeScript definition file isn't yet complete.
* The JSDOCS are not yet complete.
2013-04-12 16:19:56 +00:00
2013-09-13 15:16:47 +00:00
Future Plans
------------
2013-04-12 16:19:56 +00:00
2013-09-13 15:16:47 +00:00
* Ability to layer another DOM object and have it controlled by the game somehow. Can then do stacked canvas effects.
* Add ability to create extra < div > s within the game container, layered above/below the canvas.
* Basic set of GUI components, checkbox, window, etc.
* Tilemap: remove tiles of a certain type, replace tile with sprite, change layer order, Tiled object support.
* Joypad support.
* Gestures input class.
* Integrate Advanced Physics system.
* Integrate Advanced Particles system.
* Better sound controls and effects.
* Google Play Game Services.
2013-04-12 16:19:56 +00:00
Test Suite
----------
2013-05-01 03:10:21 +00:00
Phaser comes with an ever growing Test Suite. Personally we learn better by looking at small refined code examples, so we create lots of them to test each new feature we add. Inside the Tests folder you'll find the current set. If you write a particularly good test then please send it to us.
2013-04-12 16:19:56 +00:00
The tests need running through a local web server (to avoid file access permission errors from your browser).
Make sure you can browse to the Tests folder via your web server. If you've got php installed then launch:
2013-09-13 15:16:47 +00:00
examples/index.php
2013-04-12 16:19:56 +00:00
Right now the Test Suite requires PHP, but we will remove this requirement soon.
2013-04-29 01:41:19 +00:00
You can also browse the [Phaser Test Suite ](http://gametest.mobi/phaser/ ) online.
2013-04-12 16:19:56 +00:00
Contributing
------------
Phaser is in early stages and although we've still got a lot to add to it, we wanted to just get it out there and share it with the world.
If you find a bug (highly likely!) then please report it on github.
If you have a feature request, or have written a small game or demo that shows Phaser in use, then please get in touch. We'd love to hear from you.
2013-04-29 01:41:19 +00:00
You can do this on the Phaser board that is part of the [HTML5 Game Devs forum ](http://www.html5gamedevs.com/forum/14-phaser/ ) or email: rich@photonstorm.com
2013-04-12 16:19:56 +00:00
Bugs?
-----
Please add them to the [Issue Tracker][1] with as much info as possible.
2013-04-12 16:46:19 +00:00
![Phaser Tilemap ](http://www.photonstorm.com/wp-content/uploads/2013/04/phaser_tilemap.png )
2013-04-12 16:38:44 +00:00
2013-04-24 01:57:49 +00:00
![Phaser Cameras ](http://www.photonstorm.com/wp-content/uploads/2013/04/phaser_cams.png )
2013-04-12 16:19:56 +00:00
License
-------
2013-08-09 02:12:33 +00:00
The MIT License (MIT)
2013-04-12 16:19:56 +00:00
2013-08-09 02:12:33 +00:00
Copyright (c) 2013 Richard Davey, Photon Storm Ltd.
2013-04-12 16:19:56 +00:00
2013-08-09 02:12:33 +00:00
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
2013-04-12 16:19:56 +00:00
2013-08-09 02:12:33 +00:00
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
2013-04-12 16:19:56 +00:00
2013-08-09 02:12:33 +00:00
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2013-04-12 16:19:56 +00:00
[1]: https://github.com/photonstorm/phaser/issues
[phaser]: https://github.com/photonstorm/phaser