ATL making other things obsolete?

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
wizzardx
Regular
Posts: 72
Joined: Thu Mar 19, 2009 2:35 am
Projects: An Ordinary Life, and various short Ar tonelico VNs
Location: At Frelia's side
Contact:

ATL making other things obsolete?

#1 Post by wizzardx »

So, going through the wiki docs to research some more advanced effects, I see a lot of warnings about ATL making some syntax obsolete. eg:

http://www.renpy.org/wiki/renpy/doc/ref ... s/Position

However, there a few things that ATL can't do yet. For instance, being combined nicely with Python code that expects functions or objects, or other types of uses beyond ATL (which is nice, but a bit limited). Also, the Ren'Py codebase itself seems to use these "older and deprecated" functions a lot internally.

Are those warnings mostly for new (or non-technical) users, to encourage them to use ATL where possible, or are non-ATL methods truly deprecated, and discouraged for use from all new projects (including ones that want to use more advanced methods)?

Also, I've mentioned it before, but it would be nice if there was more interoperability between ATL and non-ATL (Python) code. Is this planned for future releases, or are there already ways to do this that I'm missing?

PS: There's been no replies to my last few posts here - I get a feeling my posts are being ignored, so I'm less likely to post here in the future.

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4085
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: ATL making other things obsolete?

#2 Post by jack_norton »

You definitely should use ATL. BEFORE it, I made functions for positions and scaling like:

Code: Select all

        def zoom(start, end, time):
            return FactorZoom(start, end, time, opaque=False)
        def scale(factor):
            return FactorZoom(factor, factor, 0, opaque=False)
so that I would do:

Code: Select all

    show i_marie at scale(.55),Position(xcenter=.15,yalign=1.0)
but ATL is much easier, and also preserves the position/size. That is very good since I can first show a character and then change the expression with only the show statement:

Code: Select all

    show i_ebele:
        zoom .69 yalign 1.0
        linear 1.0 zoom .8
    "blablabla"
    show i_ebele happy
about python and ATL I'm not sure what you mean?
follow me on Image Image Image
computer games

wizzardx
Regular
Posts: 72
Joined: Thu Mar 19, 2009 2:35 am
Projects: An Ordinary Life, and various short Ar tonelico VNs
Location: At Frelia's side
Contact:

Re: ATL making other things obsolete?

#3 Post by wizzardx »

I like ATL a lot too, and like to use it where I can. Thanks for those examples :-)

My problem with ATL is that a lot of the time it doesn't seem to want to play nicely with non-ATL code, especially when I need to do more advanced things (eg: inside python code sections). Or if it's possible, it doesn't seem to be documented anywhere, and I'll end up struggling a long time with it before giving up.

One example of that, was trying to use ATL images for a CTC icon. That was solved today in this thread (I'm still not sure why that works), but I always seem to be running into problems like that with ATL.

Before, I've had problems with ATLs doing unwanted things, and needing to go to a lot of extra trouble to use them. Mentioned a few problems over here.

ATLs are getting better with newer versions of Ren'Py, but there are still a few rough spots for me.

It would help a lot if there was more documentation for intermediate/advanced ATL code, and integration with Python/regular non-ATL code, but the docs seem to stop after explaining the most common ATL uses.

A lot of the time (not just for ATL) I find myself digging through the Ren'Py source code, just to figure out how some things are meant to be used, or for more examples. The wiki is pretty good, but it would help if there were more examples in the reference sections. Or maybe if there was an "extended/advanced demo/tutorial" that went into a lot more detail, and pushed the limits of what Ren'Py features and syntax are capable of.

Probably the most useful resource so far for understanding more intermediate/advanced techniques, would be the wiki cookbook, and the Ren'Py demo. But the reference docs are a bit lacking :-(.

How do you pick up more advanced Ren'Py techniques?

I guess the most obvious thing would be to check out existing Ren'Py VNs and see how they do things. But I wouldn't even know where to begin there. Normally I'm trying to solve a specific problem :|. It might be useful to add a wiki page sometime which recommends a few featured Ren'Py projects for further study, after finishing the quickstart materials and cookbook.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Google [Bot]