ID:265828
 
This has always been a topic that's confused me a little when I think about the deep-down basics of such a game. For those who don't know what danmaku games are, they're 'bullet curtain' games; scrolling shooters that use intricate and complex patterns of bullets across the screen, rather than straight-forward bullets and dodging terrain (like in Gradius).

To illustrate, some YouTube links to brief videos that show just what I'm talking about.

http://www.youtube.com/watch?v=Q2RgXP8lFYE One.
http://www.youtube.com/watch?v=nCHaFRpd8pU Two.
http://www.youtube.com/watch?v=Xtbtv7gUWQI Three.

Obviously, some elements of these games are not transferable to BYOND practically (the 3D comes to mind; however, as far as I know, it is possible to code pixel collision in BYOND) But, what I'm interested in is how you think they program these patterns into the game.

I'm fairly sure it involves some kind of complex math to determine the path, because programming each basic step of a bullet seems very impractical.

So I thought I would post this and see if any amongst the talented of BYOND could figure out a way to simulate a danmaku game in BYOND itself, or at the very least, had a clue how they simplify making those oh-so-pretty bullet patterns.
The bullet patterns aren't that hard to do, mostly they simply travel in a straight line, and making those patterns is nothing more than simple math and timing.
Making a spiral bullet pattern for example involves firing out a bullet at a certain angle, then firing out the next one at a slightly increased angle, and just repeat that x many times. And it would basically be a similar process for each pattern (some might be more complex though).

I doubt BYOND is capable of a game like that (at least not smoothly), especially with it's speed limitations (10 FPS). But with a program like Game Maker making such a game would be really easy, I could do it in a few hours, if that (excluding the pretty graphics).
In response to The Magic Man (#1)
I think the FPS limits can be bypassed by lowering the tick lag now, can't it?
In response to The Magic Man (#1)
As a bit of an update to my response, just posting again because you may have already checked the previous one and wouldn't check an edit, I downloaded Game Maker 7 and managed to emulate danmaku in the simplest sense within an hour of toying with it. It's pretty impressive. (http://i23.photobucket.com/albums/b353/neusscario/ whatdanmaku.png)

However, I am still curious as to how people would emulate it in BYOND, if they could think of any ways. Thanks for the heads up.
In response to Devourer Of Souls (#3)
BYOND wouldn't be able to achieve FPS like this, even with tick_lag. Plus BYONDs support for pixel based movement isn't all that great to begin with.
In response to Devourer Of Souls (#3)
Not really the place to discuss this but, Game Maker 7 can very easily do pretty effects if you know how.

http://www.byond.com/members/TheMagicMan/files/spiral.JPG
A spiral, rather simple. Just create an object and move it in a direction, increase the angle of this direction afterwards. And repeat this.

http://www.byond.com/members/TheMagicMan/files/flower.JPG
A flower like pattern. Made by creating two lots of 5 bullets at 5 points (72 degrees apart). One objects angle increases while the other decreases, once they reach 0/72 degrees the direction is reversed.

http://www.byond.com/members/TheMagicMan/files/snowflake.JPG
A snowflake like pattern made by reducing the angle of the above to 45 degrees.

http://www.byond.com/members/TheMagicMan/files/triple.JPG
Another edit of the flower made by decreasing the angle to 18 degrees.

http://www.byond.com/members/TheMagicMan/files/pinwheel.JPG
By making the above effect rotate it creates a pinwheel like pattern.

http://www.byond.com/members/TheMagicMan/files/rflower.JPG
By making the flower pattern above rotate it creates an elaborate spiral effect.

Like I said. With simple math a lot of these patterns are actually very simple to achieve, and most of the above look fairly different, but are made with very minor edits to the actual coding involved.
Kenta Cho (maker of the very excellent Torus Trooper game) has a system called BulletML which he uses:

http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html