Home, Imprint, News
Dolls
Software
Tutorials
Templates
Links
How to submit dolls and basedolls
A few words about nudity

Adverts:

eph's Den of Many Comics


Tutorial by Alcy



This is a potentially confusing tutorial, I wrote it in the middle of the night a few years ago and never edited. I hope to rewrite it, but for now, if you get stuck, email me. Please note that this is for Windows users. If you're on Mac, I'm afraid I'll have to send you over to tea's site..sorry I can't be of much more help to you.

Tools required:

MSPaint
Notepad
PlayFKiSS
Klavdij Voncina's KiSS Cel Workshop 2.0
WSVC
Winzip and its LHA/LZH utility


(all except the first two can be obtained through OtakuWorld's KiSS section-no subscription needed.)

First, load up MSPaint. Draw a body (or whatever you want the base of the doll to be.) When you're done with that, put a black rectangle around it, leaving one pixel of room between the rectangle and the body.

Then, pick a background colour that will not occur on any actual item in the set. (Anything done in this colour will become transparent!) While you're working with it, you may want to use a bright shade like neon green or fuschia (to check for loose pixels), but, in most cases, this won't look right in the final published doll.

Now, use the box highlight tool. Highlight whatever portion of the body the clothing item you intend to make would go on, and hit ctrl+c. Then, hit ctrl+v, and move to a new area of the bitmap. Draw the item on your new copy. Erase any excess bits of the body, and box it in (one-pixel distance rule still applies.) Now, highlight the entire box your new item is in. Hit ctrl+v and make a second copy of it. Draw the backing in on this copy.

Repeat paragraph 3 until you have all the clothing you want, then...(Remember, you can also do the following while you're working, if you care to test!)

Save this bitmap file in 24-bit format, and keep the filename under or equal to 8 letters/numbers. I usually use "big" or whatever I intend for its LZH filename to be. Note that this bitmap needs to remain within 2000x2000 pixels, and everything needs to be contained in a black rectangle. Now, exit Paint.

Load up KiSS Cel Workshop 2.0. There isn't much you need here, it's just that MSPaint changes your colours when you directly save to 256-colour format, so this way is much, much safer. Load up your bitmap file, then go to tools, colour conversion, to 256. Then, go to file, save as *bitmap*. Overwrite your old copy of the image. Then, exit KiSS Cel Workshop 2.0.

Load up your bitmap in WSVC. Give each cel file a unique name that's easy to remember and under or equal to 8 letters/numbers. Good examples: body.cel, shrt1a.cel, shrt1b.cel, text1.cel. Be sure that both "Offset" and "Cut right/bottom edges" are checked. Once that's done, go to file, make all. The grammar in the program is a little off, but what it does is it creates the CEL files and your KCF (palette) file and places them in the same directory as your bitmap. Open this directory. The palette will have a randomly generated name, so for the sake of remembering, rename it to palette.kcf (or your LZH name with .kcf instead of .lzh).

Now, exit WSVC and load Notepad. Start off a new text file as follows:

; **Palette files**
%palette.kcf
;
(780,450) ; Environment size
[1 ; Border color
;


If palette.kcf isn't your KCF filename, change it to whatever applies to yours. (780,450) will be the dimension in pixels of your set's screen. I recommend it strongly for resolutions of 800 x 600-the average computer screen. You can set this to whatever you want, it's merely a suggestion.

Border color (I think it only takes the US spelling) doesn't show up in all viewers, but won't crash any, and looks nice. You can set this as high as however many colours you've used, but 1 usually matches well.

On the line after the last semicolon, start listing your CELs as follows (Change these filenames to whatever applies to your set!), from top to bottom as they should appear in the set's layers.

#1 coat1a.cel :0 1 2 3 4 5 6 7 8 9
#2 shrt1a.cel :0 1 2 3 4 5 6 7 8 9
#3 shoe1a.cel :0 1 2 3 4 5 6 7 8 9
#4 under1a.cel :0 1 2 3 4 5 6 7 8 9
#5 hair1.cel :0 1 2 3 4 5 6 7 8 9
#5 hair2.cel :0 1 2 3 4 5 6 7 8 9
#5 body.cel :0 1 2 3 4 5 6 7 8 9
#4 under1b.cel :0 1 2 3 4 5 6 7 8 9
#3 shoe1b.cel :0 1 2 3 4 5 6 7 8 9
#2 shrt1b.cel :0 1 2 3 4 5 6 7 8 9
#1 coat1b.cel :0 1 2 3 4 5 6 7 8 9
;

The numbers at the start of the line classify the CEL files into objects. Any items with the same number will be permanently stuck together. The numbers at the end of the line state what set numbers the items will appear in. For example, if you wanted slide 0 to be a title slide, it could look like this:

#1 coat1a.cel :1 2 3 4 5 6 7 8 9
#2 shrt1a.cel :1 2 3 4 5 6 7 8 9
#3 shoe1a.cel :1 2 3 4 5 6 7 8 9
#4 under1a.cel :1 2 3 4 5 6 7 8 9
#5 hair1.cel :1 2 3 4 5 6 7 8 9
#5 hair2.cel :1 2 3 4 5 6 7 8 9
#5 body.cel :1 2 3 4 5 6 7 8 9
#4 under1b.cel :1 2 3 4 5 6 7 8 9
#3 shoe1b.cel :1 2 3 4 5 6 7 8 9
#2 shrt1b.cel :1 2 3 4 5 6 7 8 9
#1 coat1b.cel :1 2 3 4 5 6 7 8 9
#6 title.cel :0
;


Once that's done, it's on to the FKiSS. This is purely optional, but can dramatically add to a set when used well. On the line after the last semicolon, type:

;@EventHandler
;@initialize()
;@ unmap("hair1.cel")
;
;@press("hair2.cel")
;@ unmap("hair2.cel")
;@ map("hair1.cel")
;
;@press("hair1.cel")
;@ unmap("hair1.cel")
;@ map("hair2.cel")



;@EventHandler is the single most important command-without it, your other FKiSS codes won't go into effect. It basically tells the viewer that the FKiSS codes are below. ;@initialize() refers to when the set is opened by its user. For example, if you have multiple hairstyles, you'll want to unmap all except for the one you intend for it to start in. (Note: ;@begin() does nearly the same thing, except there will be a flicker of the unmapped objects while the user loads your doll.) Semicolons (;) will begin every line, and can be used to make blank lines for ease of editing, or comment areas. ;@ unmap is used in conjunction with action commands to remove CEL files or objects from view. Likewise, ;@ map brings them into view. ;@ altmap, not pictured above, will toggle said item or items from in view to out of view whenever triggered. Also, keep note of what commands go next to the @ and what are tabbed in as part of a prior command. As seen in the ;@press example, the main command is ;@press. All of my above examples use a particular CEL rather than an object, but objects can also be used. If you choose to do so, the parentheses following ;@press won't have the name in quotation marks, simply (#3), or whatever the object number you want is.

Other FKiSS commands:

;@collide-Doesn't work on Mac viewers, but triggers following actions when two objects touch on non-transparent parts. Opposite is ;@apart.

;@in-Similar to @collide, but works on Mac, and is also used for the ever-popular snap-to code. The main difference is it's triggered when the two objects are in each other's rectangular area, regardless of transparency. Opposite is ;@out.

;@shell-This command I highly discourage. Most artists who use it just have buttons directing to their website URL or email address, which is annoying in itself, but it can also be used in very dangerous ways-and no, I won't do so OR teach you how to.

;@timer(2,500)-Sets off an alarm. Parameters: First number in parentheses=alarm number. Second=time in milliseconds until the alarm goes off. 500 will cause it to go off in half a second.

;@alarm(2)-The alarm itself. Anything it triggers will happen automatically once its accompanying timer(s) have gone off.

;@catch-While given object or CEL is being held onto by the user, its following actions will occur.

;@release-Opposite of ;@catch, generally used to turn off whatever ;@catch triggered..goes off whenever the user lets go.

;@sound-Triggers a WAV file. Please don't abuse this-WAVs take up lots of space and often don't add much to their sets.

;@music-Triggers a MIDI file. Always, always, when you use MIDI files, DON'T use them with ;@initialize or ;@begin! Many people like to listen to music on their computer while playing, and when sounds come up in PlayFKiSS and music is already running, their sound crashes until they reboot. *growls*

Alright, enough about FKiSS. There are many other codes out there-OtakuWorld has lists of them on every level. I just find those to be among the most noteworthy. Once you're done putting in FKiSS codes, put a new line with just a semicolon on it and save as a TXT file. 8-letter/number rule still applies! Load it up in PlayFKiSS. Make sure that you have your viewer set to Editor Mode (default is User Mode.). When you load this TXT file, it will say it doesn't appear to be a CNF. Don't worry, just hit OK. Place everything where you want it to go. Anything that you want to appear in the same place on every slide it exists, just right-click and go to Cel Properties, then close Cel Properties. Items such as the body should be fixed down. Right click them and go into Object Properties. On both "Original Fix Value" and "Current Fix Value", type in 9999 for a secure hold. Many artists like to put a mild fix on underwear-for this, use a fix of 10 or less. In PlayFKiSS, the difference shows-items with low values can be tugged away slightly before their hold is lost, but higher ones can't.

For snap-to code, right-click the body and hit "Make Snap-to Parent". Drag an item to its exact desired location on the body. Then, right-click the item and hit "Add Snap-to Code". Repeat with all items, then stick them back where you want them-if you did this earlier, go to another slide and right click them with Cel Properties. Go to each slide and see that the doll is in whatever outfit you want it to start each slide with. If everything is in order, then go up to File, Save As, and save the CNF. Keep it under 8 letters/numbers, and make sure it ends in CNF (not TXT!). Congrats, you're almost done!

Close PlayFKiSS, load Notepad. First, load up your CNF file. Take out the header, and save. Then, make a readme.txt. If you've used another artist's template as the base, this is the best place to credit them within the set. Any notes, background info, contact info, or thanks should generally go here. Save.

Now, load Winzip. If you didn't configure your LZH/LHA utility, now is the time to do so. I won't bother with the directions, OtakuWorld has them. Go to create new archive, and make an LZH filename. It's a good idea to check OtakuWorld's archives in case the name you want is already taken-saves Dov the hassle of changing it, and people are more likely to remember your set with a non-numbered name. Now, put in all your CEL files, your KCF file, your readme.txt, your CNF, any music files you may have coded into the set, and anything else you feel is necessary (example: some artists like to include their photos in the LZH with their self-portrait doll.).

It's a very good idea to load this up in PlayFKiSS and test it before publishing. If in doubt, go to just about any KiSS forum and request beta testers-many fans and artists will be more than happy to oblige.

Whee! You're a KiSS artist!! *applauds*

-Alcy

Please do not post this tutorial without permission or claim it as your own. I took the time to write it out, you can take the time to email me and ask before public distribution. You can, however, link to this HTML file, if you wish. Also, if you have any questions, go ahead and send. I'll do my best to answer them.

back to the tutorials