ALICE Progress

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
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.
Post Reply
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 15478
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:

ALICE Progress

#1 Post by PyTom » Sat Nov 05, 2005 10:49 pm

So, actually spent some time hacking on alice. I just checked the 490 lines of python (physical, including blanks and comments) I wrote today into the subversion revision control system, so I've officially passed through the "just playing around" phase of development, and into the writing it phase of things.

Today I wrote the main window, which is the window that lets the user pick which layers are included in various configurations. Here's a screenshot of what I have so far:

Image

(This is a linux screenshot, things will look different on windows.)

So far I'm automatically generating thumbnails from the image files on the disk, automatically generating a data structure to represent layers and images, letting the user create, rename, and delete configurations, and letting the user pick which layers are in which configurations. The File menu isn't hooked up yet, so all changes are currently transient.

Right now, there's no rendering at all, as the rendering engine is something that needs to be written. I'll probably do loading and saving first, just to make testing easier. I don't know when I'll get to rendering, but what I have here will make it into the final program.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
ShiraiJunichi
Miko-Class Veteran
Posts: 651
Joined: Sat May 21, 2005 12:28 pm
Location: University of Utah
Contact:

#2 Post by ShiraiJunichi » Sat Nov 05, 2005 11:42 pm

Alright, things are looking well. Keep up the good work!

User avatar
saru
Regular
Posts: 27
Joined: Mon Apr 18, 2005 7:05 am
Location: Maeklong , Thailand
Contact:

#3 Post by saru » Sun Nov 06, 2005 9:37 am

good job! :D

/me wait final program. ^ ^

User avatar
PyTom
Ren'Py Creator
Posts: 15478
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:

#4 Post by PyTom » Sun Nov 06, 2005 7:12 pm

Day 2:

Implemented loading and saving, and the rest of the file menu. Took longer than I thought, because for everything you do there's some sort of dialog that can come up asking you how you want to do it, or if you want to do it at all. (That's not to say that you'll encounter there dialogs very often... but they have to be there, and that means I had to code them.)

Did some experiments to prepare for the renderer, so I now have at least some idea of how it will work, and how I can get the data out of it and onto the screen. I'll probably use PIL (Python Imaging Library) for the renderer, and push it into GTK as late as possible.

One issue will be memory consumption and performance. Right now, the Alice01 images are 1500 x 4000... which is a bit big. Storing it in memory, uncompressed takes 1500 * 4000 * 4 bytes, or 24 megs of ram.

Per image.

As I think it's not unreasonable that a configuration could comprise more than 10 images, I think that we're going to have to do something about that memory consumption. (Such big images also take a second or so to load.)

So what do people think is a decent size for the source images to be, realizing that we can't gain resolution that's not there.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
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:

#5 Post by rioka » Sun Nov 06, 2005 7:38 pm

Well, the main issue with the image size is that folks wanted the flexibility to either do a close-up of just the face, ability to use the full body, or do the standard knee/waist up pose. (Not to mention the fact to allow room for tall hats, big hair, or high-heeled shoes...)

If you want, you can reduce the height to 1500. From what I've found, it's about the perfect size for a 800x600, waist up image, plus you can always increase the size for an up-close face shot without sacrificing the quality of the image that much. See below for example. At this size, you can significantly reduce the file sizes of all the parts. One file I tested it out on reduced from 316KB to 92KB just because of the file reduction from a 4000 height to a 1500 height.

Well, it'll be up to the users to determine what they want... =)
Attachments
800x600_1500HeightExample.png
1500 height ALICE image resized to 2500 and put into 800x600 background.
800x600_1500HeightExample.png (618.86 KiB) Viewed 925 times

User avatar
monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

#6 Post by monele » Mon Nov 07, 2005 6:16 am

Not saying about filesize but when it comes to memory, I think you could process source pictures into their desired format (face close up, full...), resize accordingly, and only keep the small displayed version (wouldn't be larger than 800x600 according to most games resolutions right ?).
Then if the user changes between full body/face close up, you reprocess the pictures.

User avatar
PyTom
Ren'Py Creator
Posts: 15478
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:

#7 Post by PyTom » Mon Nov 07, 2005 6:51 am

The problem, though, is that I want to keep ALICE at least vaguely interactive. And simply loading a 1500x4000 image into memory takes a second or so on my machine... which is a fairly long wait, and one I'd like to avoid if possible, especially multiple times.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

#8 Post by monele » Mon Nov 07, 2005 1:04 pm

What else can be done ? Keeping multiple versions of the pictures on the hard disk then? :/. Maybe it's better on the speed side, but when it comes to downloading it... ^^; not so good.

User avatar
ShiraiJunichi
Miko-Class Veteran
Posts: 651
Joined: Sat May 21, 2005 12:28 pm
Location: University of Utah
Contact:

#9 Post by ShiraiJunichi » Mon Nov 07, 2005 2:30 pm

Maybe you could use smaller pictures while working in the program, and then when you export, perform all of the operations on the original sized images

Post Reply

Who is online

Users browsing this forum: No registered users