Monday, March 16, 2015

Grading Battle High 2 from Mike Z's Perspective

So the video above is of a talk Mike Zaimont, who leads various roles for the fighting game, Skullgirls, did at Ultimate Fighting Game Tournament X.  The talk was entitled, "How to Make Fighting Games", but if you watch the talk he said a better title would have been something about what aspects fighting games have improved upon and what aspects they have forgotten.
Now, personally, I'm not a huge fan of Skullgirls; it's not a bad game, but it just never appealed to me.  Locally, I don't know a lot of people into it who want to play, and  at the same time, the narrative just didn't appeal to me enough to really get invested into it or its cast, but I still have respect for what what one of its leads thinks about fighting games.  Mike is a tournament-level player and as such, he knows his stuff, so I decided to watch the talk, which is a little over an hour, and "grade" Battle High 2 in regards to it.
Like most fighting games, Battle High 2 will probably never really be "done" until I move onto the next entry in the series or until someone forces me to stop working on it.  Anyway, I felt it was important to watch the video and take notes to what Battle High 2 is and isn't doing.


Not fighting game UI, but an example the UI can make or break a user experience.
User-interface is extremely important to a game's experience.  A lot of this talk actually covers different aspects of interface and things fighting games should do to make its user experience smoother.


Button Configuation

SFIV's Button Config.  I think the desire for multi-button macros is why they didn't do tap to assign originally.
The first thing noted is that fighting games' button configuration screens should utilize tap to set functionality, meaning that players should be able to assign different functions by pressing the appropriate button, for example, pressing X to assign it to light punch.  Street Fighter IV changed this and players have to instead toggle the different attacks for each button, which can be problematic for different types of joysticks.  Fortunately, Battle High 2 does tap-to-set!
Another thing mentioned is that players should be able to set buttons on the character select screen.  This is something Battle High 2 does not do.  I don't disagree with this entirely, but I still see tournaments with button configuration in the character screen then requiring in-match button testing anyway.  What it really seems like you want is a way to test the buttons from the character select screen.


Character Select

The next UI topic was character select.  Besides button configuration, it was noted that players should be able to undo any number of steps, character or stage select to account for mistakes.  Battle High 2 does this as well actually.  Finally, if a game offers a handicap mode, players should be able to disable it.  Battle High 2 doesn't have handicap, so technically it does do this.  I'm not sure if I'm going to add handicap.  Is that a feature players even care about anymore?  I get the importance of it, to help an expert player more easily introduce a novice player to the game, but some people, even if they want it, won't admit that, and it just gets ignored.



Battle High 2 fails a few areas here.  The opinion here is that players should not be able to immediately pause in versus mode; instead, they should have to hold pause for a few frames before the game pauses.  This would prevent players from pausing mid match; I think this is important and something I've seen ruin a player's "tournament life".  Battle High 2 doesn't do this sadly, but it is something I know I could implement quickly.  I do think single and versus player modes should exhibit this.  I get if you have to pause mid-game, instant pause is nice, but I do think a player should have pause delayed because in some modes, especially those scored on global leaderboards, can cheat.  As someone who was number 1 on DOA4's single survival list for a very short time, I have firsthand experience with this.


Versus Mode

The next part went over versus mode specifics.  Battle High 2 doesn't do a lot of these sadly, but I think most of these would be rather simple for me.  The first is that the win streak should be displayed on the win screen, and it should be the total number of wins, not just the win streak.  This helps players know who one last or who won more matches in long sets.
Then, from the win screen, players should be able to jump into a new match almost immediately or go to just the stage select screen.  Sadly, Battle High 2 doesn't do either of these.  Right now, Battle High 2 just immediately goes back to character select.  What it should do it allow for three choices:  rematch, character select, and exit.  If one player chooses rematch and one chooses character select, the game should return to character select, but the player who chose rematch should have their character already selected.  This isn't a big deal for Battle High 2, but for games where you have a lot of options such as Marvel Vs. Capcom 3, this would help speed things up quite a bit.
Then, if stage select has a random choice, the stage should rotate if "rematch" has been selected.  Battle High 2 doesn't even have random select on the character select screen or stage select, but if I remedy this, I would allow random rotation with both.
Shortcut mode was then mentioned, which is more important for older games, but it essentially made all select screens just pure text to prevent long loading times for UI, but with modern PC and consoles, UI screen loading times are usually not atrocious.


Replay Mode

Replay Mode doesn't seem that important in modern games with how good streaming and console recording is, but I see why it's important from a testing perspective.  Sadly I don't think Battle High 2 is really capable of handling proper replays at this time.  It's something I could probably try and figure out, but it would take some rework.



This little bastard is still a mystery to me...
Netplay is a big component missing from Battle High 2.  I've never really programmed online multiplayer and everyone I discuss it with says it's really tough.  Some people simply say "Use GGPO!", in fact, it's mentioned in this talk that it's the industry standard; however, I think it's one of those easier said than done things to integrate.  I don't know any fighting game done in Unity3D that uses GGPO; if I did, I would probably ask those people how they acquired a license and evaluate if it's right for me and Battle High 2.  Regardless, what I derived from this is that state-based, rollback netcode is what I should shoot for with Battle High 2.
Then, it was stated that being able to get opponents from training mode is useful and, if your game has lobbies, allowing 10-person lobbies to hold multiple matches, not just have 8 of the ten wait.  For me, I need to approach Battle High 2's multiplayer with babysteps.  First, just get multiplayer working, then worry about advance lobbies and other things.



A tiny screen shot of BlazBlue and its 8 pages of training mode options
A deep training mode is definitely something I neglected with Battle High 2.  I don't even have dummy recording.  If I did, one thing mentioned is that the dummy should be able to switch sides; if the dummy is supposed to do a forward z-motion on player 1 side and it should do it if on player 2 side as well.  It's also mentioned more advanced "reversal" setups should be allowed so a training dummy can perform a reversal in training mode.
Also, the game should supply players with character-specific features.  BlazBlue is a great example of this.  There was even a note that these options should show as soon as training mode starts, even before it if possible.
Fortunately, I do display hotboxes but the data needs to be more accurate as well as frame information.
Finally, I don't "save state" which is a technique that allows the game to go back and forth in frames with data such as player position, state, etc., recorded.  Again, this is a problem with the way I wrote Battle High 2 awhile ago, in fact, all of the shortcomings of Battle High 2's training mode comes from the fact I don't really train a lot in fighting games.  I do even question the importance of training mode for casual players, but hardcore fighting game fans will definitely want it, and not having it will hurt the overall impression of the game.  I do want to improve Battle High 2's training, but I do feel it is less important than some of the previously mentioned issues.



 So that was about the first half of the talk.  It then switches over to gameplay.

The first part discussed trading hits, or what should happen when two characters hit each other at the same time.  The idea was that the first frame of the hit should be of the attack going on, not the hit animation.  This, during a double KO for example,  can cause confusion, making it unclear exactly what happened.

Hit and block stun was then mention, pointing out that if a character is hit, that the hit animation bounds should be identical to the idles.  This would help with consistency and prevent some strange combos from occurring.

An older example of a cross-up

Cross-ups were then discussed.  A cross-up is an attack that hits the opponent even though the player has crossed over them.  The thing mentioned is that if hit by a cross up, the opponent should move towards the opponent; moving them away actually puts the player at a disadvantage, defeating the purpose of cross-ups.

Firebrand in Ultimate Marvel Vs. Capcom 3 is known for having a rather nasty unblockable setup

Unblockables and unblockable setups were the next topic.  Essentially, unblockables should be prevented if possible.  Examples were, if the character is already in block stun, don't allow unblockables hits to occur.  Battle High 2 doesn't have any unblockable attacks that aren't throws so this isn't really an issue.
Also, don't require blocking from multiple directions such as a projectile coming from the left and the player on the right.  The block should be for the player on the right.  I'll admit, unblockable setups and this section were a little confusing, but the overall takeaway was that I should try and avoid setups like this if possible.

Then there was the concept of "the point" or that if the player is attacking in the air and about to land that they go a little past the ground so the attack still has a change to hit the opponent.  Again, at this part of the panel, I started to miss some of the finer points that were being made, and this may be one of them.

An example of difficult to distinguish mirror matches

A point was then made that if the game can change character palettes, that any character-specific effects used should be different per palette.  Color differentiation has always been important to me, knowing that some games, such as older Mortal Kombats (and even the newer ones), do a terrible job at this.
Example.  Left side is valid, right side is invalid and broke on the second hit

Then next topic was the "combo" meter or the display that shows a players' combos.  BlazBlue has a very detailed combo meter; updating as hits occur, changing color when the combo is no longer "valid", meaning the opponent can break out of it, as well as which hits it became invalid.  I personally think the combo meter of BlazBlue and games like it are a little on the busy side.  I never noticed half the things mentioned and doubt I would ever use it in the middle of a battle; however, utilizing a better combo meter would definitely benefit Battle High 2.

Then next note was about audio and that hurt VO -- the yelps and moans of fighting games -- should be heard on every hit, which some newer games don't do.  This one felt rather minor in my opinion and very low on the list of things to change for Battle High 2.

Frame skip, which is a setting used to make a game appear quicker or in turbo mode, was mentioned.  I think the takeaway from this was that if you do frame skipping, don't also skip joystick input as it can cause strange problems with blocking and move performance.

Blocking was then discussed.  If the player is holding back, even if the pre-block animation hasn't started, the player should still block; Battle High 2 doesn't even really have pre-block animations.  Also, if the player is blocking, any consecutive hits should be considered blocks even if the player isn't holding back unless the next hit changes target, so if blocking low and the next hit is an overhead.

There was then mention of stopping the clock during cinematic super attacks; I didn't really agree with this; on the other hand, I do agree that a cinematic attack shouldn't kill until it is done.  In Battle High 2, Khai's super attack doesn't do this, but it's something I could probably fix easily.

The next part was on hitting multiple targets; Battle High 2 doesn't have this issue, but the idea is that if there are multiple targets, an attack should either hit the main opponent or all targets, but not the sub-targets.

Then there was discussion that if you have one-button throws, such as holding forward and pressing heavy punch to throw that you shouldn't allow other inputs on the same frame.  It sounded to me that the best thing was just to eliminate option select altogether.  Fortunately, Battle High 2 has a dedicated throw button (and after many requests, pressing light punch and light kick will enter throw).  Then there was a note about crouch tech, but it was a little unclear to me.



The next section was on input handling.  The first mentioned that you should prevent left and right from being held at the same time.  I never really tested this thoroughly with Battle High 2, but I would like to believe it handles it intelligently, only counting one of the other when it occurs.

An example of a decent command list; some z-motion confusion is possible but not much

Then it was mentioned that if you can, you should avoid using a quarter-circle attack and a z-motion in the same direction if possible.  This is something I tried to design the inputs of Battle High 2 for from the start since I know how easy it is to mix them up and cause issues.



The final part discussed opinions on gameplay.  First, no attack should require a macro or three buttons inputs.  Personally, I don't even like two-button input.  Overall, the input I want to avoid is anything the requires the "raptor-claw", the odd posture with the hand sometimes required on a controller -- happens more during 3D fighters like Tekken and Soul Calibur, but isn't any less irritating.

Essentially the next part was just that inputs should be simple:  no half-circles or confusing and difficult, SNK-style command inputs.  This definitely has some opinion to it as some motions, such as two quarter circles aren't that hard and I don't see the harm in keeping them.  I do, however, see the benefit in having simple inputs for newer players; if a newer player can't perform an input, they are going to be quickly turned off and walk away.  This begs the question:  why have complex commands at all?

Then there was discussion of guard meter and guard breaking.  Battle High 2 doesn't even have this system, but if it were to, a system in which guarding a lot comes with a penalty is fine, as long as that penalty doesn't result in breaking the guard.  In a way, if a player can guard perfectly forever, this is fine; they will be punished, but they shouldn't be punished for doing the right thing by breaking it.  In a similar way, dizzy and stun was discussed; Battle High 2 doesn't utilize this and probably for the best.  All stun and dizzy do is punish a player that is already not doing well and it doesn't really add anything to the game other than minor "realism", and if there are stun values, hiding and randomizing them seems detrimental.

The Talk Itself

I'm grading Battle High 2 against what was done in the talk, but I also felt it was important for me to evaluate the talk itself.  Overall, I felt it was rather decent and would be something I would have liked to see at GDC.  Though there were moments where the speaker used phrases like "it's easy" or "just" -- pet peeves of mind that make improper assumptions that just because it's easy for them means it's easy for everyone, even though that may not be the case for various reasons such as budget or skill or resources -- I still did think it was a good talk.  It wasn't boring or poorly delivered.


Battle High 2's Grade

*Price is Right losing theme...*
So if I were to grade Battle High 2 based on this?  Well, I would probably give Battle High 2 an F+.  F is still failing of course, but I do a few things properly, so I'll add that little + for fun.  The biggest things I neglect are training mode and online multiplayer, two things that I normally don't care about about that much when I play games, two things that are sort of making me wonder if fighting games are really the genre and audience I want to create for.  I think I'll write about this another time, but fighting games focus a lot on mechanics, and though mechanics are important to me, they get a little tiring to focus on so intensely when making a game, which is made up of more parts.  There are also times when I feel that free to play games -- which are often recommended to indies not to work on -- aren't really that different from fighting games.
I think the big issue for me is that I'm a filthy casual, a noob, a scrub!!!  And what I mean by that is that the aspects that a tournament-level player cares about, things that Mike Zaimont and attendees of Ultimate Fighting Game Tournament care about, I don't necessarily care about.  Casual players (or at least me from my experience) don't go into training mode to practice unique setups.  I play the single player modes and though those don't prepare you for competition with human opponents properly, they do allow you to learn and experience basic gameplay mechanics.  I can really remedy this one of two ways.  I can either try and become tournament level and start caring about these things -- but since I'm considered "old" in the fighting game scene I don't think this is likely.  The other is I can try and  breathe life into different areas of the genre, try and figure out what aspects of these game appeal to me and casual players more and focus on those.
Anyway, Battle High 2's OUYA China work is still ongoing for a bit, but once that wraps up, which hopefully will be soon, I'll begin focusing on polishing Battle High 2, using some of the things mentioned in this post to improve it.
I'll also be updating other aspects of the game such as the AI, the UI, and even the SFX.  So I guess anything that's an acronym is getting updated.

No comments:

Post a Comment