KISS is a paper doll program which originated in Japan in 1991. It was originally developed for a NEC computer, but has been ported to a number of operating systems & platforms including Windows, MacIntosh and Amiga.
To help spread KISS, the specification was formalized (and broadened, to allow for more capable hardware). This is known as the KISS General Specification (KISS/GS), and is available on the web on The Big KISS Page.
The author of the Big KISS Page, Dov Sherman, is also one of the developers of the French KISS extensions to the standard, which can be used to add simple animations and sound. A description of early versions of FKISS is also available on the Big KISS Page. You can also download the latest FKISS function reference from the same site where you obtained PlayKISS.
PlayKISS supports FKISS up to current release 4, with minor exceptions:
There is a variant of KISS that uses true colour (32 bpp) images rather than the 4 or 8 bit indexed (ie palette entry) images that are more widely used.
Cherry KISS offers very subtle colouring and transparency effects (24bpp colour and 8 transparency bits). However, it is much more memory and processor intensive than the traditional indexed colour KISS. To try to minimise this impact, there is now a hybrid format that allows both indexed colour and Cherry KISS cels in the same set.
PlayKISS is strictly a KISS player, rather than a KISS doll development system. If you want help building your own dolls, try its sister application, MakeKISS.
PlayKISS is fully compatible with KISS/GS Level 2 and up; in fact, it will load a number of dolls that take liberties with KISS/GS. So far, I have tested it on several hundred dolls with no outstanding problems.
PlayKISS supports the French KISS (FKISS) extensions (other than MIDI support and other minor issues). Sound effects are generated using the PlayIt module from Rick Hudson (rick@actrix.gen.nz); this is widely distributed on web sites, and comes pre-installed on the Iyonix.
PlayKISS supports all KISS colour models.
PlayKISS is started by double-clicking on its icons. A doll is loaded by dragging an archive containing the doll onto the icon on the iconbar (subsequent dolls may be loaded by dragging an archive onto the doll window).
After the doll is loaded, objects in the window may be moved by clicking on them with the mouse pointer and dragging them to the new position. Some objects may resist movement - just keep trying.
Some archives are extension sets to existing archives; from V2.08 onwards, PlayKISS provides support for such sets. To load a compound doll, hold the control key down, and drag the base doll to the iconbar icon. Then release the control key, and drag the extension set to the iconbar icon. At this stage, PlayKISS will read configuration files from the extension archive, but will have visibility of cels and palette files in the first archive. To load multiple extension sets, keep the control key down while loading all archives other than the last.
Some extension dolls use the "INCLUDE" directive to specify which doll they extend. PlayKISS supports this, by searching for the specified doll, firstly in the same directory as the extension set, and then by performing a hierarchical search through the search path specified in the preferences.
Most dolls include multiple backgrounds and sets of clothes. These can be chosen from the Toolbar (if visible), from the Set submenu, or by using the function keys (Esc for set 0, F1-F9 for sets 1-9). The palette can be altered from the toolbar, the palette menu, or the same function keys with the CTRL key held down.
A doll can be restarted by clicking on the iconbar icon with the mouse Adjust button.
In addition to the standard Info and Quit options, the Iconbar menu has the following entries, most of which are also on the main window menu.
Doll info | Information on the current doll:
|
||||||||||||||||
Set | Used to select the set to be viewed. | ||||||||||||||||
Palette | Used to alter the palette for the current set. | ||||||||||||||||
French KISS | Used to control various parts of the French KISS scripting language. | ||||||||||||||||
Show active | This leads to a submenu that can be used to highlight (by flashing) cels and objects
that are sensitive to one or more FKISS events.
|
||||||||||||||||
Options | Enable/disable the following options:
|
||||||||||||||||
Preferences | Set up options. |
Hardware & software requirements
PlayKISS requires RO 3.5 or later, the Acorn Toolbox modules, and some decompression tool (ideally SparkFS).
I have only tested the latest PlayKISS on RISCOS 4.02 and RISCOS 5.13, although I can see no particular reason why other versions should cause a problem.
PlayKISS will run in any screen depth, from monochrome to 32-bit. However, at least 256 colours is recommended, and some sets look better in 32K colours (for speed, PlayKISS does not attempt any dithering). Cherry KISS sets should always be played in at least 16BPP colours.
Some KISS sets can be very memory-intensive, but many should run in a 8MB machine in 256 colours, and most will run in 12MB in 32000 colours. PlayKISS fully supports Virtualise.
Cherry KISS sets are particularly memory intensive, and the sizes indicated above will frequently be exceeded. It is possible that Cherry KISS sets may report a memory error, although plenty of memory is available (!Virtualis will receive a message stating that it was impossible to extend virtual memory above the size of a dynamic area). This may be corrected by adjusting the upper limit of the dynamic area that PlayKISS creates to hold cels; this is under the "Advanced" options on the configuration window.
Also in the same block is a radio box offering options to optimise Cherry KISS dolls for speed or memory. Selecting "Memory" will tell PlayKISS to use 16BPP for Cherry KISS, rather than 32BPP; this will reduce memory requirements considerably, but will also increase the redraw time and reduce the quality of any transparency effects.
KISS data files are usually stored in either ZIP or LZH archives. These can be loaded directly into PlayKISS if SparkFS is present.
I have looked at the possibility of using ArcFS rather than SparkFS, but ArcFS does not seem to be able to read either LZH or ZIP files, as well as imposing a 10-character filename limit (rather than the 8+3 characters allowed by the KISS specification).
If SparkFS is not available, you should decompress the archives in some other way (but SparkPlug won't work with LZH files). The individual files can be copied to an X-File, a folder within a raFS volume, or a conventional RISCOS directory if numbers of files and filename length permits (for most modern dolls, this will require a disc using the "E+" format). The doll can then be loaded by dragging the X-File, raFS folder or RISCOS directory to the PlayKISS icon on the iconbar.
If the filenames are too long for RISCOS, and you don't wish to go to the effort of editing the CNF file, PlayKISS will also read a doll in a RISCOS directory if the individual files are stored in sub-directories with the same name as the DOS extension:
If there are too many files for this approach (and you don't want to use X-Files), try decompressing the archive to a directory on a PC floppy.
NB Some recent dolls are compressed using LZH method 6, which is not (yet) supported by SparkFS. The symptom for this is a message from SparkFS reporting "Unsupported compression method", or on rare occasions "Is SparkFS running?" . To the best of my knowledge, there is no image filing system available that supports this.
Failing other, more elegant, methods for decompressing dolls, you could try my port of the Unix/PC command line program, lharc. To make it a bit more easy to use, I've also produced a desktop front end, !DtLHARC. They're both available from my web site (for URL, see below).
The main image window has a menu which to a great extent mimics the iconbar menu, but with an additional "Export" option. Dragging right from this leads to a small dialog box allowing spritefile export of either the current image as is, or a complete set of all cels.
NB If the same cel file is used with multiple palettes, only the first version is saved.
NNB The export cel option is disabled for Cherry KISS, as the sprites are not legal under RISCOS. They use a bespoke format similar to, but developed before, RISC OS Select alpha-channel sprites. As most modern Cherry KISS sets require the performance of an Iyonix, I've deferred modifying the internal format to match alpha-channel sprites until they are available for RISC OS 5.
Program status
License conditions
PlayKISS is NOT Public Domain. However, copies may be passed on to other people as long as the following conditions are met
PlayKISS is distributed "as is", and used at your own risk. I accept no responsibility for damage to your computer, your data, or even the possibly addictive effects of KISS.
No known bugs.
Further information & bug reports
If you have any problems with PlayKISS, please contact me via email. Bug reports should include a description of the KISS set used (preferably a WWW or FTP address), the sequence of events that lead to the problem, and should state whether the bug is replicable.
The latest release version of PlayKISS can be found by using the "Web site" button on the program Info box on the Iconbar menu.
Have fun.
Nick Roberts