Giest118's Guide to Making Good Bullet Hell Bosses

A place for people with an interest in developing new shmups.
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

K.B. wrote: This ignores both the degree of randomness and its implementation, and it assumes that scoring must come first. At worst, there's a tradeoff between scoring and randomness, and having a little randomness will have a slight, negative impact on scoring (and, yes, having a lot could have a highly negative impact). But even if we (incorrectly) assume that you can't have randomness without a hit to scoring, that could still be by design: the price to pay for requiring adaptability is a little frustration. Take it too far and you end up with a system like PoFV's, where getting a top score will require restarts when certain things don't go your way. But even with that extreme case, competition is still feasible, at least to a few people.

All that is assuming that scoring is necessary for a shmup to be a shmup when, in fact, scoring is simply a highly desirable, additional dimension. But this is tangential and unnecessary for my prior points to stand.
I think you've taken his points on randomness a bit out of context, somewhat. He basically means use seeded randoms and control the parameters in which you allow randomness to occur - which assuming your RNG is reliably deterministic - is 100% reliable. This does of course depend heavily on whether you trust your RNG to do its job properly. (I don't fully trust XNA/C#s between systems - it's produced weird results in practise, hence previous posts. )

"A little randomness" is fine, if it's seeded and based off other variables in the game. Doing this, is not okay:

Code: Select all

void update()
{
   Random foo = new Random();
   angle = foo.Next(0f,360f);
}
That won't even come close to working as expected when using input replays. This will:

Code: Select all

Random foo;
void reset()
{
    foo = new Random(666);
}

void update()
{
    angle = foo.Next(0,360f);
}
That is what he means when he says randomness is bad. The latter example is not randomness - it's deterministic and therefore not truly random. Although probably best we don't get in to a discussion about whether a RNG is truly random..:-)
facebook: Facebook
User avatar
Giest118
Posts: 1042
Joined: Wed May 02, 2012 1:50 am

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Giest118 »

Whoo, my apology was bottom-paged. In case you all missed it, I did rework the section on randomness to be phrased in a more even-handed way.
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

Temia Eszteri wrote:A note as a developer, regarding your random bullet section:

Due to true randomness's easy potential to fuck with developing replay functionality, I would in fact warn against using randomness AT ALL. If you absolutely MUST have random bullets or random ANYTHING that isn't purely cosmetic, you must have total control over its state. I'm talking limiting yourself to specific pseudorandom number generators, set to a specific seed, reset along with all other variables when a new play session is initialised.
Temia Eszteri wrote:Not at all. Pseudo-random number generators aren't actually random at all (or at least shouldn't be, unless you're using a wrapper that relies on hardware randomisation where available and falls back to the PRNG, which you don't want either) - they're algorithmic, based on a seed (either manually defined or automatically set to something like the system time). In this case you'd be not only setting the seed to a specific value but also controlling its state, so it'd have the same "random" numbers in each playthrough.
I actually missed these two posts.

Using seeded randoms in C#/XNA - I've noticed very wildly different results when trying to get input replays to work between the PC and the xbox. Hence my rather vague post on the matter.

I don't however, get any issues with seeded RNGs when replaying the same replay a large number of times on the same piece of hardware, using the same methods (on another title).

Thus I am lead to believe that XNAs RNG is "slightly bollocks" - until I work out what's going on there (and it could very well be my own stupidity and there's something I've not seeded or reset appropriately) - I am going to remain cautious about using that particular RNG.

Worded better, I hope. :)
facebook: Facebook
User avatar
DrInfy
Posts: 117
Joined: Mon Jan 02, 2012 12:36 pm
Location: Finland

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by DrInfy »

n0rtygames wrote: Using seeded randoms in C#/XNA - I've noticed very wildly different results when trying to get input replays to work between the PC and the xbox. Hence my rather vague post on the matter.

I don't however, get any issues with seeded RNGs when replaying the same replay a large number of times on the same piece of hardware, using the same methods (on another title).

Thus I am lead to believe that XNAs RNG is "slightly bollocks" - until I work out what's going on there (and it could very well be my own stupidity and there's something I've not seeded or reset appropriately) - I am going to remain cautious about using that particular RNG.

Worded better, I hope. :)
You're probably doing something really dumb I'd guess. I personally had a static int that identified two identical minibosses as being different entities with different timings. Obviously watching the replay after playing broke everything as the static number had changed. Took me a while to figure out what the hell was going on. I was being lazy when I made those static numbers and it really cost me a ton of time that could've been used a lot better.
Saviors, a modern vertical shoot 'em up.
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

Naut wrote:You and I disagree on a very fundamental level.
While I'm sure you're a far better STG player than I will ever be - exceeding what I am capable of on every possible level - you have a serious misunderstanding of what I'm talking about here. So let me break this down and hopefully clear that up...
Of all the various skills needed for most shmups: reflexes, reading, pattern recognition, precision and memorization... Only one of them is non-transferable.
Memorization. The biggest thing in practically any shooting game produced by Cave - whether you realise it or not.
* Dodonpachi, with its stage long chaining that requires you to memorise the entire stage
* Guwange, with its game long chaining
* Ketsui, with its chaining
* Mushihimesama Futari Original with its requirement to memorise enemy locations
* Mushihimesama Futari Maniac/God more chaining
* Mushihimesama Futari Ultra Memorisation of what the fuck happens everywhere
* Muchi Muchi Pork Remembering what enemies are coming for appropriate lard shot usage
..to name a few.

As was mentioned in the STGWeekly Futari episode - you can't just reaction dodge in some of the games. It's all about memorisation and setting up patterns for cancels.

People use "memorizer" in a derogatory way sometimes, but it's really at the core of any shmup. Your ability TO memorise things can be transferred -- but your memory of the game needs to be built up over time. Memorisation is the key to scoring - why do you think players are able to explain what they do in certain segments? Why they retain hypers for a later section, or bomb in advance to control rank?

So the one skill that is non-transferrable, just happens to be the biggest and most crucial aspect of scoring based play aswell as seriously aiding survival. Yet our opinions differ on a fundamental level? I don't think they do - I probably just didn't explain myself clearly enough.

This is not a discussion about ones prowess at video games - it's a discussion about designing games. New game, new rules, new things to learn. Otherwise you might aswell just play the same game over and over again.
n0rtygames wrote:Getting a high score is fun. Milking is an unfortunately necessary practice in many otherwise very fun games to get a high score. People don't play Battle Garegga for the milking.

"Guess what, on stage 5, there's this enemy that if you time it right, you can milk for two and a half minutes doing the exact same 4 second pattern over and over again!!!!"

"Oh fuck YES!!!"

No.
Being a good game developer means trying to make things as fun as possible for absolutely everybody. When I say everybody - I don't mean grab the FPS player from next door and give him something to enjoy. I mean shmup players. Amongst shmup players there are people who enjoy milking.

Let's say there's actually a 2 minute timer on a boss before something happens that will basically lead to the stage ending. If during this time, a player is able to milk a situation and perhaps get themselves in the region of 40-50 million -- how is this an issue to a superior player when the top scores are measured in billions and in order to even get *one* billion from milking - the player would have to invest 200 minutes in a single game session on these boss fights alone to even come close to approaching *one* billion points.

Since there's a 2 minute boss timer in this example, the maximum we can get is over 5 bosses is: 50m x 5 = 250,000,000. This is a fraction of what you're able to get from just memorising this theoretical game and playing it really well. If the game is brutal enough, with a decent steady difficulty curve (lol) lesser skilled players wont even survive a boss let alone milk it.

So you don't like milking? Don't milk. It's not going to hurt your score that massively - but when you reach that zen like point where every pattern is memorised, every chain fulfilled and every possible bullet grazed to the maximum level - guess what's left to take your score further? Yeah, basically doing the same for longer.

Adding milking opportunities allows a developer to cater for people who enjoy milking, but also allow themselves time to address scoring balance or introduce new mechanics in an updated version while those still playing the game to death can continue to increase their score and potentially add 20 minutes on to their play time, effectively getting more for their money. Since a game developer is writing something with finite parameters, they can't just create every possibly mechanic that could ever be thought up in a single game.

Whether or not you agree with this or not is not actually important in the context of actually making a game - since at some point there will always be a theoretical maximum that the player is able to achieve even with milking in place - when a player puts in a credit, they are buying game time. The more game time that player gets, the more value they're getting out of their purchase or credit.

Do you know how hard it is, or rather - how much effort it takes to create (from scratch) even 10 minutes of gameplay for a single coder?
Last edited by n0rtygames on Sat Mar 09, 2013 2:36 pm, edited 1 time in total.
facebook: Facebook
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

DrInfy wrote:You're probably doing something really dumb I'd guess.
I'd bet £50 that you're right about this..:)
facebook: Facebook
User avatar
DrInfy
Posts: 117
Joined: Mon Jan 02, 2012 12:36 pm
Location: Finland

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by DrInfy »

I'll have to say that this is a great thread and thank you for making it.
I actually changed a couple really stupid patterns I had in Saviors after reading this.

I personally thought that everybody hates milking (and kinda still do) and being the stupid perfectionist that I am, I couldn't just ignore some free points on my way, even if it contributed 0,01% of the total score and I know I'll get killed before stage 4 :D. Thus I try to avoid any game that has anything to do with milking bosses.

One thing I'd like to point out is that I personally really like the spell card bonus in touhou games combined with the small boss hitbox. It drives aggressive gameplay rewarding you based on how aggressively you can shoot at the boss. It's a real shame that it's mostly useless as you're just supposed to bomb those nice patterns and maximize your graze count for optimal score.
Saviors, a modern vertical shoot 'em up.
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

DrInfy wrote:I personally thought that everybody hates milking (and kinda still do) and being the stupid perfectionist that I am
In the words of my old Kendo instructor - "Those that can: do. Those that can't: talk"

edit: I just realised I didn't finish this sentence. What I meant was, there's a lot of people who basically talk about things on here in a negative fashion, mostly because they find them difficult to do correctly or even get themselves in the situation where it's a possibility. Not directed at anyone in particular, but it's a bit true..:)

Again, harking back to the Futari STGWeekly episode - Gus cycles the stage 2 bosses patterns and quite openly says "Because I'm milking it". This is fairly minor compared to say, Pink Sweets - where milking is HUGE - but it's really an example of what I mean about allowing some milking strategies.

Let's not get the two confused. Sitting in a corner with your shield up deflecting bullets until the boss times out while you stare around the edges of the screen in boredom is not what I'm getting at. But adding an element of risk by forcing the player to dodge through a pattern at full speed without damaging a boss so they can cycle the pattern with the highest bullet count for a nice big cancel while they simultaneously kill the boss and end the stage is a form of milking that is rewarding and adds an element of resource management/strategy to your game.
facebook: Facebook
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by trap15 »

n0rtygames wrote:Sitting in a corner with your shield up deflecting bullets until the boss times out while you stare around the edges of the screen in boredom is not what I'm getting at.
Hey, Pink Sweets Arrange score attack owns :lol:
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
Erppo
Posts: 1146
Joined: Sun Jan 09, 2011 8:33 pm
Location: Finland

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Erppo »

n0rtygames wrote: Memorization. The biggest thing in practically any shooting game produced by Cave - whether you realise it or not.

...

So the one skill that is non-transferrable, just happens to be the biggest and most crucial aspect of scoring based play aswell as seriously aiding survival. Yet our opinions differ on a fundamental level? I don't think they do - I probably just didn't explain myself clearly enough.
I doubt anyone who has tried playing a game for score disagrees that memorization is essential. The thing is that memorizing a game is easy. The hard part is being able to consistently execute all those things you memorized and that requires all the other skills listed.

Other thing to note is that a good player is likely going to need less memorization than a less experienced one. When the latter has to take his time to precisely learn how to survive an attack, the first one might just be able to do it on reaction without any trouble.
Image
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

Erppo wrote:I doubt anyone who has tried playing a game for score disagrees that memorization is essential. The thing is that memorizing a game is easy. The hard part is being able to consistently execute all those things you memorized and that requires all the other skills listed.

Other thing to note is that a good player is likely going to need less memorization than a less experienced one. When the latter has to take his time to precisely learn how to survive an attack, the first one might just be able to do it on reaction without any trouble.
Well, I can't disagree with that and yeah - I take your point. Being able to dodge on reaction "like a pro" will probably walk you through the easier modes of the game you're playing. I don't doubt these skills are important, but they can only take you so far before memorisation has to come in to play - right?
facebook: Facebook
User avatar
Temia Eszteri
Posts: 43
Joined: Mon Dec 24, 2012 10:45 pm
Location: Rainy Seattle
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Temia Eszteri »

DrInfy wrote:
n0rtygames wrote: Using seeded randoms in C#/XNA - I've noticed very wildly different results when trying to get input replays to work between the PC and the xbox. Hence my rather vague post on the matter.

I don't however, get any issues with seeded RNGs when replaying the same replay a large number of times on the same piece of hardware, using the same methods (on another title).

Thus I am lead to believe that XNAs RNG is "slightly bollocks" - until I work out what's going on there (and it could very well be my own stupidity and there's something I've not seeded or reset appropriately) - I am going to remain cautious about using that particular RNG.

Worded better, I hope. :)
You're probably doing something really dumb I'd guess. I personally had a static int that identified two identical minibosses as being different entities with different timings. Obviously watching the replay after playing broke everything as the static number had changed. Took me a while to figure out what the hell was going on. I was being lazy when I made those static numbers and it really cost me a ton of time that could've been used a lot better.
It could easily be possible that the APIs wrap two different PRNGs on each platform. This does, however, fall back onto my statement about total control - you're probably better off finding a specific library for, say, Mersenne-Twister in C# than rely on XNA's implementation. Hell, maybe you'd be best off implementing the algorithm in your own code if no satisfactory granularity exists.

However, I haven't played with XNA or C# in general, so that's something best left for someone else to look into. I still wouldn't call it dumb though, just reasonably presumptuous.
User avatar
Giest118
Posts: 1042
Joined: Wed May 02, 2012 1:50 am

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Giest118 »

I updated the section on randomness to include useful alternatives to the random function, and an example.
User avatar
emphatic
Posts: 7984
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by emphatic »

In my mind, someone should be able to no-miss, no-bomb any boss. Not everyone, but "those who care to". That's quite an important rule to implement when designing a boss. This rule of course doesn't apply to true last bosses (DOOM, Hibachi etc).
Image | My games - http://www.emphatic.se
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
User avatar
Giest118
Posts: 1042
Joined: Wed May 02, 2012 1:50 am

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Giest118 »

emphatic wrote:This rule of course doesn't apply to true last bosses (DOOM, Hibachi etc).
I don't really understand this misconception. Do you have any idea what you would need to do to make a boss literally impossible to beat perfectly? Here's a hint: You would need to actually make the entire screen a deathzone at some point in the fight. And you would need to make sure this deathzone is immune to hyper cancelling.

What TLBs should be is "harder than the rest of the game", but they should not be unfair.
User avatar
trap15
Posts: 7835
Joined: Mon Aug 31, 2009 4:13 am
Location: 東京都杉並区
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by trap15 »

Giest118 wrote:
emphatic wrote:This rule of course doesn't apply to true last bosses (DOOM, Hibachi etc).
I don't really understand this misconception. Do you have any idea what you would need to do to make a boss literally impossible to beat perfectly? Here's a hint: You would need to actually make the entire screen a deathzone at some point in the fight. And you would need to make sure this deathzone is immune to hyper cancelling.

What TLBs should be is "harder than the rest of the game", but they should not be unfair.
This ^^^^

I think the idea of a boss that's literally impossible to no-miss no-bomb is silly and bad design. I think standard "rules" should apply through an entire game, even if it's the TLB.
@trap0xf | daifukkat.su/blog | scores | FIRE LANCER
<S.Yagawa> I like the challenge of "doing the impossible" with older hardware, and pushing it as far as it can go.
User avatar
emphatic
Posts: 7984
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by emphatic »

Sorry, I don't know what I was thinking when I wrote that, as I agree that it's stupid. :oops:
Image | My games - http://www.emphatic.se
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
User avatar
Drake
Posts: 144
Joined: Sun Jan 30, 2011 10:21 pm

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Drake »

I'm bound to make a full reply eventually, but I'd like to respond to norty a bit (lol just kidding it's a lot oops) first.

First, there's a rather large argument to be made when you're comparing non-transferable memorization of a game to transferable shmup skills (especially in terms of their importance, but that's another thing). You said "there's a tendency for people to expect skills from one game to carry them through another with the same amount of success. It doesn't work that way", yet the only characteristic of "skill" you mention here is memorization of a game's individual approaches to certain patterns and sections, which I would almost reject as an area of skill altogether; never mind implying that all of the other areas of skill (that I would actually call skills) fall under that umbrella as well (this is what Naut was addressing). I would even disagree that the example you used, the closing circles, is something that wouldn't transfer to other games. The pattern itself can be decomposed into methods of dodging such that once you understand the pattern, you can also identify similar patterns and dodge them similarly. I would say that's a transferable skill. On a more obvious scale, it's the reason the infinity loop and u-turning are such successful tactics across many shmups.

What you identify next as memorization is vague, and covers way too large of an area but you equate it all to the same thing, and that's probably my biggest issue with how you're talking about memorization, and it's almost worrisome for a dev to be thinking in those terms. Memorization in a shmup has an incredibly huge range. Mentioning Futari Ultra's dependence on knowing where to go and what to cancel more than arbitrary dodging, is very different from remembering which enemies to use lard shot on and for how long, and both of these are very different from a Psikyo game's necessity to memorize left-left-right-left taps or you die. Very different than remembering which pattern comes next in a boss fight, which is still different from knowing a specific spot where you want to put yourself at the beginning of the pattern. You say it's the biggest thing in any Cave game, and yes it's at the end of basically any proper scoring system, but it's all done to completely differing degrees and done in different ways. To say it's at the core of every shmup is missing the point; it's how they're all done that should be explored. Saying "it's important in all these games" seems to say that it's important because it's in those games rather than examining the reasons why they may be enjoyable or not.

I also disagree that being a good game developer is necessarily about trying to make things as fun as possible for absolutely everybody. While as an end result, you may want to be able to please everyone, that is extremely unreasonable. You may say "well, not the people interested in x genre, only the ones who like y genre", but it follows that you won't be able to please everyone within y genre for the same reason that you just excluded x genre. Saying there are people who enjoy milking and thus you should include it, is simply catering to an audience by attaching an unnecessary piece of gameplay to your game in hopes of getting them excited. If you put too much focus on adding things for the sake of pleasing one group, you end up introducing needless complexity that is prone to bugs and balancing issues, and end up not focusing on the core mechanics that you were supposed to be working on. To an end you want a game that pleases a large amount of people, but not by sacrificing other things. Your example fails because it's introducing a mechanic insignificant until the very top level of optimization, in which case you're forced to do whatever extra mechanic you threw in. The people who don't like milking are forced to do it, and the people who like milking are not given an appropriate hand in scoring. "Since a game developer is writing something with finite parameters, they can't just create every possibly mechanic that could ever be thought up in a single game." points back to your own problem almost exactly.

And seriously, I do not see why anyone would ever enjoy milking. At its essence it's just extending the game doing the same thing over and over, simply because it's a requirement for a top score rather than because it's enjoyable. I cannot see why someone would enjoy this more than having several new situations to take advantage of, for the same result, instead. By definition it's lack of variety. Your example of Mushi S2 Ultra boss milking demonstrates that what Gus is doing is more than the core of milking, it's having to dodge several extra patterns, creating variety and actual content. However, what if you had to play through some different patterns before the boss dies, rather than forcing the player to repeat patterns for score? Would that not be better?

Lastly, more game time = more value for your money is just no. No, no, no. In one credit, the player buys the overall experience of playing the game for whatever length they can stay alive for. Extra time may be enjoyable since generally the game keeps going, but if the experience during that time is negative then you've still failed no matter how long the game is.
Image
mystran
Posts: 77
Joined: Tue Mar 12, 2013 11:59 pm
Location: Helsinki, FI

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by mystran »

I'm kinda beginner when it comes to shmup-dev, so I'm still trying to learn how exactly to realize this stuff, but from trial and error and analysis of the most memorable (and quite different) patterns that I've personally come to the conclusion that the key seems to be contrast: forced movement through movement restricting patterns or finite windows of opportunity. Fast and slow components, vertical and horizontal, local density with global patterns to keep track of, complicated "fixed" patterns with some aimed bullets to manage... and so on. So while you suggest making boss patterns very different, I'd argue that combining very different (and specifically contradictory) elements in the same pattern seems to make things a lot more interesting, and the most memorable patterns have several such contradictions at the same time.

So there you have my 2 eurocents.. or maybe a bit less.
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

Sorry Drake, I didn't even see this post until now! Haven't been ignoring it
First, there's a rather large argument to be made when you're comparing non-transferable memorization of a game to transferable shmup skills (especially in terms of their importance, but that's another thing). You said "there's a tendency for people to expect skills from one game to carry them through another with the same amount of success. It doesn't work that way", yet the only characteristic of "skill" you mention here is memorization of a game's individual approaches to certain patterns and sections, which I would almost reject as an area of skill altogether; never mind implying that all of the other areas of skill (that I would actually call skills) fall under that umbrella as well (this is what Naut was addressing). I would even disagree that the example you used, the closing circles, is something that wouldn't transfer to other games. The pattern itself can be decomposed into methods of dodging such that once you understand the pattern, you can also identify similar patterns and dodge them similarly. I would say that's a transferable skill. On a more obvious scale, it's the reason the infinity loop and u-turning are such successful tactics across many shmups.
I get what you're saying - given that essentially the game boils down to the same thing. "2d shooter, avoid bullets - shoot things" - yes of course there's going to be skills that carry across.
What you identify next as memorization is vague, and covers way too large of an area but you equate it all to the same thing, and that's probably my biggest issue with how you're talking about memorization, and it's almost worrisome for a dev to be thinking in those terms. Memorization in a shmup has an incredibly huge range. Mentioning Futari Ultra's dependence on knowing where to go and what to cancel more than arbitrary dodging, is very different from remembering which enemies to use lard shot on and for how long, and both of these are very different from a Psikyo game's necessity to memorize left-left-right-left taps or you die. Very different than remembering which pattern comes next in a boss fight
Read this paragraph back to yourself. Several times if needs be. You've just identified three games where the same skills are not immediately transferrable - because they do not exist across games. I'm not really meaning to say anything different to this.. I don't know why you think it's particularly worrisome. I'm acutely aware of just how differently these games play.. hence the bold statement of 'non transferrable skills' in the first place.
You say it's the biggest thing in any Cave game, and yes it's at the end of basically any proper scoring system, but it's all done to completely differing degrees and done in different ways. To say it's at the core of every shmup is missing the point; it's how they're all done that should be explored. Saying "it's important in all these games" seems to say that it's important because it's in those games rather than examining the reasons why they may be enjoyable or not.
Well indeed, they're all executed differently. I don't really understand what you mean when you're saying it's important because it's in those games though... can you elaborate on that a little?
I also disagree that being a good game developer is necessarily about trying to make things as fun as possible for absolutely everybody. While as an end result, you may want to be able to please everyone, that is extremely unreasonable. You may say "well, not the people interested in x genre, only the ones who like y genre", but it follows that you won't be able to please everyone within y genre for the same reason that you just excluded x genre.
I dont understand the disagreement with this. People who are likely to nitpick about a games mechanics are in a vocal minority. Casual players will always make up the bulk of your audience. To try and argue my point (and also to illustrate that I make mistakes and am aware of them!) I'll use one of my own mistakes as an example of how I tried to do this and actually fucked up.

CB has an autobomb mode. I had loads of people going "NAH! Dont put Autobomb in!" - despite there being an option to not play with autobomb on. Practically everybody then played on Autobomb, because it was an easier and somewhat cheaper clear than attempting to play the game properly due to what some felt was an overwhelming difficulty. I also opted to restock bombs between levels to try and ease the pain players would experience. My entire system is geared towards greatly rewarding a player who NMNBs the entire game through obsessive practise.

Unfortunately, in reality - all the companies who make retail shooters are all striving to get players coming back. As a design decision, adding in an autobomb mode is easier than having to craft an easier difficulty setting with less bullets. I've even had feedback from extremely casual players who don't even play shmups regularly stating that the autobomb feature was the best thing for them - because they didn't feel they were being punished for getting hit by something they might perceive as an unfair and dense bullet pattern. These guys aren't playing for score though... but there's a hell of a lot of these guys who just want to credit feed their way to victory. I'm not going to exclude those people.

Truth is, no matter how well you explain the mechanics - someone will always fail to understand your game and consequently suck at it. To be a good game developer, you need to make a game that people can come back to - play and enjoy - while still offering some level of depth for hardcore enthusiasts.

This is of course just one example and autobomb probably isn't the best one. My point is that there will always be two schools of thought on whatever you do. Do I fully bow to the vocal minority and make the game bullshit hard and cut my sales by 90% - or do I release a game that more than 10 people want to play? I'm still getting daily sales on Chronoblast, people still think it's good enough to buy and I'm not exactly advertising the shit out of it. So, people like my game.

Trying to refine it in to something that caters for the mindset of the shmups forum while still catering for a wider audience by providing hand holding features is something I want to do as a personal goal. I could quite easily create an experience that caters purely for the masses with pretty graphics, but that's not something I want to do. Finding a balance is incredibly difficult... there's a point where you just have to shrug off the nay sayers and focus on your larger audience. Sad, but true.
Saying there are people who enjoy milking and thus you should include it, is simply catering to an audience by attaching an unnecessary piece of gameplay to your game in hopes of getting them excited. If you put too much focus on adding things for the sake of pleasing one group, you end up introducing needless complexity that is prone to bugs and balancing issues, and end up not focusing on the core mechanics that you were supposed to be working on. To an end you want a game that pleases a large amount of people, but not by sacrificing other things. Your example fails because it's introducing a mechanic insignificant until the very top level of optimization, in which case you're forced to do whatever extra mechanic you threw in. The people who don't like milking are forced to do it, and the people who like milking are not given an appropriate hand in scoring. "Since a game developer is writing something with finite parameters, they can't just create every possibly mechanic that could ever be thought up in a single game." points back to your own problem almost exactly.
I'm not sure what the exact problem I have that you're referring to is - I'd be interested in hearing that. There's a situation in my game where milking is actually broken - due to a dodgy algorithm that I've now patched and that's not the kind of gameplay I want. Sometimes, when you're staring at tens of thousands of lines of code - these things happen. There are situations in my game that present milking opportunities. They're weren't originally in there by design, this thing happened where I was playing my own game for score and went "wait, I can get more points out of this situation if I'm less aggressive during this pattern and I activate a hyper during the next cycle" -- because the screen ends up with a lot of bullets. What I'm specifically referring to is my stage 1 boss on normal mode in its second form. If can get a second hyper during the boss fight - you can cycle through its blue needle bullets right back in to the full screen red bullets attack and activate your hyper there. Kill the boss while the hyper is active and you get rewarded with a second large bullet cancel. There's an element of risk/reward here because you're encouraged to tap dodge a fairly quick and fast bullet pattern while recharging your hyper so you can get the cancel in. It takes a small amount of skill to do it.

The stuff Emuser discovered is a product of a bug which is actually not directly related to my choice to allow the player to milk. The changes I've now made mean that you don't get any free hyper - you have to be actively damaging the boss, however you are still expected to control your aggression and not flat out kill the boss if you intend to cycle the patterns for a second bonus. Due to the limitations I've now imposed, cycling this a third time is going to be quite a feat - I don't think it's possible but it's certainly under stricter control than before to avoid endless milking.

If you watch the STGWeekly Gus episode - when he's cycling that particular pattern and is asked "Why are you doing it?", he responds with "Because I'm milking it". He does it once and then goes on to counterstop the game. I suspect you've interpreted me being an advocate of milking to mean that I fully endorse and encourage people to create Yagawa-esque moments in games. I don't.

It's impossible for me to actually do anything about this form of milking, unless I do the same as DOJ - where I do not allow the player to obtain hypers during a boss fight unless specific conditions are met. Not something I actually want to do!
Your example of Mushi S2 Ultra boss milking demonstrates that what Gus is doing is more than the core of milking, it's having to dodge several extra patterns, creating variety and actual content. However, what if you had to play through some different patterns before the boss dies, rather than forcing the player to repeat patterns for score? Would that not be better?
Again, you can't write an infinite scenario. What Gus is doing on the ST2 boss is precisely the same thing I've desribed above with my stage 1 boss. The player has to survive through some patterns to get the cancel in. It's not about just doing the same thing over and over again. However, what you've said does lead me to think that there's a LOT of value in perhaps making the patterns increase in intensity and difficulty with each repetition eventually reaching the point where the player is pretty much going to die or bomb unless they're extremely good. This places more emphasis on any sort of milking being tied to memorisation of how the boss behaves, how he fires and when he simply becomes too difficult to deal with - bringing the games focus back to a risk/reward style of gameplay where you're agitating the boss to the point where it just really wants to kill you and your reward is that fat bullet cancel as the boss finally dies. All earned because you put in the time to engineer that situation.

Is that what you mean? If it is, we're basically on the same page but I've probably worded it badly somewhere.

Thanks for the reply Drake. More food for thought :0)
facebook: Facebook
User avatar
Pteriforever
Posts: 250
Joined: Mon Dec 17, 2012 10:53 pm

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Pteriforever »

n0rtygames wrote:Bumping this, having actually just found it an incredibly useful resource going back and playing the unpatched version of my game.

Holy shitballs, I made that bastard hard. I mean - really hard. To the point where taking a few days away to work on the patch made me forget shitloads about how to actually play. Very frustrating.

You should add a section about player frustration. For instance, let's say you make your stage 5 boss JUST ABOUT completable without bombing.. but you assume that most people will clear it by using about 2 bombs. Does your scoring system punish for bomb use? What if they get hit? What's the penalty? How many misses are you factoring in for the average player?

All these are things I should have been more aware of for my initial release - but due to lack of play testing - became blind to. I think this really makes up an important factor of a boss fight. Pacing really comes in to this:

Form1:
-- pattern 1 : Easy
-- pattern 2 : A little naughty
-- pattern 3: SUFFER

Form 2:
-- SUFFER, SUFFER, THEN SUFFER AGAIN

Most players are gonna basically hit a wall on pattern 3, or form 2 in that scenario and it's going to piss them off as they'll get this feeling of being able to actually take down the boss and then BAM - out comes the killer pattern that they just can't deal with. Because they're being trained in to lazyness (relatively speaking) by the previous patterns, they have no prompt that shit is about to get serious. Mixing in a few fast paced bullet whips and so on amongst your easier patterns might help the player to keep up the pace and never really allow them a chance to snooze. I know this is your cardinal rule, in a manner of speaking - but I think pacing within boss forms is an entire section worth elaborating on.
Since I'm also a developer, I might as well contribute.

In my latest game, I tend to put the easier patterns somewhere in the middle, usually starting with a simple-but-still-challenging attack that uses lots of fast bullets to set the tone for the entire fight. The patterns at the end I like to make fairly complicated and relatively innovative with a noticeably longer duration, as final attacks tend to automatically be the most memorable parts of the fight.

One way to avoid the issue of intra-form pacing is to time the attacks so on average, you'll reach the next form shortly after the patterns begin to loop anyway, making the borders between forms mean nothing. A second possibility is to only have one attack per form, although it better be a highly complex, possibly progressing attack or else you'll end up with a violation of the first guideline. The only real advice I have to give if neither of these apply is to alternate between a fast and a slow attack to make it even less likely that patterns will become stale.

Progressing attacks are another thing the guide didn't touch on. I used lots of them in Abmneshi, but I've decided they're not really appropriate for Starhall. Basically, they're attacks which change slowly as they continue, possibly as a time limit or just to add tension as the player approaches the end of the boss. A good example would be in TW3, with Apollyon's Eye's final attack, which gradually gets faster and faster. My advice for using these is to make sure there's an upper limit to how much the attack can change; some attacks in Abmneshi become completely impossible if you don't hurry, which isn't really ideal. Even worse, if any of these attacks have a safespot, end-of-form bullet cancel bonuses might be theoretically limitless depending on your scoring system. Also, put them in a form of their own, or at the end of a form. Something with greatly variyng difficulty doesn't work well as part of a rotation with other attacks.
Starhall || Abmneshi || Starhall 2
RegalSin wrote:The art in my opinion is quesitonable, because it looks like it relies on computer art
User avatar
Suslik
Posts: 45
Joined: Sat Jun 05, 2010 6:52 pm

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by Suslik »

Practice makes the master.
Pteriforever wrote: In my latest game, I tend to put the easier patterns somewhere in the middle, usually starting with a simple-but-still-challenging attack that uses lots of fast bullets to set the tone for the entire fight. The patterns at the end I like to make fairly complicated and relatively innovative with a noticeably longer duration, as final attacks tend to automatically be the most memorable parts of the fight.
Oddly i have done the same thing with first patterns for my last 4 games. The same also applies for final patterns, but almost everybody does that.*plays your game*
User avatar
n0rtygames
Posts: 1001
Joined: Thu Mar 15, 2012 11:46 pm
Contact:

Re: Giest118's Guide to Making Good Bullet Hell Bosses

Post by n0rtygames »

Since it's been like a year since this post, kinda interesting to bump it since I just bumped in to Drake on stream chat and this came up..
Drake wrote:I'm bound to make a full reply eventually, but I'd like to respond to norty a bit (lol just kidding it's a lot oops) first.

First, there's a rather large argument to be made when you're comparing non-transferable memorization of a game to transferable shmup skills (especially in terms of their importance, but that's another thing). You said "there's a tendency for people to expect skills from one game to carry them through another with the same amount of success. It doesn't work that way", yet the only characteristic of "skill" you mention here is memorization of a game's individual approaches to certain patterns and sections, which I would almost reject as an area of skill altogether; never mind implying that all of the other areas of skill (that I would actually call skills) fall under that umbrella as well (this is what Naut was addressing). I would even disagree that the example you used, the closing circles, is something that wouldn't transfer to other games. The pattern itself can be decomposed into methods of dodging such that once you understand the pattern, you can also identify similar patterns and dodge them similarly. I would say that's a transferable skill. On a more obvious scale, it's the reason the infinity loop and u-turning are such successful tactics across many shmups.
It's actually kinda interesting to go back and look at this now, since I've had a year to fuck around with various shooters and get more experience (as a player) under my belt. I mean what you say here is actually right - if a pattern has a genuine and repeatable solution then it's a case of being able to break the pattern down in to individual components and actually tackle them accordingly. Sometimes multiple techniques need to be employed to deal with something. So I guess what I was using back then as a catch-all term (memo) could and *should* be broken down further.

Remembering shit, whether on the level of muscle memory or just having an intimate knowledge of attack sequences or stage layouts is pretty different to recognising certain /types/ of attacks outside of "okay this boss is gonna do the blue attack now" and then responding to that threat by letting your behaviour affect bullet trajectories etc. When you start throwing scoring in to the mix with various mechanics - say you wanna graze bullets for points, or use some kinda technique to build meter, the way in which you have to approach these can change significantly due to having to control a specific space on the screen.

That said, I think I can better explain my 'memorization is everything' mindset now that I actually get what I bloody meant a bit better. In any game that is deterministic in nature - there is (speaking pure logic) gonna be one true route through the game for optimal score. Since the challenge is reaching that point - it seems kinda silly to suggest that it's "just memo" because that's the point at which you've actually mastered the game and it becomes repetition of good practise.
What you identify next as memorization is vague, and covers way too large of an area but you equate it all to the same thing, and that's probably my biggest issue with how you're talking about memorization, and it's almost worrisome for a dev to be thinking in those terms. Memorization in a shmup has an incredibly huge range. Mentioning Futari Ultra's dependence on
Not even just Ultra - Original BL as I've been discovering recently requires a lot of careful positioning to be shaving the maximum number of gems off enemies as they come on screen so you can get that fever mode coming sooner. Ultimately though, it does boil down to "doing the most optimal thing" - but like I said above, that's the shit you're trying to figure out. If these are viewed as action puzzles, then yes - it was pretty fucking stupid of me to talk in those terms about what is essentially the entire point of the game - breaking down and solving the puzzle efficiently.
To say it's at the core of every shmup is missing the point; it's how they're all done that should be explored. Saying "it's important in all these games" seems to say that it's important because it's in those games rather than examining the reasons why they may be enjoyable or not.
^ Agreed. Not sure why I didn't agree sooner. Have a different mindset towards the games these days.
I also disagree that being a good game developer is necessarily about trying to make things as fun as possible for absolutely everybody. While as an end result, you may want to be able to please everyone, that is extremely unreasonable.
I think there are ways in which you can make the game fun for everyone - but it's about knowing what people actually find to be fun. If a game can be cleared with bombs, then you're more likely to scratch the itch of a player who just wants the 1cc. If it's aesthetically pleasing and just feels good to shoot stuff - then you're already adding a bucketload to the fun factor for a lot of players lower down the skill ladder. I forget which Japanese developer said it - but it's best summed up with "the core of a good shooting game is satisfying explosions" and on that point he was completely right. There exists (even on these boards) a lot of players who play these games for that reason and do not give two hoots about trying to get a top 20 spot on a leaderboard. So I think it is possible to cater for these types of players without actually having a detrimental effect on more skilled players.
And seriously, I do not see why anyone would ever enjoy milking. At its essence it's just extending the game doing the same thing over and over, simply because it's a requirement for a top score rather than because it's enjoyable. I cannot see why someone would enjoy this more than having several new situations to take advantage of, for the same result, instead. By definition it's lack of variety. Your example of Mushi S2 Ultra boss milking demonstrates that what Gus is doing is more than the core of milking, it's having to dodge several extra patterns, creating variety and actual content. However, what if you had to play through some different patterns before the boss dies, rather than forcing the player to repeat patterns for score? Would that not be better?
Yeah. I can agree with this. I think milking has its place though. If a pattern is going to become more difficult with each pass to the point of eventually reaching a level where it's bordering on unfair (say maybe I dunno... 3-4 reps for arguments sake) then you have an interesting situation here. It's essentially risk vs reward at that point. The player controls the boss battle and at any point can take the action to end it by applying more damage to the boss. By prolonging the fight he's extending his scoring possibilities but at the risk of taking a hit - which with the futari scoring system can be quite costly. Let's not forget the nerves that come in to play during a live run actually adding to the expeirence
Lastly, more game time = more value for your money is just no. No, no, no. In one credit, the player buys the overall experience of playing the game for whatever length they can stay alive for. Extra time may be enjoyable since generally the game keeps going, but if the experience during that time is negative then you've still failed no matter how long the game is.
DDP Stage 6 and the length of DFK 1-5 would like to agree with you at this point. I'm pretty much in agreement here. Quality and density should take priority over quantity. But you gotta be careful not to go too far the other way and have situations so gameplay intensive that it becomes frustrating to have to combine so many different techniques with precision. Even good players need breathing space if just for a few moments.

Like I said, interesting shit :)
facebook: Facebook
Post Reply