Releases: PBS-KIDS/Platypus
Platypus v0.6.3
-Fixed a bug in Vector introduced in the last version.
Platypus v0.6.2
A series of small updates.
-Made small changes to Vector to fix an issue with Safari optimization.
-Fixed LogicRebounder so that an object won't collide with the same static obstacle twice in a tick.
-Updated TiledLoader to display collision tiles if 'showCollisionTiles' is set to true.
Platypus v0.6.1
This is a minor update that fixes the visual progress bar provided by the RenderProgress
component.
Platypus v0.6.0
This release offers an overhauled rendering system based on pixi.js and well as a few updates to the SpringRoll integration. The transition of a game from v0.5.0 to this version is relatively straightforward.
Major Changes
- This version requires SpringRoll v0.4.
- This version requires SpringRoll's PixiDisplay for rendering, rather than EaselJSDisplay.
- The configuration for Platypus must now be set up within
config/platypus/
rather than directly within the `config/' folder. - The current game instance is accessible from
app.platypus
rather thanapp.game
. The game also remains accessible fromplatypus.game
for custom-designed components. - Due to pixijs limitations, pixel-perfect click-detection is no longer supported.
- Only a subset of CreateJS's tiny graphics API can be used with pixijs. This applies primarily to setting masks and hit-areas on
RenderSprite
. - Unlike CreateJS Sprites, pixijs does allow objects with opacity of 0 to receive mouse/touch events.
Minor Changes
- The
Audio
component is now deprecated. UseAudioSFX
for sound effects andAudioVO
for voice over. Each new component provides a subset of the originalAudio
functionality.AudioSFX
allows for setting various sound options on play, whereas the event list triggering system is now part ofAudioVO
. - Created a
PIXIAnimation
class to mimic CreateJS Sprite functionality. This allows the same sprite sheet definitions from <= v0.5.0 to be used in 0.6.0. - All render components have swapped out CreateJS display objects for equivalent pixijs display objects.
RenderSprite
now has abuttonMode
property that, when set, changes the cursor on mouse-over.RenderSprite
now accepts avisible
property that sets initial visibility. If the component is state-based, this value is tied to the entity's state.RenderTiles
now caches a 2048x2048 texture of map tiles by default or if the entire map can be contained in that area. Setting thebuffer
property will limit this to a buffered region around the viewport. Setting themaximumBuffer
to a multiple of 2 will also change this size. SettingcacheAll
will create a grid of the entire map out of 2048x2048 cached textures for faster performance (but it trades speed for memory, so use carefully).- Adding new cached
RenderSprites
toRenderTiles
forces a cache update. - The
Camera
component now listens for "resize-camera" to resize its world viewport. - Updated
TiledLoader
andPIXIAnimation
to pull assets from SpringRoll's AssetManager if not found in the list of Platypus assets.
EDIT: @GopherwoodTodd wanted to know what the difference between "Changes" and "Updates", so I renamed the lists. Essentially, the first list will break games <= 0.5.0 whereas the second list shouldn't.
Platypus v0.5.0
This is the initial port of Platypus from its own compilation and deployment framework to SpringRoll. Check out the SpringRoll documentation for specific wrapper functionality. Documentation and full-featured functionality across all components is not yet complete. Notable changes:
- Games are no longer designed inside the folder structure of Platypus itself; instead, use the PlatypusSpringRollTemplate as a good starting point for a new project.
- Platypus requires the following standard SpringRoll modules (as of SR v0.3.10): Core, Tasks, Sound, and EaselJS Display.
- Platypus requires SpringRoll versions of PreloadJS, EaselJS, and SoundJS. It also requires TweenJS for some additional functionality.
- Game assets are no longer copied and optimized during compilation. Place assets directly in deploy/assets/.
- Audio needs no longer be concatenated. Include MP3's and OGG's in deploy/assets/. See SpringRoll documentation for audio asset config syntax.
- Platypus component names now use common JavaScript class notation with preceding capitals instead of the original hyphenated notation for entity components.
- A "root element" no longer needs to be provided. Platypus no longer natively supports DOM elements and uses SpringRoll's EaselJS Display for rendering.
- The Camera component now requires both width and height properties to properly display game world.
- The RenderSprite component now requires a sprite sheet and images are no longer tied to individual sprite sheets.
Legacy Platypus
This is the original Platypus HTML5 Game Engine with built-in support for compiling games and assets using native Windows CScript or Java-based Rhino. Games built using this version of the engine require substantial changes to be ported to a 0.4+ release.