I recently release a v1 of some bullet pattern scripts for Game Maker, I call it Pinwheel. It was inspired by BulletML but it's not as fancy or capable, but it is GM-native so it should be easy to plug in and use. Like BulletML, you define patterns with an XML file and then the game parses those files and creates objects that generate the patterns.
Downloads and docs are here:
http://gmc.yoyogames.com/index.php?showtopic=496815
The scripts basically make timelines on the fly based on the XML data. And instead of the actual player/enemy object generating the bullets, there is a single invisible object that generates each bullet pattern, so you can stack different patterns together to get neat effects.
This is a work in progress but it should be stable for use. I'm using it for my shmup dev in GM and it's held up pretty well. Please give it a look, a try and let me know what you think. I plan on improving Pinwheel as I use it and as I get feedback from other GM shmup devs.
Pinwheel Bullet Sequencer for Game Maker
-
morningtoast
- Posts: 5
- Joined: Tue Jan 25, 2011 5:51 pm
- Location: Ohio
- Contact:
Pinwheel Bullet Sequencer for Game Maker
Playing games, making games...in that order.
http://www.morningtoast.com
http://www.morningtoast.com
-
BPzeBanshee
- Posts: 4859
- Joined: Sun Feb 08, 2009 3:59 am
Re: Pinwheel Bullet Sequencer for Game Maker
This sounds quite interesting actually, I'll check it out when I get the time.
In the meantime, have you seen GMOSSE? Also done in Game Maker, though nothing as fancy as external XMLs for Time Lines. There's scripts already implemented in it done by various people for various purposes and has attacks inspired by some Cave games as well.
In the meantime, have you seen GMOSSE? Also done in Game Maker, though nothing as fancy as external XMLs for Time Lines. There's scripts already implemented in it done by various people for various purposes and has attacks inspired by some Cave games as well.
Re: Pinwheel Bullet Sequencer for Game Maker
I love this and GMOSSE. Gonna make my bullet hell boss so much easier. Hats off to our GM shmup heroes.
IGMO - Poorly emulated, never beaten.
Hi-score thread: http://shmups.system11.org/viewtopic.php?f=2&t=34327
Hi-score thread: http://shmups.system11.org/viewtopic.php?f=2&t=34327
-
morningtoast
- Posts: 5
- Joined: Tue Jan 25, 2011 5:51 pm
- Location: Ohio
- Contact:
Re: Pinwheel Bullet Sequencer for Game Maker
Thanks for the feedback, let me know if you have any troubles once you get around to trying Pinwheel out. I admit that Pinwheel was intended for specific, repeated patterns rather than some of the bullet chaos but s'all good 
I just discovered GMOSSE recently and downloaded it but haven't really dug into it yet. From other posts I've read it sounds like a great framework to build off of.
I'm working on an idea for a Commando-style shmup mashup and I plan to use Pinwheel and some of the other GM goodies I've found to hopefully make a fast, fun run-n-gunner.

I just discovered GMOSSE recently and downloaded it but haven't really dug into it yet. From other posts I've read it sounds like a great framework to build off of.
I'm working on an idea for a Commando-style shmup mashup and I plan to use Pinwheel and some of the other GM goodies I've found to hopefully make a fast, fun run-n-gunner.
Playing games, making games...in that order.
http://www.morningtoast.com
http://www.morningtoast.com
-
BPzeBanshee
- Posts: 4859
- Joined: Sun Feb 08, 2009 3:59 am
Re: Pinwheel Bullet Sequencer for Game Maker
GMOSSE's main point is to be a viable shmup engine to base a game off of, and is in its very early stages. I still have the matter of level handling, inbuilt scoreboards and selectable ships with associated mechanics to deal with, though as it is it's certainly usable, and as a game quite playable. Needs better documentation though.morningtoast wrote:Thanks for the feedback, let me know if you have any troubles once you get around to trying Pinwheel out. I admit that Pinwheel was intended for specific, repeated patterns rather than some of the bullet chaos but s'all good
I just discovered GMOSSE recently and downloaded it but haven't really dug into it yet. From other posts I've read it sounds like a great framework to build off of.
I'm working on an idea for a Commando-style shmup mashup and I plan to use Pinwheel and some of the other GM goodies I've found to hopefully make a fast, fun run-n-gunner.
A run-n-gunner should be more than possible using GMOSSE as a base but since that isn't my main focus, there's probably quite a few dynamics related to that area specifically that will needed to be coded in by yourself (or with the GM goodies you mentioned).

I apologise if I've missed this already, but maybe a good way to help with the whole documentation process is a proper example? For example in the case of GMOSSE the scripts available to use are used in a few different ways with the boss object. My own script alone is used at least twice to make multiple attack pattern styles from the same script just by passing different variables. Perhaps a wellmade Pinwheel XML file in the style of a popular shmup of sorts would convey what would need to be done to make a pattern of 'x' complexity for a person's needs on the coding level.
-
morningtoast
- Posts: 5
- Joined: Tue Jan 25, 2011 5:51 pm
- Location: Ohio
- Contact:
Re: Pinwheel Bullet Sequencer for Game Maker
I probably could have done more with the examples, that's true. The Pinwheel ZIP file has several XML files in it that should give some good hints as to how it can be used in the game.
I guess Pinwheel is less an out-of-the-box solution and more for those looking to create their own patterns and frankly, just an easier way to build bullet timelines. For myself, I find timelines in GM somewhat difficult to track and keep straight in relation to actual game time.
Thanks for your feedback. I'll try to include some more examples in the next release update. I may post a few example links here too.
I guess Pinwheel is less an out-of-the-box solution and more for those looking to create their own patterns and frankly, just an easier way to build bullet timelines. For myself, I find timelines in GM somewhat difficult to track and keep straight in relation to actual game time.
Thanks for your feedback. I'll try to include some more examples in the next release update. I may post a few example links here too.
Playing games, making games...in that order.
http://www.morningtoast.com
http://www.morningtoast.com
-
BPzeBanshee
- Posts: 4859
- Joined: Sun Feb 08, 2009 3:59 am
Re: Pinwheel Bullet Sequencer for Game Maker
No problemo, I think if it's okay with you I may well consider making a stage in GMOSSE using solely Pinwheel for a demonstration, but I really gotta get some time to work on it for other matters first.
As it is in GMOSSE timelines are not used for patterns, rather variable-based timers in each relevant object's Step event and in some cases User Defined calls. I've decided that was a really bad idea though and will probably be converting everything to timelines just so that one can see what happens when. That way, just as games using Pinwheel can use multiple files for attacks GMOSSE will eventually use multiple timelines for attack patterns.
As it is in GMOSSE timelines are not used for patterns, rather variable-based timers in each relevant object's Step event and in some cases User Defined calls. I've decided that was a really bad idea though and will probably be converting everything to timelines just so that one can see what happens when. That way, just as games using Pinwheel can use multiple files for attacks GMOSSE will eventually use multiple timelines for attack patterns.
-
morningtoast
- Posts: 5
- Joined: Tue Jan 25, 2011 5:51 pm
- Location: Ohio
- Contact:
Re: Pinwheel Bullet Sequencer for Game Maker
Wow, very cool. Thanks for giving Pinwheel a try. I'm interested in seeing how far Pinwheel can be pushed. I'm sure there are some inefficiencies with the timeline approach but I couldn't figure out an easy-to-manage step+function combination. I have to admit that my primary goal for Pinwheel was ease of use, efficiency second.
And actually, you could strip the need for XML out of Pinwheel...at least when it comes to the final compile of the game. In the Pinwheel scripts it builds the string that is used to create each part of the timeline. You could output this and bake it in directly to a timeline you create by hand. So you use the XML to define the timeline during dev then get the code and hardcode that for final use. Hmmm...that sounds like a pretty good idea, actually. I probably should have released Pinwheel as a timeline generator only. Might have to explore that a bit....well, ideas have to start somewhere, huh?
Even after years of using Game Maker, I'm still somewhat unfamiliar with what functions are more inefficient than they're worth. I don't see file reading/parsing as a high cost thing normally, but maybe in GM it's different...not sure. Maybe eliminating the XML parsing isn't a big deal.
BTW, if you find any issues when you get to using Pinwheel and have some thoughts on how to make it better, please share. It could be a powerful BulletML-like tool if it turns out to be efficient enough.
And actually, you could strip the need for XML out of Pinwheel...at least when it comes to the final compile of the game. In the Pinwheel scripts it builds the string that is used to create each part of the timeline. You could output this and bake it in directly to a timeline you create by hand. So you use the XML to define the timeline during dev then get the code and hardcode that for final use. Hmmm...that sounds like a pretty good idea, actually. I probably should have released Pinwheel as a timeline generator only. Might have to explore that a bit....well, ideas have to start somewhere, huh?
Even after years of using Game Maker, I'm still somewhat unfamiliar with what functions are more inefficient than they're worth. I don't see file reading/parsing as a high cost thing normally, but maybe in GM it's different...not sure. Maybe eliminating the XML parsing isn't a big deal.
BTW, if you find any issues when you get to using Pinwheel and have some thoughts on how to make it better, please share. It could be a powerful BulletML-like tool if it turns out to be efficient enough.
Playing games, making games...in that order.
http://www.morningtoast.com
http://www.morningtoast.com
-
BPzeBanshee
- Posts: 4859
- Joined: Sun Feb 08, 2009 3:59 am
Re: Pinwheel Bullet Sequencer for Game Maker
I still haven't actually had a go at Pinwheel though I did look at the documentation (which is real helpful, professional-looking and more useful than what I've got so far
) and I can't really imagine any performance issues regarding reading from XML files. If external DLLs are properly handled by the game there shouldn't be any issues, so the need for XML is purely a matter of choice.
Overall its just a matter of whatever makes things easier. I just coded boss entities in GMOSSE as I went along to see what worked without really planning it out, and now I'm finding that as much as I didn't really like Timelines to begin with it would've been a much better choice. I'm certain there's other ways to do the exact same thing too, Alluro told me that as Xeno Fighters R currently stands Timelines are used nowhere except for special circumstances, so he clearly found a better way of enemy spawn placement for example.
Anyhow, when I get the chance to get back to GM-related programming and get my backlog of things done for GMOSSE I'll definitely check out Pinwheel and probably make a level in GMOSSE using Pinwheel specifically to get a visual look how what this thing can do. Whole reason GMOSSE started because I saw a thread regarding coding bullet patterns, asking how this could be done in GM, and getting many neat replies with stuff that I couldn't really picture in my head without seeing it happen.

Overall its just a matter of whatever makes things easier. I just coded boss entities in GMOSSE as I went along to see what worked without really planning it out, and now I'm finding that as much as I didn't really like Timelines to begin with it would've been a much better choice. I'm certain there's other ways to do the exact same thing too, Alluro told me that as Xeno Fighters R currently stands Timelines are used nowhere except for special circumstances, so he clearly found a better way of enemy spawn placement for example.
Anyhow, when I get the chance to get back to GM-related programming and get my backlog of things done for GMOSSE I'll definitely check out Pinwheel and probably make a level in GMOSSE using Pinwheel specifically to get a visual look how what this thing can do. Whole reason GMOSSE started because I saw a thread regarding coding bullet patterns, asking how this could be done in GM, and getting many neat replies with stuff that I couldn't really picture in my head without seeing it happen.

-
morningtoast
- Posts: 5
- Joined: Tue Jan 25, 2011 5:51 pm
- Location: Ohio
- Contact:
Re: Pinwheel Bullet Sequencer for Game Maker
Thanks for the feedback on the documentation. I did spend a day just cranking out the docs...even just for myself. You know how you get into something and have it memorized and then after a day out forget everything. Since I'm just starting to apply Pinwheel to real-world game cases it's been pretty helpful and I've already found some points to clean-up, both in code and docs.
Playing games, making games...in that order.
http://www.morningtoast.com
http://www.morningtoast.com