Excuse me while I wrap my head around everything
Norbert wrote:What I have in mind is that I would use apoplexy to create and save custom tiles that will then be understood by MINIMIN as its extended tiles. (It might be best not to pick tile+modifier combo 10+7 for new potions, since Secrets of the Citadel's shadow potion already uses that.)
Actually, I have 7-11 all in use right now. Note that some of these potions have rather "implementation-specific" aspects (for my mod, that is...)
For reference, these are the specific types that I implemented:
7: shadow potion
8: bonus potion / extra time potion (trading in 1 max life point)
9: full health potion (with magenta-colored bubbles, inspired by Prince of Persia 3D's Tears of Malak )
10: custom open potion (similar to the normal open potion, but more versatile and if used to open a gate, that gate stays open. It also has a different appearance, so that it won't be confused with poison)
11: strong poison (This is probably similar to MININIM's big poison potion. But in the end I wanted these to have a slightly different appearance for my mod specifically)
oitofelix wrote:Speaking about behavior descriptions, what is that 10+7 "shadow potion" about?
It is a potion that temporarily turns you into the shadowman. While the effect is active, you can survive falls, pass through gates, and loose tiles won't fall.
Norbert wrote:oitofelix wrote:[...], in case there was an established universal standard for those additional tiles.
Well, who better to lay the first bricks towards such a standard than you and Falcury?
To quote from Prometheus, "big things have small beginnings".
We could, for instance, start with establishing that a 10+8 combo in LEVELS.DAT refers to a potion that kills instantly?
And, should it always be a big potion with blue bubbles? Things like that.
[Edit: Or perhaps it's time to move away from basic editors altogether. Although it's nice to not have to learn a new editor to work with a new PoP1 implementation.]
oitofelix wrote:In particular, if we are going to make this standard happen, I think the best way to validate it besides documenting it, is to implement it in independent reference projects, like MININIM, SDLPoP and apoplexy (if possible or applicable).
As soon as we agree upon any single tile specification, I'll make those available for use from MININIM's legacy level module. By the way, I think we could start listing the proposed new tiles that are already validated by a current implementation, like SDLPoP or MININIM, including their ids, expected behavior and any additional relevant information. I'm particularly interested in new tiles supported by SDLPoP.
Hey, and it would be interesting to add the hidden floor tile to SDLPoP, perhaps? Maybe it could use another modifier, like the fake tiles?
Personally I think that the potions could be a 'convention' and not a 'standard', per se. I.e. there should be a way to opt out if (for instance) you wanted potion 7 to be something generic, or radically different. For achieve this, there might be a setting in apoplexy to either use (all or parts of) the extended tiles convention, or to disable this and only display legacy tiles.
I know that such 'undefinedness' goes a bit against what we already did with SDLPoP's fake tiles earlier... and maybe the hidden floor as well if we decide to implement that.
Let me try to understand my own thoughts...
Perhaps the difference might be this: so far, practically all of SDLPoP's added functionality is more or less 'directly derived' from the original DOS version. Even the fake tiles, replays and the quicksave mechanism (pretty huge changes) can be seen as new and interesting/improved ways of interacting with just the same game content as it was originally designed. Whereas new potion effects could be more described as actually new 'original content'.
Hm, so I guess this means I think that 'derived' content may be standardized, but 'original' content should be either fully implementation-defined or using an optional convention. What do you think?
oitofelix wrote:Perhaps we should not enter too much on style or graphical details. Those might be implementation dependent, and maybe we should standardize only the fundamental behavior? What do you think? (I think there should be an implicit preference for following reference implementations, though)
I suppose having a reference appearance would mainly be an advantage for having a correct preview image in the editor, right?
For me personally, although it would of course be nice to have, having only generic/abstract editor previews would not really matter. My muscle memory for level editing has been primed on RoomShaker, so I am more used to a more abstract representation of the tiles anyway. (It's fine as long as I remember which tile modifier corresponds to which potion effect, of course...)
Hm, come to think of it, perhaps there could be a 1:1 mapping of generic 'implementation-defined' tiles for the potions? If I remember correctly SDLPoP can support 32 unique potions (5 bits degrees of freedom; the remaining 3 bits in the background/modifier byte are needed for the frames of the bubble animation). So legacy potion ids 7-31 could in theory be mapped between the formats?