thumb|300px|Screenshot of a KiSS set being displayed

Kisekae Set System (commonly known as KiSS) is a file format used to create and display digital dress-up paper dolls. The original KiSS format was intended for simple virtual dress-up games in which the user could drag clothing onto a doll figure. Over time, various extensions to the KiSS standard were introduced, adding animation capabilities and a wider range of interactive features.

Kisekae is short for , a Japanese term meaning "dress-up dolls".

Availability

KiSS is an open standard which has to some extent been implemented on many platforms, including several PDAs. It has also been implemented in Java and on the web.

Open source software is freely available for download on GitHub (Kisekae UltraKiss). This software provides an integrated development environment for creating and online viewing of KiSS sets on Microsoft Windows, Linux, and macOS operating systems.

History

KiSS originated in Japan in 1991 with "dolls" based on shōjo manga characters.

The original dolls, a series of simple, static images, could be moved about and layered on top of one another to look as if the doll image was wearing the clothing. Using computer graphics had the advantage over traditional paper dolls in allowing multiple layers to move in unison, including visually separate pieces, giving an illusion of depth not possible with physical paper.

The initial viewer software was designed for NEC PC-9800 series using a palette of 16 colours to display the doll. Shortly after, an enhanced standard was put forward (General Specification 2 known as 'KiSS/GS2') which included support for VGA cards and 256 or multiple 16 colour palettes. This standard is still the basis of KiSS, but several additional specifications have been incorporated into viewers since then, in particular "French KiSS", generally called FKiSS, for controlling interactivity and animation and "Cherry KiSS" (i.e. CKiSS) for 32-bit "true" colour support.

By the late 1990s KiSS had spread from the Japanese BBS communities internationally via the Internet with artists creating "dolls", programmers creating support tools, and fans appearing worldwide.

Note that although KiSS sets are often referred to generically as 'dolls' they are not confined to dress-up—they can be anything and there are "build-your-own" faces, wedding cakes, dollhouses, battleships, as well as puzzles, games and much more. Nonetheless such "unusual" sets are sometimes referred to as aberrant KiSS.

Format

A KiSS set consists of many files of a number of different formats. These are packaged for distribution as a single set or 'doll' in LZH format (a preferred archive format in Japan) which viewer programs can read as a whole to obtain the individual files.

Most files are 'cel' files which are raw, uncompressed graphics data analogous to animation cels. KiSS/GS2 specification cels also require a KCF (KiSS Colour File) as a palette, but CKiSS specification cels do not. A KCF also can control background colour and contain multiple palettes that can be swapped for lighting and colour change effects. All KiSS binary files (KCF, standard and CKiSS cels) since KiSS/GS2 share a common 32-byte binary header record identifying the size, type and format of KiSS data they contain.

A configuration file is also required to control field size, layering, cel position, use of palettes, and interaction and animation events.

In addition MIDI files for music and WAV files for sound clips may be used, and generally some form of text documentation is included by the artist.

Expansions

KiSS sets are allowed to acquire resources from other KiSS sets by a process called 'Expansion'. This allows new versions of a doll without incorporating the original cells into the new set, meaning that earlier versions did not have to be replaced, and different artists could add to the doll without confusion as to who the original artist was. This dates from some of the earliest viewers, but the details of loading an expansion set remain somewhat viewer dependent.

Extensions

A number of features have been added to KiSS but never formally incorporated into the main KiSS format. For compatibility and to hide them from viewers that do not support them they are disguised as comments in the configuration file. Each type of extension (except user grouping) was initially introduced in Japan, however all (except Cherry KiSS) have later been extended by international viewers.

French KiSS

'French' KiSS (or 'FKiSS') is an event driven scripting language created as an experimental add-on to the KiSS/GS2 specifications. It was introduced in Japan to allow animation and greater interactivity in KiSS. It was the first extension, and intended only for testing but it proved so popular that it became entrenched as is. All FKiSS directives appear preceded in the first column of their configuration line by:

;@

The ";" normally indicates the beginning of a comment, which originally hid the directive if a viewer did not handle FKiSS although it is now standard in all viewers.

FKiSS itself has been extended several times:

  • 'FKiSS2' was first implemented by a group of international programmers creating viewers for alternate platforms. It adds collision detection, relative movement and some simple condition tests. FKiSS2 was a non-procedural language that would respond to various events. This level of FKiSS is supported by all but the very oldest viewers. This was the last Level supported in Japan.
  • 'FKiSS3' introduced a procedural structure with program variables and control logic, math, and flow control making it more nearly a full scripting language.
  • 'FKiSS4' simplifies and extends FKiSS capabilities, particularly with support for user groupings, but there are so far few viewers that support it.
  • 'FKiSS5' is an UltraKiss