Page 1 of 4

ALICE 1.0 Released

Posted: Wed Nov 30, 2005 8:52 pm
by PyTom
Okay, so I just uploaded the release of ALICE 1.0 "Suigintou". This is the first release of ALICE, the Professional Paperdoll Program, and as such isn't really feature complete, and it may have bugs. OTOH, I think it's a good start, and even might be useful for some people. I hope people who try this will take the time to give me feedback, especially concrete suggestions on how to improve ALICE.

Thanks to Eclipse and Ren for providing the data for this first release.

Alice 1.0 can be downloaded from:

http://www.bishoujo.us/alice/dl/1.0/alice-1.0a.zip (3.9 MiB)

This contains ALICE and some of the libraries that it depends on, but it does not contain GTK+ as part of the package. So you'll need to install GTK+ 2.6 or higher before running ALICE for the first time. A prebuilt version of GTK+ for Windows can be downloaded from:

http://prdownloads.sourceforge.net/glad ... e?download

Install GTK+ on your system, unzip alice, and then run main.exe to start ALICE.

The doll data is placed in dolls/. While there is a directory structure there, it's purely for convenience. Doll data can also be placed in .azip files that are placed in the dolls/ directory. An azip file is just an uncompressed zip file.

The information about dolls are stored in three kinds of files. .spng files store the full-size images, .tpng files store thumbnails, and .config.py files (which are optional) store information about the doll.

You're not expected to create .spng or .tpng files directly. Instead, you want to use the tools makespng.exe and makethumb.exe to generate them from .png files with special names.

To add a new image to a doll, create a file with a name similar to the follow:

alice01_underwear_panties_lace-25.png

The first part of the name consists of three or four components, separated by underscores. The first component is the name of the doll this png file is part of. The second and third components are the category and name of the layer this png file is part of. The fourth part is an optional image within the layer. (It can be left out if there is only one image in the layer.)

This is followed by a signed number. In this case, the number is -25. It controls how close to the user the number is... smaller numbers are closer to the user. (So -50 is closer then -25.) By convention, the doll's body is at -0. Floating point numbers are allowed, so one can use -25.125.

Finally, the file must be a .png file. All .png files for a doll should be the same size. (Which is the default scale size for that doll.)

After placing appropriately named png files in the dolls/ directory, run makespng and makethumb, and then run main. Your new layer or images should show up.

Edit dollname.config.py to change a number of settings, including the default set of layers active when the doll first loads.

When distributing a doll, it's only necessary to distribute the .spng, .tpng, and .config.py files. You don't need to give out the original .png files. You can bundle these files into an uncompressed zip file renamed to an azip file, and just drop them into a dolls directory.

While it is possible to change the scale size of a doll, realize that scaling is very slow. So it's best to configure the doll before hand, and scale it at the very end.

Future development will be guided by community involvement. If people start using ALICE, and making dolls for it, I will work more on it. (Especially, adding the HSL code.)

Update: Changed the link to 1.0a.

Posted: Wed Nov 30, 2005 9:02 pm
by PyTom
Here's a screenshot of ALICE 1.0 in action.

Posted: Wed Nov 30, 2005 9:59 pm
by Megaman Z
okay, time for dll finding...

first up: libglib-2.0-0.dll

second: iconv.dll

third: intl.dll

and grabbing those files from dlldump.com (which is usually what I do) results in the following error:
The procedure entry point g_assert_warning could not be located in the dynamic link library libglib-2.0-0.dll.
so... at this point I would like to say RTFP (or as it's fully spelt out: READ THE FULL POST)

as far as comments: I think having a separate selection for "none" (as opposed to clicking where no selection is) would be a little bit better. it also took me a bit to get the school uniform to work right. I had to hold shift to get both the upper and lower parts selected (would probably work with Ctrl as well). maybe there's some sort of workaround for it, but I can't quite grasp it.

Posted: Wed Nov 30, 2005 10:16 pm
by PyTom
Megaman Z wrote: as far as comments: I think having a separate selection for "none" (as opposed to clicking where no selection is) would be a little bit better. it also took me a bit to get the school uniform to work right. I had to hold shift to get both the upper and lower parts selected (would probably work with Ctrl as well). maybe there's some sort of workaround for it, but I can't quite grasp it.
These are issues that come from my use of a gtk.IconBox for the image selection. It's more intended for files and things like that, rather than multiple selections like we have here. But I was way to lazy to write my own widget for this.

Posted: Wed Nov 30, 2005 11:00 pm
by ShiraiJunichi
Looks really good.

Some ideas...

When you decrease the scale size below the crop size, the crop size lowers. But when you increase the scale size above the crop size, the crop size stays the same
Perhaps some sliders in addition to the spinners would be nice for the scale and crop size. Also, a label for of the default sizes, or perhaps a button to return to the default sizes

Selecting the layers through a combo box is really annoying. It would be really nice if it had it's own scroll pane.

In order to use a different doll, you have to select "new" from the menu, and you lose all of your configurations. Also, having to do it through the menu is a little annoying. I'd like to see a combo box with all the different dolls in it

When I tried to load a file I had saved, it didn't work, and the command window printed out
Traceback (most recent call last):
File "alice\mainwindow.pyc", line 348, in open
NameError: global name 'state' is not defined

I rendered a png of alice, and opened it in photoshop in order to align my uniform with the body. I then saved it, and loaded it up, and my uniform was about 100 pixels too high. I then lowered the uniform by 100 pixels in photoshop, saved it, loaded it, and the uniform was placed correctly.

When you render an image, you can't specify the filename- it just chooses "untitled.png", which overwrites any previous renders.

When it loads up, it would be nice if the Render Preview window didn't display directly on top of the other window. It's tiresome to have to rearrange the windows every time you load the program...

I know, I know... Most of what I've mentioned is aesthetics- and GUI programming. The program itself seems to work very well- It's missing a lot of features, but I assume those will come in time, as this is just the first release.

One possible feature I think would be good, is to have the really big full size pngs (like what Eclipse first produced), and use them only when scaling up- and only when actually rendering the file. That way, scaling up wouldn't result in a loss of quality.

One last thing-
What's an "uncompressed zip" file?

EDIT: Also, it would be nice if I could somehow see the z-index of the layers as I apply them- so I can know how to index any layers that I create

Oh yeah, and Kudos to Eclipse and Ren- the art looks great!! I especially love the ability to make such slight changes to the hair style

Posted: Wed Nov 30, 2005 11:28 pm
by PyTom
ShiraiJunichi wrote:Selecting the layers through a combo box is really annoying. It would be really nice if it had it's own scroll pane.
Not sure what you mean by a scroll pane. A non-drop-down list?
In order to use a different doll, you have to select "new" from the menu, and you lose all of your configurations. Also, having to do it through the menu is a little annoying. I'd like to see a combo box with all the different dolls in it
But how would that work? Configurations only make sense for a single doll, so it wouldn't make sense to allow configurations that mix dolls.
When I tried to load a file I had saved, it didn't work, and the command window printed out
Traceback (most recent call last):
File "alice\mainwindow.pyc", line 348, in open
NameError: global name 'state' is not defined
A bug introduced when I rearrainged the code. Fixed now, in my codebase.
I rendered a png of alice, and opened it in photoshop in order to align my uniform with the body. I then saved it, and loaded it up, and my uniform was about 100 pixels too high. I then lowered the uniform by 100 pixels in photoshop, saved it, loaded it, and the uniform was placed correctly.
That's because the default alice is cropped with an offset of 100.
When you render an image, you can't specify the filename- it just chooses "untitled.png", which overwrites any previous renders.
Actually, it renders each configuration into "name of configuration".png. The idea is that one can just re-render everything in one go. If you change the configuration name, it will change the filename things are saved to.
When it loads up, it would be nice if the Render Preview window didn't display directly on top of the other window. It's tiresome to have to rearrange the windows every time you load the program...
This is entirely your systems fault, as I say nothing about where windows should render.
One last thing-
What's an "uncompressed zip" file?
A zip file with compression turned off. Decent zip tools can do that.
EDIT: Also, it would be nice if I could somehow see the z-index of the layers as I apply them- so I can know how to index any layers that I create
This is hard, since a layer can consist of multiple images at different z-indices. So a coat could have one part in front of the character, and another part that goes behind the character.

Posted: Thu Dec 01, 2005 12:02 am
by PyTom
Posted up 1.0a, which fixes the loading bug. At least, it works for me.

Posted: Thu Dec 01, 2005 1:08 am
by ShiraiJunichi
A non-drop-down list?
Right- the drow down list really slows everything down, because it's something you access repeatedly. I think it would be nice if you could have a small "scroll panel" that displays maybe 10 items at a time, and let's you scroll in case there are more than 10 categories.

But how would that work? Configurations only make sense for a single doll, so it wouldn't make sense to allow configurations that mix dolls.
Must be my misunderstanding of the program's capabilities. I was thinking it would be nice to edit more than one doll type at a time- but it seems that's not what you planned on implementing
That's because the default alice is cropped with an offset of 100.
*smacks forehead*
This is entirely your systems fault, as I say nothing about where windows should render.
I figured as much. I didn't think you would purposely tell the windows to obstruct each other. I was asking if you could possibly specify their placement so that they wouldn't obstruct each other. I know it's possible in Java, but...
This is hard, since a layer can consist of multiple images at different z-indices. So a coat could have one part in front of the character, and another part that goes behind the character.
I see... Do you have any ideas? I think it's a bit unreasonable to rely on trial and error. Documentation would always be feasible, but it would be a pain to have to create it, and to sort through it...

Posted: Thu Dec 01, 2005 5:56 pm
by mikey
Hmmm, I'm sorry to report this, but I've installed the libraries and ALICE won't work :cry: No error, no nothing, it simply doesn't do anything. Anyway, I'm not on my standard computer and it's hard for me to figure out what this notebook machine I am using now is all about (except that it runs XP), and I'll try it next week on normal hardware.

Posted: Thu Dec 01, 2005 5:59 pm
by Ren
T^T I still think an interface can be cute...
...anyway, i've noticed something, when i place a fringe over a hair layer, you can see the border between them(i don't know how to say it better) a bit pixellated.

I thought it was the png file, but i opened them in photoshop and they don't do that.
I have the feeling this might be because i used a gradient for the base colour of every hair and fringe;_;

Is there any way to make it look better or do i have to re-color all of themO_O
Heh, sorry if this is a silly question, i don't really want to add a problem here...

Posted: Thu Dec 01, 2005 6:20 pm
by PyTom
mikey >>

Can you try to run it from a command prompt, and tell me if it outputs any messages before crashing?

Ren >>

I think it comes from scaling down your images from a big size to a much smaller size. I'm not sure how to stop this from happening, though.

Posted: Thu Dec 01, 2005 6:40 pm
by Ren
Ah, good to know that!
Actually i didn't know if you scaled down the png files, i think it may be possible that if i scale down the original psd the result could be different(at least it works when you make screentones)

Thanks for replying so soon^_^

Posted: Thu Dec 01, 2005 8:56 pm
by zen
Loaded perfectly, works like a charm. Well done.

Posted: Fri Dec 02, 2005 1:01 pm
by rioka
Wow, that was earlier than expected. Way to go PyTom! I'll give it a whirl this weekend. In the meantime, as per PyTom's suggestion for smaller sized images - I'll be updating the site this weekend for those who want them.

Posted: Fri Dec 02, 2005 1:54 pm
by Blue Lemma
This sooooo reminds me of KISS dolls :D