Emit at tag(s) for complex logic isolation with here scope (diagram included)
New option in emitter to emit at tag. This would emit at all the found tags. It would emit multiple copies in the same logic frame.
Now this is covered with current logic by doing it manually, but I have a use case that is not covered.
What if we have "placeholder" things that emit complex things. So for example we emit some tough logic and then destroy it when it was done. In a game situation we are likely to need multiple copies of this expensive logic. Especially games like tile based, tactics, board games, puzzle games, etc. Now that you have emitted all that logic, you generally need a controller that handles the results. Currently in Dreams this is easy enough. Create some place holders. Have them listen for when to emit. Emit. Then use either wireless or hard wired (emit with wires) to communicate back to the controller.
What happens though if you need multiple simultanious copies of that entire system? Lets picture a 2+ player puzzle game. Searching multiple sets of data. Searching multiple paths at same time. If we hard code those wireless signal names, tag names, etc then we are going to have to create multiple copies of the same logic and tweak them.
What if instead we could "emit at tags"? Then with 1 logic call we could emit from a particular group at multiple placeholders. Each of the emitted things would then belong to the group we emitted in! Using the "here" scope, each version of this system is isolated!

-
This would be a great idea! Reminds me of something similar I did with a workaround that involved exclusive gates, which unfortunately, wouldn't spawn at all the locations in one frame. I found it later it was cheaper to just clone the emitters in their locations than use a bunch of logic.
What I did with the exclusive gates is that I used it to cycle through all the tags one at a time, eventually emitting things at all their locations, only if it was in a trigger zone. The problem is that it was too slow, and it would skip some locations if it ran too fast, which lead to a similar idea I had as yours.
What they need to do is add a "for loop" mechanism to the emitter itself. I think this would be even better than using thermo heavy workarounds, OR cloning an unnecessary amount of emitters around the scene.
I can make a scene, and add you as collaborator to show you the idea with the exclusive gates.
-
Oh yeah I agree, some kind of loop mechanism would be great. I can't really see how it would work with the way the logic system currently works though. Each signal path can only be activated once. The emit at tags option could be a relativey simple approach to achieve this within the current definition of the logic. (I mean how hard could it be for the Dreams internal to loop through the matched tags and let the emitter emit multiple times, just changing the emit point?). Im sure there is more to it under the hood.
I also use the exclusive gate method. The exclusive gate is actually pretty damn powerful. You can do all kinds of stuff with it. Loops, searches, priorities. You can even use it as the HEAD for a stack of data! I am currently using it to assign unique ID's in a loop. In the past I have used it for calculating the "F" cost in path searching. But as you said its too slow. Especially if you start doing more and more logic per loop.
-
If I understand correctly then you mean something like LBP3's Broadcast Microchip?
This microchip could projects its logic on all selected tags in a scene:
https://youtu.be/6iVMK2enleQ
That would be great!
Iniciar sesión para dejar un comentario.