Sperry on 12/8/2020 at 14:31
* this has been copy+pasted from discord*Hello everyone.
I'd like to present my advancements to my "Money Tree" problem. And like to know what you think. I've been working on ways to "surpass" the object limit for T1 old dark for some time now. I got into the idea of developing a "Money Tree" after encountering the hard object limit and deciding not to accept it. I've read a bit here and there, namely the following post which got me started:
* (
https://www.ttlg.com/forums/showthread.php?t=123244&p=1774712&viewfull=1#post1774712) Updated FM: Mission X version 1.13 - Walkthrough, Lootlist, Lexicon, Trivia, Album
* (
https://www.ttlg.com/forums/showthread.php?t=118907&page=31&p=1883225&viewfull=1#post1883225) What are you working on RIGHT NOW - T1/2 Dromed Edition
* (
https://www.ttlg.com/forums/showthread.php?t=126885&p=1884008&viewfull=1#post1884008) Eclipsed Preview Thread
* (
https://www.ttlg.com/forums/showthread.php?t=143539&page=2&p=2246032&viewfull=1#post2246032) CoSaS 3 - The Nine Year Sleep - Content Release (3-14-2014)
I haven't found significant documentation about this elsewhere, so I attempted to create my own methods. While the pages linked to above imply that a Money Tree can be used to generate loot, I'd like to extend the concept to other items as well, AND be able to spawn, despawn and respawn these items as well. I've been working on two different methods since the beginning of July, and have to some extent successfully developed different methods to spawn, despawn, and respawn stationary objects upon command.
The idea is to have objects spawn and despawn at will when the player passes a certain mandatory checkpoint or within a certain radius. The objects which work best here are those which are stationary, which the player cannot interact with, and which do not leave shadows (ex: not only loot, but banners, pile o bones, paintings, plaques, un-frobbable bones, sfx, and other such elements). I had a bit of help, namely from Vfig and Vegetables, especially for some of the initial ideas.
I'll try to provide a simple tutorial in the next few days, but until then feel free to poke around in my demo files.
[INDENT]
The first method I found is simple enough: additional tables spawn in and out according to which table the player touches. ex. if the player touches the "Fancy Table", the objects spawn clockwise, and if the player touches the simple "Table", the objects spawn counter-clockwise. This method could be implemented in a level to generate certain objects as the player progresses through the map. "Satelite" objects could then appear and disappear according to which areas are activated in this way.
This method is simple, with just a few S&Rs and extra objects, and one can notice there is only one object initially required to set off the whole chain of spawns, so lowering object count is definitely possible here.
(
https://drive.google.com/file/d/1gLqnO69viOw3q94QDg100bZ5YVs9V3Co/view?usp=sharing) a COW file containing this first method can be downloaded here
There are two drawbacks to this first method however:
The first drawback: shadows can't be cast (naturally), and also, things potentially mess up if one of the objects can be frobbed. So like I've said above, this works best with objects that don't leave shadows and which cannot be frobbed.
The second drawback: if one decides to play a mission with such a Money Tree in multiplayer, the mission would almost instantly break as soon as two different players touch two different tables. In other words,
only one area can be activated, or have its objects spawned in, at a time. This second drawback led me to work on another method, which would be multiplayer compatible
The second method is more complicated, and I have not as of yet succeeded in implementing it without the use of a Rube Goldberg setup.
My objective was to have a timer detecting whether a player avatar is in a set radius or not, and to spawn or de-spawn specific objects accordingly. I attempted to do this with S&R to manipulate TweqDelete states. But Vfig and I realised that one cannot reset the counter of a Delete tweq with ActReact. This brought me to setup a RubeGoldberg setup with inclined pressure plates.
Now, as long as an avatar object is within radius, the objects in the area remain spawned. They will only despawn once all avatars leave the area. Making a mission using this more complicated method potentially multiplayer friendly. About 6 objects are required per area, which can potentially spawn and despawn any amount of additional objects as required. Two players can be in two different areas at the same time and have the relevant objects appear simultaneously.
(
https://drive.google.com/file/d/10yzmiTHnQEm7xKJlHJA22xzlUmTRHdBn/view?usp=sharing) a COW file containing the second method can be downloaded here
There are still two drawback for the second method:
The first drawback: The method still can't be used if one wants objects to cast shadows. Also, frobbable object will probably misbehave as well. In this regard, the second method does not present an advantage over the first.
The second drawback: its complexity, as a Rube Goldberg setup is required. As it is more complex, it is also potentially less stable. I found that once in a while, the objects don't always spawn immediately, so a fail-safe system should be implemented. But I'd like to know what you think.
However, on the plus side: the second method does not present the second drawback of the first method. As such, it is now possible to have many players in different areas and still have the relevant objects spawn and despawn properly. In other words,
more than one area can be activated and spawned-in simultaneously.[/INDENT]
I hope this made at least a modicum of sense. What do you think?
The two systems described above are compatible with T1 old dark (but should work fine in new dark as well, and in T2), and I don't believe they use custom scripts.
If you have any feedback that could help, or think of a way of simplifying/optimizing the system, please let me know!