> What you actually said was "evaluates all of the Locations that any pattern could ask for every frame" so you are being very dishonest.
Sure, I think that's a reasonable implementation. Maybe we know all the Locations for all the behaviors in the current stage, and of those, for each one that can be evaluated in the past, we should evaluate it each frame and store it in a collection. The stored past-locations that are old enough that they can no longer be asked for can be discarded. So the data is accessed like a queue normally, but maybe if multiple behaviors look into the past by different amounts for the same Location then one of them has to access the middle of the queue. This is fine because the queue can be backed by a circular buffer. Is this a bad implementation in your view?
> You think no video game has ever been made without coroutines?
Is this an honest followup after someone asks exclusively about games in a single genre?
> What is there to process here?
Well, if the claim is that a majority of all bullet hell games were made before 2000, then it's just false, but it's sort of unclear if that is the claim. Maybe the claim is about "types" rather than "games." Even if it's about "games" then maybe Touhou Hisoutensoku (2009) "originated" in 1994 with the release of Street Fighter.
> Lua didn't even have coroutines until 2003.
Assembly had them in the 1960s (well, they are first documented to have been used in the 1960s, despite existing before then). C had setjmp and longjmp in 1979. Why would Lua need them?
To review the situation, we have 0 bullet hell games from the 80s. We have some bullet hell games made starting in 1993 by 2 companies (one of which is made up of the staff from the other) with exclusively bullets that never turn, home, accelerate, bounce off of things, or spawn other bullets. The games by these companies use a stage plan format the execution of which could reasonably be described as "not a VM". We have numerous other bullet hell games, the vast majority of all bullet hell games ever made, that use imperative scripting languages that can execute a single function that spans many in-game frames to attach behaviors to bullets. We also have a number of bullet hell games larger than the number of Toaplan/CAVE games but smaller than the number of BulletML/ECL/Danmakufu games for which I can't make any claims either way about the scripting environment (Valkyrie Sky, Jamestown, Shikigami no Shiro, etc.).
Obviously it's possible to implement anything in any Turing-complete language, in the same way that Billie Eilish could simply type the waveform she wants to put on her album into a text editor if she wanted to. I just think that it might be unreasonable for people who have sold 0 albums to tell her to do that instead of using FL Studio or whatever.