@4onen
This blog is a description of some of the design decisions and interfaces in Ren’Py underlying many of my AwSW mods. Here, I’m trying to explain the ideas that led to the code in the final package, as well as help preserve and describe the Ren’Py 6.99 interfaces necessary to mod Angels with Scaly Wings.
It’s targeted at people who know the basics of modding the game, but who want to dig deeper to create more advanced functionality, as visible in the mods by EvilChaosKnight, 4onen, Linda, and the AwSW modtools themselves.
I’ve noticed recently that the Historic Ren’Py Wiki is slowly being replaced on Google Search results by the new Ren’Py documentation. While it’s wonderful that the Ren’Py project is finally reaching a new level of documentation standards, this older wiki is critical to understanding and modifying the game Angels with Scaly Wings (and other similarly old Ren’Py titles.) As such, I’m hoping to preserve some of the most useful code (at least among the pieces I’ve used) to help future modders come back to older titles and at least have a foothold into these wonderful games’ engines.
First, the title of this section is a lie. This page was written before this blog project was released, so these questions are what I assume might be asked.
No idea! Whenever each is done, and going until I get bored, I guess?
I don’t have a clear plan going forward, but some topics I’d like to
hit are: * The image interfaces used to make my Side
Images
mod (most critically im.Composite
, which is used in
almost all my mods to break displayed images into layered pieces and
vastly decrease mod file sizes.) * The image recoloration tricks
used in Teetotaller
and 4onen’s
Aesthetic Tweaks to match player colors. * The Ren’Py
Abstract Syntax Tree (AST) which represents the story in the loaded
game (and how mods “hook” into it) * The Ren’Py call stack, which
can be used to vastly reduce code duplication in mods. * The basics
of the Ren’Py Screen Language 2, as used in Magmalink Mod
Settings menus * The Ren’Py Animation Transformation Language (ATL)
used by most of my mods to slide sprites around better than the base
game does.
I’m assuming some understanding of Python, as I’m targeting this series at future modders interested in digging into more complex functionality rather than true beginners. Again, if you’re interested in modding AwSW but don’t have any idea where to start, see Linda’s excellent Magmalink-centered tutorials.