home *** CD-ROM | disk | FTP | other *** search
/ Chip Hitware 6 B / CHIP_HITWARE6_B.iso / gry / wkiss / doc / howkiss.txt < prev    next >
Text File  |  1999-02-19  |  35KB  |  807 lines

  1.  
  2.                             KISS Walk-through:
  3.                         How To Make KISS Data Sets
  4.  
  5.                               by Dov Sherman
  6.                 First Released on the Ides of March, 1996
  7.  
  8.  
  9. Contents:
  10.     Some Definitions
  11.     Selecting Your Subject Matter
  12.     Drawing Your Base Doll
  13.     Breaking Things Up Into Levels
  14.     Viewing the Base Doll
  15.     Making Some Clothes
  16.     Positioning Objects
  17.     Locking Objects in Place
  18.     Restricting Objects to Specific Pages
  19.     Setting New Default Palettes
  20.     Gambatte!
  21.     Appendix
  22.  
  23.  
  24. Some Definitions:
  25.  
  26.     Since KISS is designed to be portable to a wide variety of platforms,
  27.     KISS cel files are always 8 characters long followed by a three
  28.     character extension.
  29.  
  30.     KISS data sets are made up of a configuration file (*.CNF) and a
  31.     series of palette (*.KCF) and cel (*.CEL) files.
  32.  
  33.     The configuration file defines what cels and palettes are used by a
  34.     KISS data set.
  35.  
  36.     An object is a group of one or more cels that act as a single entity
  37.     such that when the user moves one of them, all cels in the object move
  38.     together.  Usually, an object is something singular like a shirt, the
  39.     doll itself, or a hat.  Sometimes an object might be more than one
  40.     item which move together like a pair of shoes.
  41.  
  42.     The cel files describe sections of dolls and clothing and other KISS
  43.     objects.  Each cel is an image which may show part of an object or the
  44.     whole object.
  45.  
  46.     The palette files define the colors used by cels.
  47.  
  48.     For the most part, most KISS artists draw the dolls and clothes as
  49.     picture files in other formats like PCX, PPM, or IFF.
  50.  
  51.     If you are using an Amiga, Chad Randall's PlayFKISS archive includes
  52.     several conversion programs for making KISS sets.
  53.  
  54.     PC users will be interested in Mian's KISS Utilities for converting
  55.     PCX files to CEL and KCF formats.  (This is what I use.)
  56.  
  57.  
  58. Selecting Your Subject Matter:
  59.  
  60.     The first step in making a KISS data set is selecting your subject
  61.     matter.  The majority of KISS data sets are people and little clothes
  62.     to put on them.  Dolls.  While there are a few more unique KISS sets
  63.     like the Battleship Mogami, a Go board, and a map of Japan, for the
  64.     purposes of this walk-through, I'll assume we're making a doll.
  65.  
  66.     It's very popular to choose a character from manga or anime. Three out
  67.     of my own four currently recently released KISS data sets are based on
  68.     anime/manga characters.  But not all KISS data sets have to be.  Be
  69.     creative.  You can make a data set based on anything you like from
  70.     celebrities to movie characters to mythological characters.  Invent
  71.     your own characters and have fun with it.
  72.  
  73.     You may want to keep in mind what kind of clothing you'll be drawing
  74.     when you select your subject.  It might be good to select a character
  75.     for which you can draw a variety of max-and-match clothing pieces.  If
  76.     outfits are all a single piece, playing with the doll might not be as
  77.     much fun.  (For example, I considered drawing Kurenai Tsubasa from
  78.     Ranma 1/2 but how much fun is it to stick a one-piece mailbox disguise
  79.     on a character and then take it off again?  Fun for about five seconds
  80.     and then you look for something else to do.)
  81.  
  82.     Once you have selected a character, the first step is to draw the base
  83.     doll.
  84.  
  85.  
  86. Drawing Your Base Doll:
  87.  
  88.     Once you have chosen your subject, you should draw the base doll, the
  89.     doll without any clothes on.  You may choose to draw the doll with
  90.     underwear on.
  91.  
  92.     Drawing the base doll can be difficult, even if you are a skilled
  93.     artist.  There are several approaches that may work well for you:
  94.  
  95.     1) Direct Drawings
  96.  
  97.         If you're really good with a mouse, you may choose to simply draw
  98.         the doll from scratch with your favorite paint program. This can
  99.         be difficult and I avoid it when possible.
  100.  
  101.     2) Scanned Drawings
  102.  
  103.         If you have access to scanning equipment, you can sketch your doll
  104.         on paper and then scan it in.  You'll probably need to retouch it
  105.         but it's easier than just drawing it from scratch.
  106.  
  107.     3) Transparencies
  108.  
  109.         If you don't have access to a scanner but you have a sketch you
  110.         want to use as your base, you might try tracing the sketch onto a
  111.         transparency.  You can then tape the transparency to your computer
  112.         screen and trace it with your paint program.  The results will
  113.         probably by blocky and will need to be retouched but it's still a
  114.         lot better than drawing from scratch.  For transparencies, I
  115.         usually use plastic sandwich bags which I draw on with a magic
  116.         marker.
  117.  
  118.     4) Borrowed Drawings and Pictures
  119.  
  120.         You may choose to use an existing image file as a resource. For
  121.         example, when I made my "Two Ranmas" KISS set, I used a scanned
  122.         image of character design sketches.  The originals were in black
  123.         and white and were drawn with clothing but they provided a good
  124.         base after I did some retouching to edit out the clothing and add
  125.         color.
  126.  
  127.     Try any of these techniques or any combination of them.
  128.  
  129.     Some Important Guidelines for Drawing:
  130.  
  131.     * Your drawing needs to be in 16 color mode with the first color
  132.       (usually called palette number 0) as the background.  Be sure that
  133.       any part of the doll that is supposed to be transparent is that
  134.       color. You should probably set that color to whatever you want the
  135.       background of your data set to look like in operation.  (KISS does
  136.       support a 256-color palette mode but, for the purposes of this
  137.       walk-through, we'll stick with the simpler 16-color mode.)
  138.  
  139.     * Don't make your doll too big.  A good range is somewhere from 100 to
  140.       500 pixels in height depending on how much detail you want to draw.
  141.       A larger doll can allow you more detail but that can take longer to
  142.       draw and will require more memory and disk space in the finished
  143.       data set.
  144.  
  145.     * When you draw your base doll, keep in mind what sort of clothes
  146.       you'll be drawing on it and what restrictions that will put on the
  147.       way parts of your doll overlap with other parts.  If your doll is
  148.       going to wear a large, billowy shirt, you might not be able to draw
  149.       the doll with her hands on her hips.
  150.  
  151.     * Crop the finished image down until the edges of the image come very
  152.       close to or even touch the doll.  Later, when we turn the doll into
  153.       a KISS object, the edges of even the transparent parts will define
  154.       how close to the edges of the screen we can place the doll.
  155.  
  156.     * Save the image in a format for which you have a KISS conversion
  157.       program.  If you don't have a converter to turn TGA files into KISS
  158.       cels, svaing in TGA format won't do you much good.
  159.  
  160.     * When you finish drawing the base doll, make a back-up copy of it in
  161.       a different directory.  You don't want to lose it when it took so
  162.       long to draw.
  163.  
  164.  
  165. Breaking Things Up Into Levels:
  166.  
  167.     KISS objects like the doll and her clothing are made up of one or more
  168.     cels.  Each cel contains part of the image for the whole object.  Each
  169.     cel has a set height and any cel that is above that height will always
  170.     appear to be in front of it.  Many objects will be interwoven so that
  171.     cels in the first object appear above and behind certain cels in
  172.     another object.  This is why it's a good idea to know what sort of
  173.     clothing you'll be drawing on your doll.  Take some time to plan
  174.     ahead.
  175.  
  176.     Let's look at an example...
  177.  
  178.         Imagine we have a doll of Emi-chan from Sailor Moon.  We've drawn
  179.         this doll so that she's holding her right arm up in front of her
  180.         body so that it crosses in front of her.  We've also drawn her
  181.         legs so that her right leg crosses behind her to be hidden by her
  182.         left leg.
  183.  
  184.         Now we want to choose the sections of her body to be split up into
  185.         levels.
  186.  
  187.         We know that we'll want to draw a tiara that will appear on her
  188.         head but be hidden by her bangs.  So the bangs and her face will
  189.         need to be seperate levels.
  190.  
  191.         We know that her shirt should appear to cover her body while being
  192.         hidden by her right arm as it crosses over the shirt so at least
  193.         part of her right arm will need to be a seperate level from her
  194.         body. Perhaps we've drawn her to that only her forearm crosses in
  195.         front so we can decide to make the break right at her elbow.
  196.  
  197.         We want her left shoe to be hidden by her right leg since her left
  198.         leg appears behind he right leg.  So her left leg will have to be
  199.         a seperate cel from her right leg.  A good place to make this
  200.         break is right at the hip at the panty line.
  201.  
  202.         We now know three places where the doll will have to be split up.
  203.         But we can choose to do it so that we end up with only three cels
  204.         in total.  Since the bangs and right forearm are both in front of
  205.         the body and face, we can make the bangs and forearm the same cel.
  206.         Then we can make the left leg another cel.  In the end, we want to
  207.         have three cels: one with her bangs and right forearm, one with
  208.         the parts of her left leg that are visible, and one with the rest
  209.         of her.
  210.  
  211.         You can split the doll up into as many levels as you like but the
  212.         more levels you use, the more complex and time-consuming it will
  213.         be to finish your doll.
  214.  
  215.     Once you have decided where to split your doll up, load up your
  216.     drawing of your base doll and edit out everything that is not part of
  217.     the first cel, the part that is most toward the front.  (In our above
  218.     example, we would want edit out everything except her bangs and right
  219.     forearm.)
  220.  
  221.     Each cel has a different filename.  Choose a name that describes the
  222.     first cel and save your edited image under that name.
  223.  
  224.     Now load up you base doll image again and edit out everything that is
  225.     not part of the second level.  You may choose to leave in things which
  226.     are hidden by the first level.  If you're not careful, you might
  227.     accidentally edit out the joints between levels incorrectly and wind
  228.     up with gaps.  (Personally, I like to edit out everything except what
  229.     is specifically part of a given level but that takes planning and is
  230.     often more trouble than it's worth.  The main benifit is that you'll
  231.     be able to get a higher compression ratio for your finished set since
  232.     you'll have larger blocks of single-color areas.)
  233.  
  234.     Repeat this process for each level of the doll until you have seperate
  235.     image files for each section.
  236.  
  237.     Remember, if you choose to change one of the palette colors in one
  238.     level of the object, you must change it for all levels.
  239.  
  240.     Now you're ready to turn the image files in KISS cel files.  Let's go
  241.     back to our Emi-chan example...
  242.  
  243.         Mian's PCX2CEL converter is a DOS program and it's what I use to
  244.         make my data sets.  Let's go back to our Emi-chan example...
  245.  
  246.         Suppose we saved Emi-chan's bangs and forearm in an PCX file
  247.         called "fore.pcx".  We're going to want all three cels to use the
  248.         same palette so we've decided to call the palette "emi.kcf".  At
  249.         the DOS prompt, we type:
  250.  
  251.             PCX2CEL fore.pcx emi.kcf /t
  252.  
  253.         The first argument is the name of the image file.  Our cel file
  254.         will have the same first 8 characters and a filename extension of
  255.         "cel" (fore.cel in this case).  The second argument is the name of
  256.         the palette file.  We'll use the same palette name for all cels
  257.         that we want to use the same colors.  By default, PCX2CEL clips
  258.         off any transparent blank space above and to the left of the
  259.         image.  Since we are working on an object that has several levels,
  260.         each with different amounts of blank space, we don't want it to
  261.         clip any extra blank space away and we use the "/t" option to turn
  262.         off the automatic trimmer.
  263.  
  264.         KISS format GS/2 and above allows you save space that would be
  265.         trimmed by storing the amount of space trimmed as an offset value.
  266.         PCX2CEL can make GS/2 cel files.  GS/2 cel files take up less
  267.         space on disk and in memory.  To produce the same cel as above
  268.         in GS/2 format, we would type:
  269.  
  270.             PCX2CEL fore.pcx emi.kcf /g /t
  271.  
  272.     The exact command and syntax will vary depending on what conversion
  273.     program you are using.  Just keep in mind these basic points:
  274.  
  275.     * All cels which use the same colors, should have the same palette
  276.       name
  277.  
  278.     * If several cels make up a single object, turn off clipping
  279.  
  280.     * Use GS/2 format or higher when possible since it makes more
  281.       efficient files
  282.  
  283.     * Don't delete your image files right away.  You might decide to go
  284.       back and make changes later.
  285.  
  286.     * It may be useful to print up a hardcopy of your doll and make notes
  287.       on it about where you made the breaks between levels as a reference
  288.       to use when making the clothing.
  289.  
  290.  
  291. Viewing the Base Doll:
  292.  
  293.     Now we've got the palette file and we've got some cel files and we
  294.     want to see if they turned out okay so we need a configuration file.
  295.     The configuration file will have 8 characters followed by a filename
  296.     extension of "cnf".  Pick something for the first 8 characters.
  297.     Usually, it's good to use the name of your doll or just "kiss.cnf".
  298.  
  299.     Load up a straight ASCii editor.  Don't use a word processor that
  300.     allows special fonts and formatting since those will put special
  301.     formatting codes into the text.  You just want a very plain ASCii
  302.     editor.  PC users can use the built-in DOS program "edit" to create a
  303.     configuration file.
  304.  
  305.     Decide how large you want the screen to be.  It needs to be big enough
  306.     to show the doll and her clothing.  Be sure to leave room around the
  307.     doll in which to put her clothing.  Keep in mind the size of the
  308.     screen your users will have.  It's generally safe to assume they will
  309.     have a screen larger than 640x480 but unwise to expect anything larger
  310.     than 800x600.  Keep in mind that we'll need to leave some space for
  311.     the control bar and edges of the window.  The largest I would
  312.     recommend to use would be a screen size of around 790x518 which comes
  313.     very close to maximum size.  Once you have chosen a size, enter a line
  314.     in your configuration file like this:
  315.  
  316.         (width,height)
  317.  
  318.     ...where "width" and "height" are the numeric width and height of your
  319.     screen.  If you want a 320x240 screen, the line would be...
  320.  
  321.         (320,240)
  322.  
  323.     Don't leave any spaces to the left of the line.
  324.  
  325.     Next we need to tell the configuration file about the color palette we
  326.     made.  Enter a line like this:
  327.  
  328.         %palette.kcf
  329.  
  330.     ...where "palette.kcf" is the filename of our first palette file.  In
  331.     our Emi-chan example, it would be...
  332.  
  333.         %emi.kcf
  334.  
  335.     This is our first palette, palette zero.  It will be the default
  336.     palette for all cels in the data set but we can add more palettes
  337.     later.  Each additional palette we add should appear after this line
  338.     and be preceded by a % symbol.
  339.  
  340.     Next we need to tell the configuration file about the cel files we
  341.     made.  Each object in a KISS data set has a different number to
  342.     identify it.  The numbers don't control the height of the object or
  343.     its importance but it's generally a good idea to start with object #0
  344.     and count up as you make more objects.
  345.  
  346.     Since all the parts of our doll's body are the same object, we want to
  347.     give them all the same object number.  We list them in order from the
  348.     part that is closest to the fron to the part that is in the back.
  349.     In our Emi-chan example, this would look like:
  350.  
  351.         #0 fore.cel
  352.         #0 body.cel
  353.         #0 back.cel
  354.  
  355.     So our finished configuration file for Emi-chan would look like this:
  356.  
  357.         (320,240)
  358.         %emi.kcf
  359.         #0 fore.cel
  360.         #0 body.cel
  361.         #0 back.cel
  362.  
  363.     You can leave extra blank lines wherever you like for better
  364.     readability.  You can also add lines that start with a semi-colon (;)
  365.     for comment lines.  These comments can also come at the end of
  366.     non-comment lines.  For example:
  367.  
  368.         ; Emi-chan
  369.  
  370.         (320,240)
  371.  
  372.         ; Palettes
  373.         %emi.kcf
  374.  
  375.         ; Cels
  376.         #0 fore.cel ; Bangs and forearm
  377.         #0 body.cel ; Head, body, right leg
  378.         #0 back.cel ; Left leg
  379.  
  380.     Note: KISS format is case-insensitive so capitalization of filenames
  381.     does not matter.  Also, when adding comments, be careful not to make
  382.     the lines too long.  No single line can be more than 255 characters in
  383.     length.
  384.  
  385.     The configuration file should always have the declarations in this
  386.     basic order; screen size, then palettes, then cels.
  387.  
  388.     Save your configuration file and load up KISS.  In KISS, load your
  389.     configuration file.  Click on the doll and try moving it around.  Do
  390.     all the parts move together?  Are there are gaps between parts where
  391.     you accidentally edited out too much?
  392.  
  393.     If the colors look all messed up, you may have failed to create the
  394.     palette file correctly or else put the wrong filename in the
  395.     configuration file.
  396.  
  397.     When you have it looking good in your KISS viewer, select `Save' in
  398.     KISS.  Load the configuration file in your ASCii editor and you'll see
  399.     that KISS has added some new lines to the bottom of your file which
  400.     look something like this:
  401.  
  402.         $0 125,11
  403.         $0 *
  404.         $0 *
  405.         $0 *
  406.         $0 *
  407.         $0 *
  408.         $0 *
  409.         $0 *
  410.         $0 *
  411.         $0 *
  412.  
  413.     This page information tells KISS where the various objects will be
  414.     positioned when the user loads the data set.  If you edit these lines,
  415.     be sure to keep them at the end of the configuration file.
  416.  
  417.  
  418. Making Some Clothes:
  419.  
  420.     Now we have the base doll drawn and we're ready to make some clothes
  421.     for her.  The shape of the clothing will have to exactly match the
  422.     shape of the doll.  Think of an outfit to draw on your doll.
  423.  
  424.     Load the picture of your base doll into your paint program again.  The
  425.     colors we used for the base doll probably won't be suitable for
  426.     drawing clothes so we'll want to change the palette.  Be sure to stay
  427.     in 16-color mode.
  428.  
  429.     Think about what colors are in your doll's outfit.  I like to use
  430.     around three shade of each color for an outfit.  You may choose to use
  431.     a single color for outlining or use the Disney approach and use a
  432.     different, draker version of each color to outline those areas.  Be
  433.     sure to keep in mind that color zero is still the transparent color.
  434.     You can make color zero anything you want but it won't appear visually
  435.     in the KISS data set.
  436.  
  437.     When you have the new palette set, you may wish to save a copy of the
  438.     base doll using the new palette.  Don't overwrite the old picture.  We
  439.     only want the new picture as a template to draw outfits using the new
  440.     palette.
  441.  
  442.     Now we're ready to draw the outfit.  This is the method that I use but
  443.     you don't have to follow it.  It's just a good starting place which
  444.     you can feel free to expand upon:
  445.  
  446.         * Use color substitution to get rid of all the darker colors in
  447.           your template, replacing them with similar, lighter colors.
  448.  
  449.         * Select a dark color and sketch in the new outfit.  You may want
  450.           to use the old sandwich-bag overlay technique to help you get
  451.           the lines just right.  Go ahead and draw in some of the backs of
  452.           the outfit, as if the character were a translucent ghost wearing
  453.           solid clothing.
  454.  
  455.         * Use color substition again to get rid of all the colors except
  456.           the one you used for outlining.
  457.  
  458.         * Save the image in some temporary file.  You may wish to use a
  459.           name that refers to the outfit as a whole but it's still just a
  460.           template.
  461.  
  462.         * Now concentrate on just one article of clothing out of the
  463.           outfit.  Edit out all the lines that don't apply to that article
  464.           and fill in lines of that article that would have been hidden by
  465.           other articles of clothing.  Be sure to draw the backs and
  466.           insides of the clothing.  It's fun to see the care label on the
  467.           back of a shirt when the character isn't wearing it.
  468.  
  469.         * Clip your image so that the single item of clothing appears as
  470.           close to the upper-left corner as possible.
  471.  
  472.         * Now fill in all the colors and details of the article of
  473.           clothing.
  474.  
  475.         * When you have a single article of clothing finished, break it up
  476.           into levels.  Keep in mind the way that you broke you base doll
  477.           up into levels.  A good method is to consider each level as
  478.           distance from the viewer with the front as one piece and the
  479.           back as another piece.  It may take some experimentation to
  480.           decide just where to make the breaks.
  481.  
  482.     Now we have a single article of clothing and we want to add it to our
  483.     data set.
  484.  
  485.     Use your image to cel conversion programs to turn the different images
  486.     into cels.  We want to make a new palette this time so be sure to use
  487.     a new palette name.  For example, if we were making a skirt to go with
  488.     Emi-chan's sailor suit, we might type something like this:
  489.  
  490.             PCX2CEL skirt1.pcx sailor.kcf /g /t
  491.             PCX2CEL skirt2.pcx sailor.kcf /g /t
  492.  
  493.     Don't forget that objects that are made up of more than one cel need to
  494.     avoid having blank space to top and left of the images clipped away or
  495.     the cels won't line up together properly.
  496.  
  497.     Now load you configuration file into your ASCii editor.
  498.  
  499.     First, we need to tell the the configuration about our new palette.
  500.     Find the section where you told it about the first palette and add
  501.     another line with the new palette name *below* the old one.  In our
  502.     Emi-chan example, it might look like this:
  503.  
  504.         %emi.kcf
  505.         %sailor.kcf
  506.  
  507.     This new palette is palette number 1 because it is the second palette
  508.     listed in the configuration file.
  509.  
  510.     Now we want to add the different cels for the clothing.  Look at the
  511.     list of cels the configuration file shows for the base doll.  Think
  512.     about where each cel of your clothing item fits between the cels of
  513.     the base doll.  In out Emi-chan example, the front of the skirt would
  514.     go in front of the body but behind the forearm and bangs.  We want the
  515.     new object to be a different object from the doll itself (so that it can
  516.     be moved around seperately.)  Let's use the next available number, #1.
  517.     Add the cel declarations to you configuration file.  In Emi-chan, this
  518.     might look something like:
  519.  
  520.         #0 fore.cel   ; Bangs and forearm
  521.         #1 skirt1.cel ; Front of Skirt to Sailor Suit
  522.         #0 body.cel   ; Head, body, right leg
  523.         #0 back.cel   ; Left leg
  524.         #1 skirt2.cel ; Back of Skirt to Sailor Suit
  525.  
  526.     It isn't necessary to put those comments at the end of the
  527.     declarations but it may be helpful later as you add more clothing and
  528.     makes the file easier to understand.
  529.  
  530.     But wait!  How does KISS know to use the new palette for the skirt
  531.     instead of using the default palette (palette zero) that it used for
  532.     the body?  You have to put that in you cel declarations too.
  533.  
  534.     Immediately after the filename for the cel, add an asterisk (*)
  535.     followed by the number of the palette.  Going back to our Emi-chan
  536.     exmaple, the declaration for skirt1.cel might look like this:
  537.  
  538.         #1 skirt1.cel *1 ; Front of Skirt to Sailor Suit
  539.  
  540.     If you want to, you can add a *0 to cel declarations for cels using
  541.     palette zero to make the file easier to read but it isn't always
  542.     necessary since KISS will use palette zero as the default palette when
  543.     no palette is specified.  It is possible to define different default
  544.     palettes for each page but palette zero is the default default
  545.     palette.  More detail on setting alternate default palettes later in
  546.     this document.
  547.  
  548.     Our configuration file should now look something like this:
  549.  
  550.         ; Emi-chan
  551.  
  552.         (320,240)
  553.  
  554.         ; Palettes
  555.         %emi.kcf    ; Palette 0 - The doll
  556.         %sailor.kcf ; Palette 1 - Sailor Suit (red, white, blue)
  557.  
  558.         ; Cels
  559.         #0 fore.cel      ; Bangs and forearm
  560.         #1 skirt1.cel *1 ; Front of Skirt to Sailor Suit
  561.         #0 body.cel      ; Head, body, right leg
  562.         #0 back.cel      ; Left leg
  563.         #1 skirt2.cel *1 ; Back of Skirt to Sailor Suit
  564.  
  565.         $0 125,11
  566.         $0 *
  567.         $0 *
  568.         $0 *
  569.         $0 *
  570.         $0 *
  571.         $0 *
  572.         $0 *
  573.         $0 *
  574.         $0 *
  575.  
  576.     Next load your modified configuration file in KISS and test your
  577.     clothing item.  If there are problems with where you made the breaks
  578.     in the cels or the order of the cels in the configuration file, go
  579.     back and make the changes now.
  580.  
  581.     Once you have the item just the way you want it, go back to your
  582.     template and make the other items of clothing.  Again, it may take
  583.     some experimentation to get the levels right.
  584.  
  585.     As you make more outfits, you may find you need more colors.  Make new
  586.     palettes as needed and add them to the configuration file.  Try to
  587.     re-use old palettes when possible because you can only use up to 256
  588.     colors.  Palette zero counts as 16 colors and each additional palette
  589.     counts as 15 more (since the first color of palettes one and are
  590.     ignored).  This means a maximum of 17 palettes.
  591.  
  592.  
  593. Positioning Objects:
  594.  
  595.     Unless you set the positions of your objects, they'll all start off
  596.     clustered up in the upper-left corner of the window.  After you design
  597.     the objects, load them in KISS, place them in the positions you want,
  598.     and select `Save'.  KISS will update your configuration file.
  599.  
  600.     You can position everything on just the first page and then use your
  601.     ASCii editor to copy the position declarations at the end of your
  602.     configuration file.  KISS will use the first ten lines it find that
  603.     begin with the dollar-sign ($) as the declarations for the pages.
  604.  
  605.     You may want some of the objects to stay where they are so that the
  606.     user cannot move them.  To fix an object in place, you use the lock
  607.     field of the cel declarations.
  608.  
  609.  
  610. Locking Objects in Place:
  611.  
  612.     You can lock an object into place so that it can't be moved by the
  613.     user.  This is useful when you don't want the user to be able to move
  614.     the doll itself or if you use more than one object for the doll and
  615.     you don't want the user to pull the doll's arms off.
  616.  
  617.     You can also make an object difficult to move but not permanently
  618.     locked in place.  This is useful when you want the user to only be
  619.     able to move a given object after repeated attempts.  (Some KISS
  620.     artists use this method to fix underwear in place so that you have to
  621.     yank on the underwear several times before it comes off.  A little
  622.     ecchi if you ask me. ^_-)
  623.  
  624.     Let's suppose we want to lock the doll itself in place in our Emi-chan
  625.     example.  We would need to edit the declarations for the cels defining
  626.     Emi-chan's body.  For example...
  627.  
  628.         #0.32767 fore.cel      ; Bangs and forearm
  629.  
  630.     The number 32767 appearing after the period following the object
  631.     number is a lock value.  Since we have used a very high lock value,
  632.     the doll is permanently locked in place.  Any number over 100 is
  633.     permanently locked in place.  If we use a number lower than 100, the
  634.     object can be used after the used yanks on it several times.  The
  635.     higher the number, the more diificult it is to move.
  636.  
  637.     Objects which are locked permanently in place will never even twitch
  638.     from their starting position.
  639.  
  640.     Objects which are difficult to move but not permanently locked will
  641.     shift a short distance when yanked on but will snap back to their
  642.     starting position almost immediately.
  643.  
  644.     If you give different lock values to different cels of the same
  645.     object, whichever lock value is highest will be used for that object.
  646.     Lock definitions are common to all cels of the given object.
  647.  
  648.     If no lock value is given, the object is assumed to be freely
  649.     moveable.
  650.  
  651.     Behavior for a specified lock value of 0 is undefined.  Don't do it.
  652.     Results will vary widely depending on the program.
  653.  
  654.  
  655. Restricting Objects to Specific Pages:
  656.  
  657.     Suppose we want to organize our Emi-chan data set so that the objects
  658.     for her school uniform only appear on page zero (the starting page).
  659.     To do this, we set the page field of the cel declarations for those
  660.     objects.  For example...
  661.  
  662.         #1 skirt1.cel *1 :0      ; Front of Skirt to Sailor Suit
  663.  
  664.     The number following the colon tells KISS on which pages the objects
  665.     appear.  You can set the cel to appear on several pages.  For
  666.     example...
  667.  
  668.         #1 skirt1.cel *1 :0 3 7    ; Front of Skirt to Sailor Suit
  669.  
  670.     This would define the cel skirt1.cel as appearing only on pages zero,
  671.     three and seven.
  672.  
  673.     You must always list the pages in numerical order from lowest to
  674.     highest and page definitions must appear after any palette definition
  675.     if one is used.
  676.  
  677.     If no pages are specified, the cel is assumed to appear on all ten
  678.     pages.
  679.  
  680.     If a page has no cels defined for it, the page can not be accessed and
  681.     will appear as a dimmed button in KISS.
  682.  
  683.     If you specify some but not all of the cels for an object to be on a
  684.     given page, only the specified cels will appear on that page.  Page
  685.     definitions are specific to each individual cel.
  686.  
  687.  
  688.  
  689. Setting New Default Palettes:
  690.  
  691.     You may wish to have the default palette change for different pages.
  692.     This is useful when you want objects using palette zero to change
  693.     color when a new page is selected.  For example, maybe on page zero,
  694.     Emi-chan looks normal but, on page one, she has a tan.  To do this, we
  695.     edit the page declarations.  Let's look at an example...
  696.  
  697.         $0 125,11 20,45 145,40 * * *
  698.  
  699.     All page declarations begin with a dollar-sign ($).  The number
  700.     immediately following the dollar-sign, with no seperating space, if
  701.     the number of the default palette for that page.  When there is no
  702.     declaration for a page, KISS will assume the default palette is
  703.     palette zero.  You can change that number to the number of a new
  704.     palette and any cels which do not have a specific palette given will
  705.     use that palette as the default on that page.
  706.  
  707.  
  708. Gambatte!
  709.  
  710.     That's Japanese for "try your best."  You should now know the basics
  711.     of creating your KISS data set.  Don't be disappointed if you can't
  712.     turn out a new KISS data set overnight.  Making a good KISS data set
  713.     takes time and patience.  You may need to retouch cels many times
  714.     before getting them just right or you may even need to scrap all the
  715.     cels of an object and draw it again.  Just keep at it, give it your
  716.     best shot, and, above all, have fun doing it.  If you really put your
  717.     effort into making your KISS set, your users will enjoy it and that's
  718.     the best part of making KISS art.
  719.  
  720.     Gambatte!
  721.  
  722.  
  723.  
  724. Appendix:
  725.  
  726.     Here's a recap on the syntax for those configuration lines.
  727.  
  728.     Screen Size
  729.         Defines the size of the screen.  Appears once in the file.
  730.  
  731.         Syntax:
  732.             (<width>, <height>)
  733.  
  734.                 <width>  - the width of the screen.  Required field.
  735.                 <height> - the height of the screen.  Required field.
  736.  
  737.     Palette Declarations
  738.         Defines palettes used by the KISS cels.  Up to 17 palettes may be
  739.         defined.  Palettes will be zero to seventeen in order encountered.
  740.  
  741.         Syntax:
  742.             %<filename>
  743.  
  744.                 <filename> - the full filename of the palette.  Required
  745.                              field.
  746.  
  747.     Cel Declarations
  748.         Defines each cel used by the KISS set, its object number, its
  749.         palette, and the pages on which it appears.
  750.  
  751.         Syntax:
  752.             #<object number>[.<lock value>] <filename> [*<palette number>]
  753.                [:<page> <page> <page> ...]
  754.  
  755.                 <object number>  - the number which identifies the object
  756.                                    to which the cel belongs.  Range is 0 to
  757.                                    255.  Required field.
  758.                 <lock value>     - the `fixedness' of the object.  1 to 99
  759.                                    is difficult to move.  100 to 32767 is
  760.                                    permanently fixed.  If ommitted, object
  761.                                    is freely moveable.  Optional field.
  762.                 <filename>       - the full filename of the cel file.
  763.                                    Required field.
  764.                 <palette number> - the number of the palette used by the
  765.                                    cel.  Palettes are counted from 0 to 17
  766.                                    based on order of appearance.  If
  767.                                    omitted, the default palette is used
  768.                                    (palette zero unless specified
  769.                                    otherwise in the page declarations).
  770.                                    Optional field.
  771.                 <page>           - the numbers of the pages on which the
  772.                                    cel appears.  Range is from 0 to 9.
  773.                                    More than one page may be specified but
  774.                                    multiple pages must be listed in order
  775.                                    from lowest to highest.  Optional
  776.                                    field.
  777.  
  778.     Page Declarations
  779.         Defines the default palette for each page and the positions of
  780.         objects on those pages.  There should be 10 page declarations
  781.         appearing at the end of the configuration file.  Declarations will
  782.         be used for pages zero to nine in order encountered.  These
  783.         declarations can be generated by KISS if ommitted.
  784.  
  785.         Syntax:
  786.             $<default palette> <position #0> <position #1> ...
  787.  
  788.                 <default palette> - the number of the palette to be used
  789.                                     as the default on a given page.  Range
  790.                                     is 0 to 17.  Required field.
  791.  
  792.                 <position #N> - an X,Y position for the Nth object.  Each
  793.                                 page declaration will have an entry for
  794.                                 every object from #0 to the highest
  795.                                 numbered object.  If the object begins at
  796.                                 the origin (0,0), a * will indicate
  797.                                 default starting position.  If no cels are
  798.                                 declared for an object, default position
  799.                                 will be assumed.  Range depends on the
  800.                                 size of the screen and the size of the
  801.                                 objects.  It's best to use the KISS viewer
  802.                                 to set these values.  Required fields.
  803.  
  804.  
  805.     If you need more technical information about the format of cel and kcf
  806.     files, see the KISS/GS General Format Specifications.
  807.