New cardback graphic in small patch (build number 9555)

Could be explained from an IT perspective. TL;DR: it's mostly a choice of what part of a texture you want to generate first.

Code talk ahead, keep in mind there might be an entirely different reason for it, i don't have insight on the code have absolutely no clue how things are exactly done in hearthstone's code, this is just my take on why i would make such a choice as an IT student.

When generating an image to show to the user, you always "draw" the final image in a format where every pixel has a coordinate in an XY format (images might be saved with an additional Z dimension, but you use all kinds of calculations in order to convert that to XY before actually drawing it). most of the time, X = 0 will stand for the left-most row of pixels and Y = 0 will stand for the top row (this might differ sometimes, i've had projects where Y was the bottom row).
Now why is this important? well when making engines for programs with fast-changing screens, you will be generating some textures thousands of times per minute (60 fps for 60 seconds is 3600 frames to generate), if one texture is to be presented as often as a card back, you start wondering how to generate that as fast as possible and an engine usually reads a texture starting at (0, 0), so if you know that often you're going to be only using a part of your texture, you want to have that part of your texture as close to your (0, 0) coordinates as possible.
Now let's start with cardbacks and take a look at a standard view of the HS playboard, where are the card backs shown and moving the most? in the opponent's hand, and the top is cut off! that means we will need the bottom of the texture much more frequently than the top of the texture (the cards in the holder are the top, but those don't move that often, when you draw a card the object is generated inside of the block texture and then "pulled out"), so in order to draw those cards on the screen as quickly as possible it would be smart to access the bottom textures before the top textures, so here comes the magic... we flip the friggin texture! bottom first, top last. take the part of the card back you need, tilt it a bit, done.

Now why are the other textures upside down? well i'm not entirely sure, probably a matter of consistency because as it turns out being consistent in programming means faster and easier performance, otherwise you're gonna start using a lot of IF's and you usually want to keep those to a minimum and if you do use them, keep them small. Instead of going "is it this kinda texture or that kinda texture? then treat them this way or that entire other way" from the start, you can just treat them all the same and wonder "how much should i turn this?" at the end of it all, so if there's a merit in generating a part of your things bottom-up, why not generate the whole thing bottom-up?

/r/hearthstone Thread Parent