Design Your Own Pet Screenmate
1. Download MyPet Program & Examples
Please first donwload MyPet Program & attached examples:
Click Here To Download
Please extract the files from the download ZIP files such as WinZip. After extraction, the following folders will be created :
  Demo - Demonstration of Screenmate Creation (FaFa Cat Demonstration)
Makibao - Makibao Full Version
Attention : Program can be run on Windows 98/2000/XP/Vista, Enter the folder "Demo" or "Makibao" and run program MyPet.exe directly. No other installation procedure is required.
The attached demonstration files (under folder "Demo") will be used to explain the steps of screenmate creation
2. Draw Screenmate Animation Character Images
Firstly, design the character's images, create the BMP bitmap file like the demo example:
In the demo example, the picture size is 500 x 150 pixels. Each character image is in 50 x 50 pixels. Thus, the whole picture could have exactly 10 character single images in horizontal and could have 3 single images in vertical. The maximum no. of character images can be put into the picture is 10 x 3 = 30 character images.
Attention : The width/height of the picture MUST be the multiply of the width/height of single character image.
File must be in BMP bitmap file format, its better to use less of colors. The attached example have only used 16 colors.
Select one color be the background color. Use this color to fill in other space out of the character images. For example, the attached demo example use Cyan (RGB: 0, 255, 255) as the background color.
Draw the characater image and put it to the whole picture from left-top corner to bottom-right corner.
3. Create Screenmate Animation Mask Picture
Secondly, create the screenmate mask picture. In the demo example, the mask picture is in 2-color BMP bitmap file format as follows:
In the demo example, the picture size of the mask is exactly equal to the original screenmate picture, i.e. 500 x 150 pixels.
File must be in BMP bitmap file format, this file SHOULD NOT be compressed and must be a 2-colors (BLACK & WHITE colors) mono bitmap file.
The images on the mask picture is the same to the original screenmate picture. Only that the character portions will be filled in pure white color and the other extra spaces will be filled in pure black color.
4. Design Screenmate Title Picture & Mouse Cursors
Design the screenmate title picture (Optional), like the following example:
This title picture must be in BMP bitmap file format. The size should around 200 x 100 pixels. The title body should not have any color which is pure black color.
Use pure black color to fill in the extra space other than the title body.
Create your own mouse cursor files, please use other graphical tools to create the CUR cursor files (Optional).

The mouse cursor images should be in 32 x 32 pixels, there are two cursors that will be supported by program
Normal - Mouse cursor when cursor is on the top of the screenmate
Hold - When pressing the left mouse button and try to re-position the screenmate

5. Define Pet Screenmate Basic Information
The setup text file 'mypet.ini' contains all the screenmate setup information. Please use text editor such as Notepad to open and edit the file.
Please refer to readme.txt to get more information about the rules & instructions to modify the "mypet.ini" setup file
Section[Setup] and[Animation] are used to store the basic information of the screenmate program setup; [Setup] section basically is maintained by the program itself (through the Option User Interface). The designer should only focus on the section [Animation] and fill in correct information.
In the setup file, the line statement will be ignored if it is started by character "#".
In the demo example, section [Animation] is defined as follows:
Definition Remark
Application Name=FaFa The Pet Screenmate fullname is "Fa Fa"
Bitmap=fafa.bmp The screenmate animation file "fafa.bmp"
Bitmap Mask=fafamask.bmp The screenmate mask file "fafamask.bmp"
Bitmap Title=title.bmp The title picture used in About dialog box is "title.bmp" (Optional)
Cursor=fafa.cur Normal mouse cursor file is "fafa.cur" (Optional)
Hold Cursor=fafa1.cur Mouse cursor when pressing the left mouse button and doing re-position of screenmate is "fafa1.cur" (Optional)
Transparent Color=0,255,255 The background color for empty is Cyan with RGB value : 0,255,255
Num Of Image=28 This screenmate animation have totally 28 characters
Num Of Action=21 Have defined totally 21 sets of actions (Explain later)
Image Height=50 The character image height is 50 pixels
Image Width=50 The character image width is 50 pixels
Start Action=1 First action will be performed when running the mypet program
6. Design Screenmate Actions
Design the image sequences of the specified action no., and modify the contents under section [Action] of mypet.ini setup file.
For example in the demo example, the action no. 1, 5 and 12 have following images sequences:
  Action No. 1 :
The "Standing" action is based on character image No. 1 with 2 time frames, so the setup will be:
action1 = 1,1
  Action No. 5 :
The "Walking" image sequences are character images No. 5, 6, 7, 8, 9 and 10 displayed continuously, the statement will be:
action5 = 5,6,7,8,9,10
  Action No. 12 :
The "180 degree of rotation" image sequences are based on character images No. 1, 15, 16, 2, 16(mirrored), 15(mirrored), 1(mirrored). Please note that all the mirrored images will have a letter 'r' to indication this image is mirrored. The statement will be as follows:
action12 = 1,15,16,2,r16,r15,r1
Under the section [Action] of mypet.ini setup file, please define all the images sequence for all action sets. The demo example have the action definition as follows:
action1 = 1,1
action2 = 2,2
action21 = 28,27,28,27,28
7. Set the Possible Available Next Action Lists & Probabilities
After that, you should design the possible next actions after current action. You should also set different probabilities for next available actions.
The next possible action list for specified action is defined under the section [Action] of mypet.ini setup file. For the demo example, the setups are as follows:
next1 = 1-6,4-30,5-20,6-20,7-6,9-6,12-6,13-6
next2 = 2-20,3-50,8-15,r8-15
next21 = 21-70,20-30
For example, the action no. 2 have following settings:
  action2 = 2,2
next2 = 2-20,3-50,8-15,r8-15
Possible next actions after action no. 2 (Standing) are :
Definition Remark
2-20 Stay in action no. 2 (Standing), the probability is 20%
3-50 Jump to action no. 3 (Sit down)!Athe probability is 50%
8-15 Jump to action no. 8 (Turn to right)!Athe probability is 15%
r8-15 Jump to action no. 8 (Turn to left, and next action should be mirrored), the probability is 15%
Please note that mirrored action should have letter 'r' before the action no.
The sum of all the probability values SHOULD be equal to 100 otherwise there is error warning dialog pop-up.
8. Movement of Screenmate
If want to have movement on pet screenmate, you should set the vertical or horizontal move for the actions.
Under section[Action] of mypet.ini file, add the statement of x_step<action no.> or y_step<action no.> to define movement.
x_step<action no.> - negative value for moving left, positive value for moving right.
y_step<action no.> - negative value for moving up, positive value for moving down.
For example, the action no. 5 (walking) in the demo example have following settings:
  action5 = 5,6,7,8,9,10
next5 = 5-70,1-20,6-10
x_step5 = -5
x_bound5 = 12-50,13-50
Under this example, the screenmate will move to left in 5 pixels (negative value for left movement) when running this action.
If the movement makes the screenmate to hit the screen boundary, and the running action should stop immediately and jump to other actions, the statement x_bound<action no.> or y_bound <action no.> may be used to define the available next action lists after the screenmate hits the screen boundary.
x_bound<action no.> or y_bound<action no.> statement have the same syntax to next<action no.> statement.
If the screenmate should have enough space for vertical or horizontal movement and should choose those actions that haven't had enough space to complete the action, x_buffer<action no.> or y_buffer<action no.> statements may be defined for handling this condition.
x_buffer<action no.> - negative value for left horizontal buffer, positive value for right horizontal buffer.
y_buffer<action no.> - negative value for upper vertical buffer, positive value for lower vertical buffer.
Mypet screenmate program will try to avoid choosing actions that have had enough space to complete action.
9. Reduce the Probability of Repeated Action
If want to reduce the probability to choosing same action, use the statement same_ratio<action no.> to control.
For example as below, Action no. 14 have the probability 50% of choosing the same action 14. If want to reduce the probability of the duplication of the same action, add the statement "same_ratio14 = 10" :
  action14 = 20,20,21,21,20,20,21,21,20,20,21,21,20,20
next14 = 14-50,3-50
same_ratio14 = 10
Larger the value, the probability to repeat the same action will be much more reduced
Statement dislike<action no.> can also be used to reduce action will be occured too frequentl.
For exmaple, action no. 1 is the "standing" action of the screenmate, action no. 4 is the "Sit down" action of the screenmate. In order to avoid the screenmate too frequently to repeat the action sequence of "Standing" and "Sit down", Set the following statements as :
  action1 = 1,1
next1 = 1-6,4-30,5-20,6-20,7-6,9-6,12-6,13-6
same_ratio1 = 1
dislike1 = 4-10:4

action4 = 4,4
next4 = 4-20,1-50,20-30
same_ratio4 = 1
dislike4 = 1-20:1
The statement : dislike1 = 4-10:4 have defined action no. 4 should be avoided be chosen again and the factor is 10 (this value in fact is the expected no. of actions between two specified actions. The larger the value, the smaller the possibility that two actions will be too close be chosen)
10. Execute the MyPet Program
If everything ready, you should put all files under the same folder/directory likes this :
Filename Remark
mypet.exe Main program to be run
mypet.ini The animation setup file
fafa.bmp The screenmate animation picture
fafamask.bmp The screenmate mask picture
fafa.cur Mouse cursor file - Normal (Optional)
fafa.cur1 Mouse cursor file - Hold (Optional)
title.bmp Title picture for about dialog box (Optional)
Run mypet.exe program
If there is syntax error in "mypet.ini" setup file, error warning dialog box will be shown on screen likes as follows:
Correct the error and run the program again until no error dialog box pop-up.
11. Question & Query
If have any question or query, please send e-mail to:
Your are welcome to send e-mail of your pet screenmate design to us. We can do packaging of your designed screenmate to one single EXE program and put it on the web for public to download.