Exactly reading texel (X,Y) from an texure that's W by H texels, in an interpolated sampler without clamping:
Accessing that spot in an array would be 0 to (W-1) horizontally and 0 to (H-1) vertically.
In texels, the coordinate of the center of the first texel on a row would not be 0, it would be 0.5. And the coordinate of the last texel on that row would not be W-1, it would be (W-1)-0.5.
In that case, you have a range of W-2, startng from 0.5 and ending at W-1.5. The same goes for H, a range of H-2 starting from 0.5 and ending at H-1.5.
To turn that into normalized (0 to 1) UV coordinates, divide by W-1 and H-1.
So in UV terms, that is:
U = (0.5 + X*(W-2)) / (W-1)
V = (0.5 + Y*(H-2)) / (H-1)
Example:
If the image is 256x512, then the texel addresses if it were an array would be 0-255 and 0-511, so
U = ((0.5 + X*254) / 255
V = ((0.5 + Y*510) / 511
And now I can look this up when I forget it.
Wednesday, January 28, 2015
Saturday, January 3, 2015
Why I'm Not Playing GGXrd
As a Guilty Gear player since the very beginning I am still playing GGAC+R, and will continue to do so. Since I got tired of enumerating why, here's this post.
---
Let me start by saying, as I always do: Play what you enjoy. If you like a game then great! More people playing fighting games is always good.
I won't ever tell you not to play something you like, nor judge you as a person because you like something I don't or dislike something I enjoy. As should we all.
---
I often mention Guilty Gear as the series that in my opinion has the best purposefully-designed game systems of any fighting game. The choices made and the interplay of the various mechanics was excellently thought out with each iteration, with some very minor exceptions. To me this is no longer true in Xrd. It seems like they took the SF4 "let's make things easier for newbies" idea and applied it to the wrong parts of the game, leaving needlessly difficult bits still difficult and removing the core appeal of Guilty Gear for experts by altering other parts and not fixing what was legitimately broken.
"A good game is good no matter how old, and a bad game is bad no matter how new."
(I've seen this attributed to Seth Killian, if it was not his then it should have been.)
I firmly believe this, and I am not a player who will abandon something I see as excellent in favor of something shiny just because it's shiny. Part of my enjoyment comes from playing something I feel is well made and either accidentally or purposefully well-designed - a game that makes me blame myself for losses rather than blame the game.
I do not fault Xrd for having a smaller roster. It takes time to make characters, so that is completely understandable.
Things Xrd Got Right
Let's start with the positives!
---
I won't ever tell you not to play something you like, nor judge you as a person because you like something I don't or dislike something I enjoy. As should we all.
---
I often mention Guilty Gear as the series that in my opinion has the best purposefully-designed game systems of any fighting game. The choices made and the interplay of the various mechanics was excellently thought out with each iteration, with some very minor exceptions. To me this is no longer true in Xrd. It seems like they took the SF4 "let's make things easier for newbies" idea and applied it to the wrong parts of the game, leaving needlessly difficult bits still difficult and removing the core appeal of Guilty Gear for experts by altering other parts and not fixing what was legitimately broken.
"A good game is good no matter how old, and a bad game is bad no matter how new."
(I've seen this attributed to Seth Killian, if it was not his then it should have been.)
I firmly believe this, and I am not a player who will abandon something I see as excellent in favor of something shiny just because it's shiny. Part of my enjoyment comes from playing something I feel is well made and either accidentally or purposefully well-designed - a game that makes me blame myself for losses rather than blame the game.
I do not fault Xrd for having a smaller roster. It takes time to make characters, so that is completely understandable.
Things Xrd Got Right
Let's start with the positives!
- 3D art that is as close to 2D as we've ever seen. The game is beautiful, you can't deny it. They even do the thing I tried to convince some other games to do where you render each character as if they were a separate flat sprite so there isn't inter-character clipping. It certainly took a lot of work/money/time, but it really is the gold standard for 3D emulation of 2D right now.
- Using their old gameplay engine instead of writing a new one. From what I've read, Arc System Works ported the old Guilty Gear core engine to Unreal, which is why Xrd retains the general "game feel" of Guilty Gear. A lot of the things the gameplay still does right are a result of this choice, and it was completely the correct thing to do rather than writing a new engine and attempting to recreate how the old one worked. Many developers making sequels choose to do the latter, usually with unsatisfactory results.
- Tap-to-Set Button Config, and Button Config on Character Select. THANK GOODNESS! I mean, Guilty Gear always had tap-to-set button config but lots of other games don't. It serves the dual purpose of speeding up setup and eliminating the need for button checks. Xrd even allows you to unmap things by pressing Right, so pretty much the only thing it's missing is auto-advance to the next line after you press a button.
- Changing stagger mash to buttons instead of the joystick. It's easier for pad players to mash this way, since there were cases where that was a significant detriment to playing on pad in older Guilty Gears, as well as buttons being less annoying to mash.
- Removing FRCs as they were. What?! Well...yeah. I never really liked the extra execution barrier put in place by FRCs, so I am glad that part is gone. Players will always find difficult tactics and combos, so developers requiring that level of precision execution just to play a character at a basic level is completely unnecessary. Fun combos aside, I almost gave up when Potemkin Buster was given an FRC in Accent Core out of sheer annoyance. So yep, I'm glad they're gone. However, there are ways to preserve what FRCs did for gameplay without imposing as harsh an execution barrier, such as allowing the player to hold the move's button/two buttons/Dust/whatever to get an automatic FRC on the first possible frame of the FRC window, without introducing a new detrimental system mechanic instead.
Things Xrd Got Wrong
Sometimes trying to go back to basics is not the best idea. Many fixes and improvements have been added to Guilty Gear since the first few games, and throwing those out feels bad to me. CONTROVERSIAL STUFF GO.
- YRCs and built-in option selects. The main difference between YRCs and FRCs is that you can only YRC if the opponent is not in hitstun/blockstun, whereas with an FRC you would cancel to neutral as long as you hit the buttons. This property of YRCs allows many built-in option selects that I find hugely distasteful. These OS's remove a lot of the thoughtful metagame that Guilty Gear had, which was one of the primary things I LOVED about Guilty Gear. If you backdashed and baited someone's slow attack or throw attempt on wakeup you got a punish or at least could press your advantage. Now, they YRC and are safe. You can input a YRC after any superflash in case the opponent bursts, with the super connecting as usual if they didn't. You can bait a burst with EVERY SINGLE HIT of a combo if you have between 25% and 50% tension by performing each hit with a YRC input. You can go for a command throw, YRC on the first active frame if it doesn't grab, then airthrow/hit the opponent for dodging your command throw. In my best old man voice, "This stuff should not be in Guilty Gear, or any other game." As I mentioned above, it is possible to replace FRCs with a non-timing-intensive alternative that doesn't add this OS junk. OSs are not not reads, they are training mode practice, and in my opinion they do not enrich the gaming experience at all.
- Not making motions easier everywhere. I-No's Chemical Love was changed from 632146+button (HCB,F+button) to just 214+button (QCB+button). This is EXCELLENT, it's a great thing to make motions easier for new players! But why was this approach only taken with Chemical Love? Why not Undertow, or Zansei Rouga, or Sickle Storm, or Tyrant Rave, or Dark Angel, or Potemkin Buster, or even I-No's other moves like Stroke the Big Tree, Longing Desperation or Ultimate Fortissimo? Why are lots of moves still half-circles when there is no overlapping quarter-circle motion? Why are there still overlapping motions on the same button, like Potemkin Buster and Megafist? Why does Ramlethal have a just-frame special move? Why not ACTUALLY make the game easier for new people to pick up and play and not screw up basic moves?
- Removing negative-edge. Negative edge is the ability to perform special moves or supers by releasing buttons. It has a variety of uses, but the most common one is making sloppy motions with early button presses still give you a special move, for example 2,3+P,6+release P still gives you a Gunflame. This greatly helps new players - and even some old players! It also has multiple other uses for advanced players, but the main thing is in making sloppy motions work. Multiple people have mentioned to me that they have to do motions slower in Xrd to get special moves, and I think the lack of Negative Edge plays a large part in this because they were probably pressing the button early, which would still work in other games. In game geared toward making things easy, there's zero reason to remove negative edge.
- Leaving Jump Install as a difficult thing. This is part of "making the wrong things easy but keeping hard things hard." Jump Install (JI) was originally a bug in old Guilty Gear games and was kept as a feature. It is performed by hitting with a jump-cancellable attack, then pressing Up, then chaining out of the attack to another attack before you jump, then later on in your combo becoming airborne. This leaves you with your doublejump/airdash even if you leave the ground in a way that would normally remove those, for example by superjumping. It's difficult to get the hang of without lots of practice, and Arc even added "auto Jump Install" to later Guilty Gears where only some moves would automatically leave you with your extra air options even if you didn't do a JI before using the move. Pros, of course, will practice until they can JI whenever they want to. So why require the Up input anymore? The point of JI is you don't get your extra air options if you just superjump by itself, only if you JI, but you can JI off any jump-cancelleable move you can chain from. If Arc wanted to keep everything exactly the same but make this arcane feature more accessible to new players, just make Jump Install happen any time you chain through a jump-cancellable move. Don't keep the extra unnecessary execution requirement.
- Not removing high-low unblockables (and other types of unblockables). Practical unblockables are bad design, period. High/low unblockables are easy to detect in the game engine, and extremely easy to prevent if desired. I did it myself, so I know this. Useful unblockables break gameplay in a variety of ways, and are almost never fun to play against / be hit by. Cue the defenders! Let's address some common arguments in favor of unblockables:
"It's just like a combo!" - No, not even close, because damage scaling/hitstun scaling/gravity/dizzy scaling are all reset. This is the major bonus of doing an unblockable - you get full damage from the next combo and don't have to adjust it, ever. As seen in previous Guilty Gears and in Xrd this can lead to either loops of unblockables or a dizzy/death. Heck, if doing an unblockable kept the previous combo's scaling values, or even started you at 50%, I don't think I'd have nearly as much of a problem with them...but I suspect that they would be nowhere near as useful, either.
"Eddie/Zato is built around unblockable setups!" - No, he has plenty of other useful gameplay tools. Landing multiple separate combos as the payoff for hitting you once is not a necessary part of his character design. It's a part of him being S+ tier, but an S+ tier character is not generally a design goal when attempting to create a balanced game.
"Elphelt is built around them!" - Again, no. Without them she'd be a worse character, sure, but that doesn't mean she was built around them, it just means her other strengths are not being explored as much because she has unblockable setups.
"They aren't even all that common!" - Whether or not this is true is irrelevant. They exist and are the most useful option when the opportunity arises. Removing them also removes the possibility of them ever happening. - Removing throw techs. Throws in Guilty Gear are incredibly good. I'm fine with that. The throw tech window in GGAC+R was about 2 frames, too difficult to do on reaction. I'm fine with that too, because having techs actually handled the case where both characters input a throw on the same frame by returning them to neutral. Now, you both get 6H/4H or your option-selected other normal, so one character will win and one will lose, which does not accurately reflect the fact that both players went for a throw and both were able to throw.
- Input-lag-based netplay instead of rollback-based. Discussing the difference is outside the scope of this post, but the short version is: if you prefer smooth visuals, rollback-based netplay can be configured by the player to be the SAME as input-lag-based netplay, but if you prefer more responsive controls under laggy conditions then rollback-based netplay can ALSO do that whereas input-lag-based netplay CANNOT. Input-lag-based netplay is significantly easier to implement for developers, and under good network conditions (i.e. in Japan) it works okay enough. Elsewhere, that is not the case! Fighting games have reached the point where input-lag-based netplay simply should not be accepted by players, in the same way that not having hotkeys in MMOs would be unacceptable now. It is a lazy choice, pure and simple, and it provides a much worse online experience.
- Hell Fire. Guilty Gear did not need this type of comeback mechanic. 'nuff said. And I have a suspicion that the much more pronounced guts/lifebar scaling in Xrd is to ensure players spend more time in Hell Fire because they have more life while in it than visually indicated.
- Danger Time. I wasn't even going to mention Danger Time, because it is so obviously flawed that not even staunch Guilty Gear fans can defend it, so it bothers me comparatively little versus things like YRC OSs. This is just here for completeness.
And then there are things besides gameplay mechanics...
- Removing options from characters as part of "back to the roots". There are lots of people who would argue that GGAC/AC+R added too much "stuff" to the characters. I might concede that point because there are a lot of moves you never see in high-level play, but at the same time having Force Breaks and other moves covered options for characters and made them more fun. Playing Slayer without Big Bang Upper just feels ... flat. Playing Potemkin without air Buster or Judge Gauntlet feels off, and playing Potemkin without 2S pulling in feels awful. Ky's lightning was cool! New Grand Viper was fun, Sidewinder was awesome! Etc. It kinda feels like playing World Warrior after playing ST for six years. Except ST still exists, so why would I switch?
- Reloading the entire match when you choose "Retry". This is a pet peeve because Guilty Gear invented "Shortcut" mode, which was bare-bones text menus with no loading time, and also invented Retry, all in the spirit of getting you back in the FIGHT faster! And now, Retry takes 30 seconds of covered up loading (and exposed loading!) to start the next fight. Ugh.
- Unskippable cinematic supers. Another pet peeve of mine, ten seconds of Heavenly Potemkin Buster is no longer amusing after the fourth time. Let me press Taunt to skip cinematics, at least, if not giving me a non-cinematic version of the move.
- Balance. While GGAC+R might be considered a very small step backward in balance from GGAC, Xrd is a giant step backward. We have come a long way from #Reload in terms of balance and character utility, and Xrd undoes a lot of that. I do not want to play another Guilty Gear where Eddie is completely ridiculous and Millia is close, when I can choose to play a game where more characters can compete at more skill levels.
- No fighting in story mode, not even by choice. This really bothers me. It's a fighting game, I want to fight! Sure, P4A let you choose auto-battle, but you could fight if you wanted to. Not even being given the choice is, well, boring. And yes there is Arcade Mode, but it seems like a really strange choice for Story Mode considering there ARE places for fights, just not ones I can win or lose myself.
tl;dr
A game with generally better design choices exists, and the easier parts of Xrd aren't really the things it was important to make easier for new players, so why switch?