Game Update: April 2019

This update to Fantasy Strike is available on Steam right now.

This month we really tightened up Fantasy Strike from a software development standpoint. The gameplay is already in place, but we want everything about it as a piece of software to be as smooth and polished as possible. We massively reduced the game’s file size, reduced loading times (they were already fast!), fixed some bugs with online play that we accidentally introduced last patch, as well as fixed several other bugs.

Also of note, in order to make Jaina run well enough on the upcoming Nintendo Switch version, we had to completely redo the graphics for her flame arrows as well as the cloth system used by her skirt. In both cases, I think we pulled off the same kind of trade-off as last month’s performance improvements: in order to make it run faster, we also had to make it look better.

FILE SIZE

The game now uses 3GB less disk space. There has been no change to the size of the character spotlight videos, so if we exclude those and just look at the file size of the rest of the game, it’s now 34% the size it used to be.

A little of this improvement is from deleting assets that weren’t actually used in the game. A little was from reducing the size of some textures that were enormously too big for no reason (e.g. a small rock you can barely see having huge textures that don’t even improve that rock’s visuals.) Most of the improvement is from additional compression applied to all textures. Textures were already compressed in a way friendly to video cards, and now they are also compressed in a second way that’s friendly to your hard drive.

LOADING TIMES

If you have a fast computer, you already had very fast loading times in Fantasy Strike. Consoles have SIGNIFICANTLY slower loading in general, so in preparation for launching on consoles, we have sped up loading times even more.

--Launching the game is maybe twice as fast as before. We really want you to reach the main menu as fast as we possibly can get you there.

--Hovering over a character on character select has that character appear on the screen faster than before. For example, on the Survival character select screen, hovering over Jaina should have her appear something like 10 times faster than before.

--We have a background loading system speeds up character loads even more. After you load a character in menus once (that is, see that character at all in menus), that same character will load even faster every subsequent time in menus. Furthermore, even the FIRST time you encounter them in menus will be the very fast version as long as you wait a bit after launching. For example, if you idle on the main menu, or set your buttons, or poke around menu screens, etc, we pre-load characters behind-the-scenes so that the first time you load them in menus will be the extra fast version.

--Loading of characters on the “versus screen” (the one with the orange background) is greatly sped up. For example, if you select Jaina in Survival mode, once the versus screen is shown, her character slides onto the screen something like 100 times faster than before. (Yes, really.)

--When playing Arcade mode, the wait time before the first story scene is shown is much faster, probably 5 or 6 times faster than before.

--All stages load slightly faster too.

ONLINE

Last month’s patch unfortunately introduced several desync problems with online matches. That means matches would suddenly end because you’d get out of sync with your opponents. These problems were caused by some speed optimizations we did that didn’t work well with online play. We’ve fixed the problems without reverting the speed changes.

--Fixed a desync related to projectile positions.

--Fixed a desync that frequently happened after a character was hit out of the air and landed on their feet.

—Fixed a desync related to DeGrey’s ghost. Actually, it’s more like an intersection of three desyncs in one. Our March performance update accidentally hit the online workings of the ghost pretty hard. Sorry, fixed now.

--Fixed a rare bug that could sometimes cause the game to hang for multiple minutes on launch while trying to connect to the server and failing. Possibly more likely on Mac.

MEMORY MANAGEMENT

--Fixed lots of cases where character assets were not getting unloaded when we no longer needed them, which meant that they stayed in memory for much too long.

--Fixed lots of cases of assets being double loaded. That is, two copies of the asset being loaded for no reason.

Together, these changes somewhat reduce the RAM requirements of the game, which is especially helpful to the upcoming console release.

CHARACTERS

JAINA

--The animation on her skirt is now controlled by a completely different system. The reason for this change is so that it can work on the Nintendo Switch at all. The skirt’s motion is generally more deliberate now, and this new system also prevents the bad states the skirt could get into before, such as being stuck crumpled up or folded in on itself.

--When on the p2 side (facing left), Jaina’s costume now correctly mirrors. It was always supposed to do this because her armor protects her front side as she shoots her bow, but for the last 3.5 years we’ve been unable to do this mirroring specifically because of how her skirt worked. The above change to her skirt tech now allows us to mirror the whole costume on the p2 side as it was always supposed to be.

--Jaina now has new graphics for her flame arrows. They now look a bit better, more like they were originally intended, and they require much less processing power than the old arrows so they will work better on the upcoming Nintendo Switch version. Also, the graphics for the new arrows make the visual difference between level 1, 2, and 3 ground B shots even more clear than before.

VALERIE

--Skin shading is smoother now.

SETSUKI

--Skin shading is smoother now. Palms are no longer kind of dark for no reason. Lips are no longer really huge.

--Fixed a bug with the last 3 frames of her air super’s parry attempt. Those frames didn’t correctly parry attacks, but now they work the same as all the other active frames of the move.

DEGREY

--Fixed a visual bug with DeGrey’s ghost, introduced last patch. After using the ghost once, her animation would no longer update. She would only pop between static poses as she moved around the screen. Now works correctly again.

ARGAGARG

--Fixed a glitch with his ground shadow when jumping over some characters.

--Improved collision of his whiskers to no longer penetrate his body, especially during main menu idle and gameplay idle (does not affect gameplay).

MISC

--Character spotlight videos have been updated. Fixed several references to moves that had changed function over the course of development.

--Fixed a bug where the where the main menu stage would render with the wrong lighting when you returned to main menu from various modes.

--Numerous fixes to the animations of characters doing pushups after online and survival matches. They no longer clip through the ground in various ways (Midori’s beard, Jaina’s hand and skirt, Lum’s belly, etc.) and they have ground shadows again, too.

--Fixed a lighting issue on defeated survival opponents. When they are laying on the ground before disappearing, they now have correct lighting, rather than sometimes appearing dark, other times not.

--The “loading time” between survival opponents was already instantaneous on good computers. On lower end computers, there might be a slight pause (fraction of a second). We’ve sped this up, maybe twice as fast as before.

--The “blocking” section of the tutorial has an extra sentence in the yellow text box telling you that you have to hit back the dummies after you block their attacks.

--Single Match mode now actually gives you a random stage when launching the match, rather than keeping the menu stage. It was always supposed to be random, but a last-minute bug before last patch caused you to get the same stage every time.

--The notification box that slides in on the upper left saying “You have 2 friend requests” or whatever is now correctly sized so that the text always fits inside.