ALICE 1.1 Released
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Re: ALICE 1.1 Released
Wait, I'm confused. @.@ How do you make dolls for ALICE? And what are these layers? Is there a file naming system that has to be used? Is there a manual to go with this program?
Re: ALICE 1.1 Released
I didn't update my set with the newest changes I've made to it.To use the doll I made for example you need something like Photoshop(or Gimp if you don't have that) and play with the layers.
You can download it from my signature :3
You can download it from my signature :3
Re: ALICE 1.1 Released
Thanks. I'll look at that.
I have Photoshop. So that's what the layers are referring to? I have to name the layers particular things?
Edit: I can't seem to be able to download the file. >.>
I have Photoshop. So that's what the layers are referring to? I have to name the layers particular things?
Edit: I can't seem to be able to download the file. >.>
Re: ALICE 1.1 Released
Yay! Worked! Thanks!
-
- Regular
- Posts: 87
- Joined: Sat Jun 23, 2007 9:19 am
- Projects: ALICE.NET
- Location: The other end of the internet.
- Contact:
ALICE Reborn?
It's been a long time since I checked in here...
At any rate, I recently came across my RenPy folder again, and (after updating of course ) have since been dreaming up a "better," or at least "re-imagined," ALICE, tentatively called ALICE.NET. While PyTom says he's not much of a GUI programmer, I fancy myself a fair hand, so that's one of the biggest improvements I'm trying to make.
Some other planned (and some partially-implemented) features are:
This is still a work in progress, really more like a mock-up. Right now ALICE.NET can only display one layer/coordinate at a time, and... that's about it; most of the work so far has been on the back end, structures and formats and whatnot, although it can save and load XML dolls. I've attached a couple screen shots so you can see what it looks like. Questions, comments, and suggestions welcome.
P.S. Many thanks to Ren for her wonderful artwork.
P.P.S. No, I'm not keeping the Office 2007 look, I was just trying out a new control.
At any rate, I recently came across my RenPy folder again, and (after updating of course ) have since been dreaming up a "better," or at least "re-imagined," ALICE, tentatively called ALICE.NET. While PyTom says he's not much of a GUI programmer, I fancy myself a fair hand, so that's one of the biggest improvements I'm trying to make.
Some other planned (and some partially-implemented) features are:
- XML-based doll and coordinate formats
- Uses plain PNG image sources
- Import/export original ALICE dolls
- Render to PNG or masked JPG
- Plug-in support (maybe)
This is still a work in progress, really more like a mock-up. Right now ALICE.NET can only display one layer/coordinate at a time, and... that's about it; most of the work so far has been on the back end, structures and formats and whatnot, although it can save and load XML dolls. I've attached a couple screen shots so you can see what it looks like. Questions, comments, and suggestions welcome.
P.S. Many thanks to Ren for her wonderful artwork.
P.P.S. No, I'm not keeping the Office 2007 look, I was just trying out a new control.
Re: ALICE 1.1 Released
I'm glad to see you're reviving the project^_^
Until now it looks good, I hope you'll somehow mimic the way layers and folders work in Photoshop since it's really practical(especially for the way I organized the hair...).
Until now it looks good, I hope you'll somehow mimic the way layers and folders work in Photoshop since it's really practical(especially for the way I organized the hair...).
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
Re: ALICE 1.1 Released
Looks good. I'm always somewhat ashamed I never did more with ALICE, so I'm glad that someone else has picked up the ball.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
-
- Regular
- Posts: 87
- Joined: Sat Jun 23, 2007 9:19 am
- Projects: ALICE.NET
- Location: The other end of the internet.
- Contact:
Re: ALICE 1.1 Released
I hadn't really thought about that. Somehow ALICE's method actually made more sense to me, but I'll see what I can do. Perhaps some sort of compromise...Ren wrote:I'm glad to see you're reviving the project^_^
Until now it looks good, I hope you'll somehow mimic the way layers and folders work in Photoshop since it's really practical(especially for the way I organized the hair...).
Thanks. I hope I can make it live up to the standard you set, though.PyTom wrote:Looks good. I'm always somewhat ashamed I never did more with ALICE, so I'm glad that someone else has picked up the ball.
Re: ALICE 1.1 Released
How does ALICE do it currently? I don't think I've ever looked at the metadata...Criptych wrote:I hadn't really thought about that. Somehow ALICE's method actually made more sense to me, but I'll see what I can do. Perhaps some sort of compromise...Ren wrote:I hope you'll somehow mimic the way layers and folders work in Photoshop since it's really practical.
I'd have thought that the ideal solution would be a tree structure of some sort in the config file, with different combiner options - so at any node in the tree, one could configure it to draw all of the child nodes, or just one of the child nodes, or whatever.
So for a simple example the top level could be 'Character', which draws 'Body' then 'Hair' then 'Costume'; 'Hair' might be a simple selection and draw 'Ponytail' or 'Crewcut' or 'Middle-Parting', but 'Costume' might be a composite like the 'Character' node, and be comprised of 'Costume Top', 'Costume Bottom', 'Hat' and 'Shoes', where each of those items might be a composite or a selection-from-many as well.
Server error: user 'Jake' not found
- rioka
- Royal Manga Tutor
- Posts: 1255
- Joined: Fri Jul 16, 2004 12:21 pm
- Completed: Amgine Park, Garden Society: Kykuit, Metropolitan Blues (art)
- Location: somewhere in NY
- Contact:
Re: ALICE 1.1 Released
I'm also glad to see ALICE being revived. Coincidentally, I was cleaning up a day or so ago and I found my folder of ALICE drawings. I placed it away again for another time for me to pursue it but with this post, maybe it's a sign for me to get back to it. ;D
Re: ALICE 1.1 Released
I didn't mention it in this thread, but I used your doll in White Nights, back in 2007. So thank you for making it!eclipse wrote:I'm also glad to see ALICE being revived.
-
- Regular
- Posts: 87
- Joined: Sat Jun 23, 2007 9:19 am
- Projects: ALICE.NET
- Location: The other end of the internet.
- Contact:
Re: ALICE 1.1 Released
Actually, I meant the way layers were selected in the GUI, though reading through some of the old posts, I see that checkboxes were suggested, so that's another possibility.Jake wrote:How does ALICE do it currently? I don't think I've ever looked at the metadata...Criptych wrote: I hadn't really thought about that. Somehow ALICE's method actually made more sense to me, but I'll see what I can do. Perhaps some sort of compromise...
As for metadata, I agree that a tree structure makes sense. In fact, the current doll format looks something like this (fully implemented):
Code: Select all
<AliceDoll Version="1.0" Name="Betty" Creator="Ren">
<Group Name="Body">
<Layer Name="Base" Image="body/base.png" Z="0" />
<Layer Name="Arms" Image="body/arms.png" Z="50" />
<Group Name="Face">
<!-- with subgroups for eyes, mouth, etc. -->
</Group>
<Group Name="Hair">
<!-- back, bangs -->
</Group>
</Group>
<Group Name="Clothing"><!-- tops, skirts, swimsuits --></Group>
</AliceDoll>
Code: Select all
<Coordinate Name="Uniform">
<Layer Name="Clothing:Uniform:Skirt" />
<Layer Name="Clothing:Uniform:Blouse" />
<Layer Name="Clothing:Uniform:Kerchief" />
</Coordinate>
I hope this isn't too complicated, but here's how I think of it:Jake wrote:So for a simple example the top level could be 'Character', which draws 'Body' then 'Hair' then 'Costume'; 'Hair' might be a simple selection and draw 'Ponytail' or 'Crewcut' or 'Middle-Parting', but 'Costume' might be a composite like the 'Character' node, and be comprised of 'Costume Top', 'Costume Bottom', 'Hat' and 'Shoes', where each of those items might be a composite or a selection-from-many as well.
Each Layer consists of a single Image at a particular Z-order, or "depth." You can combine Layers into a Coordinate, like an outfit or hairstyle. Then you can combine Coordinates and/or single Layers into a Pose ("configuration"), and render any or all of the Poses. Once recoloring is supported, my plan is to have recoloring data stored with the Coordinate/Pose, so you can have several Coordinates with the same Layer in different colors (like different schools' uniforms). I haven't decided yet whether to save Coordinates with the Doll or the Poses, though; maybe some in each.
... Oh, dear, I think I'm rambling.
Anyway, here's a quick example (this format isn't implemented yet):
Code: Select all
<AliceProject Version="1.0">
<Coordinate Name="Betty">
<Layer Name="Body:Base" />
<Layer Name="Body:Arms" />
<!-- face and hairstyle -->
</Coordinate>
<Coordinate Name="Uniform 1">
<Layer Name="Clothing:Uniform:Skirt" />
<Layer Name="Clothing:Uniform:Blouse" />
<Layer Name="Clothing:Uniform:Kerchief" />
</Coordinate>
<Coordinate Name="Uniform 2">
<Layer Name="Clothing:Uniform:Skirt" Hue="240" Sat="0.10, 0.90" Lum="0.10, 0.90" />
<Layer Name="Clothing:Uniform:Blouse" Hue="240" Sat="0.00, 1.00" Lum="0.00, 1.00" />
<Layer Name="Clothing:Uniform:Kerchief" Hue="240" Sat="0.00, 1.00" Lum="0.00, 1.00" />
</Coordinate>
<Pose Name="Uniform 1">
<Coordinate Name="Betty" />
<Coordinate Name="Uniform 1" />
</Pose>
<Pose Name="Uniform 2">
<Coordinate Name="Betty" />
<Coordinate Name="Uniform 2" />
</Pose>
<Pose Name="Uniform 3">
<Coordinate Name="Betty" />
<Coordinate Name="Uniform 1" Hue="120" Sat="0.00, 1.00" Lum="0.10, 0.90" />
</Pose>
</AliceProject>
Re: ALICE 1.1 Released
I would suggest adding at least one thing to this - conditional switching for layers. For example:Criptych wrote: In fact, the current doll format looks something like this
Currently, I don't see any way that I can move from the top-right to the bottom-right image in one transition; I'd have to change the body pose and the clothing pose separately, which would get pretty annoying if I was having to change eight or nine different layers. Not to mention that for any one body pose, I'd have the option of selecting many costume options which just didn't fit whatever I'd selected for the base body pose. Or worse still, I might have to the two poses defined as totally different AliceDoll documents so that if I want to have a character who has multiple poses than I have to switch between several different dolls to render all the poses out.
So if you - say - set up a case-style conditional structure in your AliceDoll document, you could do something like this:
Code: Select all
<AliceDoll Version="1.0" ... >
<Group Name="Body">
<Option Name="Assured">
<Layer Name="Body-Assured" Image="body/assured.png" Z="0" />
</Option>
<Option Name="Nervous">
<Layer Name="Body-Nervous" Image="body/nervous.png" Z="0" />
</Option>
</Group>
<Group Name="Clothing">
<Option Name="Hakurei">
<Case Select="Body:Assured">
<Layer Name="Hakurei-Assured" Image="clothing/hakurei-assured.png" Z="10" />
</Case>
<Case Select="Body:Nervous">
<Layer Name="Hakurei-Nervous" Image="clothing/hakurei-nervous.png" Z="10" />
</Case>
<DefaultCase>
<!-- I'm sure no-one will mind her having no clothes if she doesn't have a body selected -->
</DefaultCase>
</Option>
...
</Group>
...
</AliceDoll>
I'd suggest a different name - perhaps "composites" or even something as usage-specific as "costumes". Usually, when people talk about 'coordinates' in a graphics sense they mean positions along coordinate axes.Criptych wrote: Coordinates
Speaking of positions along coordinate axes, though: I'd also suggest adding optional offset coord attributes to the 'Layer' elements in the AliceDoll document, if you don't have something like that already - in case people don't want to save huge full-extent-of-character PNGs out for every single tiny accessory.
I'd also recommend not calling those 'poses', since to an artist the 'pose' is what the base naked character is in; individual costume elements (such as those in my example image above) may be specific to a pose, but changing someone's hat doesn't change their pose.Criptych wrote: Then you can combine Coordinates and/or single Layers into a Pose ("configuration"), and render any or all of the Poses.
Server error: user 'Jake' not found
-
- Regular
- Posts: 87
- Joined: Sat Jun 23, 2007 9:19 am
- Projects: ALICE.NET
- Location: The other end of the internet.
- Contact:
Re: ALICE 1.1 Released
I did give this some thought before drafting the format, but this is also part of the idea behind the Coordinates. You can have all your differently-posed bodies, clothing, etc. in a single Doll, and simply select the one that you need when creating Coordinates and Poses.Jake wrote:I would suggest adding at least one thing to this - conditional switching for layers. [...] Or worse still, I might have to the two poses defined as totally different AliceDoll documents so that if I want to have a character who has multiple poses than I have to switch between several different dolls to render all the poses out.
EDIT: Based on your example, this might look like:
Code: Select all
<Group Name="Body">
<Layer Name="Base" Image="body/base.png" Z="0" />
<Layer Name="Arms (Assured)" Image="body/arms.assured.png" Z="50" />
<Layer Name="Arms (Nervous)" Image="body/arms.nervous.png" Z="50" />
...
</Group>
<Group Name="Clothing">
<Layer Name="Hakurei (Assured)" Image="clothing/hakurei.assured.png" Z="100" />
<Layer Name="Hakurei (Nervous)" Image="clothing/hakurei.nervous.png" Z="100" />
...
</Group>
Jake wrote:I'd suggest a different name - perhaps "composites" or even something as usage-specific as "costumes". Usually, when people talk about 'coordinates' in a graphics sense they mean positions along coordinate axes.
[...]
I'd also recommend not calling those 'poses', since to an artist the 'pose' is what the base naked character is in; individual costume elements (such as those in my example image above) may be specific to a pose, but changing someone's hat doesn't change their pose.
Seriously, though, the name "Coordinate" hails from similar tools/games in Japanese, referring to a "coordinated" set of (usually) clothing. I had originally used "Outfit," but I thought the current name sounded more general. "Composites" might work.Shakespeare wrote:What's in a name? That which we call a rose
by any other name would smell as sweet.
In the case of Poses, I was thinking in terms of the Coordinates, above, in that you could select a posed body and add Coordinates to it. I guess it really could cause some confusion... but I can't think of a good alternate name right now.
I do recall this is how ALICE worked, using cropped images with the SPNG extension, but I hadn't really considered it yet for two reasons. One, I haven't done a lot of imaging in C#, so I wasn't sure how to implement it: finding the edges can be an expensive process unless there's a built-in function for it. Second, using full-size images for each layer removes the need for the offset, and reduces the chance of misalignment. And with a decent PNG encoder, cropping the image probably won't save more than a few KB, depending on the resolution. However, if I can work around reason #1, I might put something like this in.Jake wrote:Speaking of positions along coordinate axes, though: I'd also suggest adding optional offset coord attributes to the 'Layer' elements in the AliceDoll document, if you don't have something like that already - in case people don't want to save huge full-extent-of-character PNGs out for every single tiny accessory.
That said, thanks a lot for your suggestions. I'll see what I can use.
EDIT: I've thought of two possible alternatives for pose selection, using an additional "Pose" attribute.
Option 1:
Code: Select all
<Layer Name="Arms" Pose="Assured" Image="body/arms.assured.png" Z="50" />
<Layer Name="Arms" Pose="Nervous" Image="body/arms.nervous.png" Z="50" />
...
<Layer Name="Hakurei" Pose="Assured" Image="clothing/hakurei.assured.png" Z="100" />
<Layer Name="Hakurei" Pose="Nervous" Image="clothing/hakurei.nervous.png" Z="100" />
Code: Select all
<Layer Name="Arms" Z="50">
<Image Pose="Assured" Source="body/arms.assured.png" Z="50" />
<Image Pose="Nervous" Source="body/arms.nervous.png" Z="50" />
</Layer>
...
<Layer Name="Hakurei" Z="100">
<Image Pose="Assured" Source="clothing/hakurei.assured.png" />
<Image Pose="Nervous" Source="clothing/hakurei.nervous.png" />
</Layer>
Option 1 is similar to, and more compatible with, the example at the top, with the name of the pose removed to another attribute.
Option 2 is more obvious, but the extra organizational level would play havoc with my existing code (not prohibitively, but annoyingly), and is unnecessary for Layers with only a single Pose.
Going along with this, I'm considering removing the Pose structure and simply allowing nested Coordinates (or whatever they become). That is, you could create a Coordinate, then incorporate it into others ("Body & Arms" + "Happy Face" + "Uniform" => "Uniform - Happy"). This idea is partly because I'm already implementing Coordinates as a special type of Layer, and to reduce confusion with actual "poses" and the Pose attribute.
By the way, she's cute. Is she making any appearances soon?
Who is online
Users browsing this forum: Ahrefs [Bot], Bing [Bot], Google [Bot], konimyun