Click the arrow to download the file PS3.1.zip (4 KB).
Extract the archive to any convenient place on a local drive. You'll end up with a directory named PS3.1 containing all the files you need.
Keep a backup of the PS3.1 directory. You'll need a fresh copy for every new Perlenspiel project.
Email suspected bugs, ideas and comments to bmoriarty [at] wpi [dot] edu.
- Version 3.1.6 (04.17.14)
- The same font (Droid Sans) is now used to draw the status line, the message line and all glyphs, on all browsers.
- Vertical centering of glyphs has been improved on some browsers.
- A problem with fonts failing to load on some browsers has been fixed. However, for the fix to take effect, you must use the version of game.html included in the latest 3.1 Devkit, which can be downloaded from the link above.
- Version 3.1.5 (04.09.14)
- The PS.gridShadow() function has been repaired and is available again.
- Two new functions, PS.bgColor() and PS.bgAlpha(), let you change and inspect the background color and transparency of scaled and/or non-square beads. Note: For backwards compatibility, the background opacity is PS.ALPHA_TRANSPARENT by default.
- Version 3.1.4 (04.03.14)
- A debugging message inadvertently left in PS.borderAlpha() has been removed.
- Audio on Safari OS X has been fixed, again.
- Audio is now disabled on iOS devices due to Apple's deliberately crippled support for HTML5 audio. Most games will simply play without sound. However, games that rely on audio .onLoad or .onEnd functions (such as the Perlenspiel splash screen example) will not work. You can detect if your game is running under iOS by checking the .host.os property of the PS.init() system parameter. If this property is "iOS", avoid using audio .onLoad or .onEnd functions.
- The version/platform data in the message line now fades away five seconds after the engine initializes.
- Version 3.1.3 (04.02.14)
- The engine now appears to work on Internet Explorer 10 (and maybe 9). More thorough testing is needed.
- PS.fade(), PS.borderFade(), PS.glyphFade(), PS.gridFade() and PS.statusFade() now support a new .onStep property in their options parameter that allows for detailed monitoring and control of fader effects. See the API documentation for details.
- All of the above fader functions now change the rate of any in-progress fades as well as subsequent fades.
- The requirement that square beads containing a glyph must have equal-width borders has been removed.
- The grid now updates correctly on all key repeats.
- PS.init() now passes information about the audio engine through its system parameter.
- The PS.gridShadow() function introduced in the last build has been meekly rolled back, pending the resolution of cosmetic issues. It will be restored in a future build.
- Version 3.1.2 (03.19.14)
- A new function, PS.statusInput(), temporarily turns the status line into a labeled text input box.
- Another new function, PS.gridShadow(), lets you display a colored shadow around the perimeter of the grid. Thanks to Mark Diehr for coming up with this idea.
- The grid now updates correctly when a fader .onEnd function is called.
- Version 3.1.1 (02.27.14)
- PS.borderAlpha() was being mischievous. Fixed.
- Legacy event handling was removed to avoid warning messages.
- Improved browser detection.
- Added accommodation for canvas padding on custom Web pages.
- A few corrections to the documentation.
- Version 3.1.0 (01.13.14)
- First release. There will be issues! Report curious behaviors to Professor Moriarty for immediate investigation.
- Thanks to WPI students Ben Carlson, Patrick Feeney and Ian Fite, and my WPI colleague Gary Pollice, for their help in preparing Version 3.1 for release.
- Special thanks to Mark Diehr at Full Sail for ideas, code and bug fixes.
The Fine Print
Perlenspiel is a scheme by Professor Moriarty (bmoriarty -at- wpi -dot- edu).
This web site and the Perlenspiel software are Copyright © 2009-14 Worcester Polytechnic Institute.
The Perlenspiel software is provided to you “as is,” and we make no express or implied warranties whatsoever with respect to its functionality, operability, or use, including, without limitation, any implied warranties of merchantability, fitness for a particular purpose, or infringement. We expressly disclaim any liability whatsoever for any direct, indirect, consequential, incidental or special damages, including, without limitation, lost revenues, lost profits, losses resulting from business interruption or loss of data, regardless of the form of action or legal theory under which the liability may be asserted, even if advised of the possibility or likelihood of such damages.
By downloading the software from this page, you agree to the specified terms.