-
I was wrong.
I was so wrong.
On May 13th, I posted an article about how Stephen, Charles, and I were wrapping up work on the “Big Systems” of Fingeance. I claimed that the game had reached such maturity that we were done “making tools” and 2042 hacks. I even penned the hilariously overconfident “It’s time to stop dicking around and build it.”
Since then, our article history – as the phrase goes – has determined that was a lie.
Here is a Fingeance gameplay video created shortly after I wrote that article. What follows is a short list of its most glaring flaws, and what we’ve done to fix them.
0:09-0:12 – A Bamboozling Splash Screen
Right out of the gate, here’s one we haven’t even worked on. I have to include it, though, since it’s just too funny. Our splash screen is pretty low-effort. It recycles used assets (character portraits, game logo, and moving background). It does little to catch the eye. Most important, Charles’ art style has come a long way since those designs.
What’s Wrong With It – After we fixed the shop, this screen ascended to the lofty title of “most confusing thing in the game.” You couldn’t press “A” to continue until you clicked on the screen. People read the title and thought the game was called “Fin League.” One player – one who actually got the name – thought it was a pun on “Fingers” and “Vengeance,” because, in his words, the main characters look like fingers.
What We’ve Fixed – Almost nothing. Yep, we’re starting with a let-down. The only thing we’ve made better is that now, you can actually press “A” to play 100% of the time. Nailed it!
What We’ll Do Next – Charles has Big Plans, plans I can’t spoil yet, on what to do with the splash screen and character art. Stay tuned!
0:19-0:21 – The (Lack of) Ecstasy of Gold
Three gallant young fish espy a treasure chest floating beneath the waves. Inching closer, they open fire, and collect the glittering rewards within.
What’s Wrong With It – It’s a problem you’ll see again and again within this video, and it’s a thing that makes a lot of amateur games look like cheap plastic knock-offs. See, enemies died in Fingeance, they just popped out of existence. Worse, the treasure they dropped just blinked into existence. Without fanfare, one object was swapped with another. It was a magician’s replacement act with all of the misdirection and none of the charm. It felt, again, cheap, like something you’d see in a third-rate Newgrounds flash game circa 1999. Picking up treasure should feel wonderful and rewarding from start to finish, and we weren’t delivering that fantasy.
What We’ve Fixed – We’ve gotten halfway there. Scrap now appears with a bouncy, flashy little burst of growth. Different tiers of scrap enter differently, with the biggest denominations coming in slow, stately, heavy, and grand.
What We’ll Do Next – Enemies need to do their part. When they die, they need an appropriate rattle, shudder, flop, or kaboom, as befits their identity. Stephen has had some wonderful ideas on selling enemy death (guppies going belly up!), which we’ll be implementing soon.
0:31-0:43 – A Tiny Kindling Flame
Right at 0:33, Player 2 in the orange ship fires his “Heatwave” gadget. At 0:34, it connects with the top Twin Turret, setting it ablaze. Take a look at the picture above, taken at 0:35. Can you see the flames? If you have a very sharp eye, you can see the teensiest licks of fire around the turret’s base.
What’s Wrong With It – For the longest time, our particles didn’t resize to match the entity they were placed on. Therefore, from the tiniest plankton to the titanic endboss puffer, every enemy has the very same half-inch cloud of fire. At 0:41, you can see for yourself how silly this looks. An itsy-bitsy wreath of flame dances atop the Biggest Baddest Turret, looking thoroughly out of place.
And yes, it was at this point that I chose to write an article vouching that it was time to stop improving the game and just make content. Oops.
What We’ve Fixed – Not much to say here: we made it look not ridiculous. It’s surprisingly hard to dynamically resize particles in Unity’s particle system editor, but dang it, it had to be done.
What We’ll Do Next – Not a whole lot. We’re far happier with how particles look now. The biggest promise I’ll make is “no more grand proclamations on how ‘finished’ the game is.”
Oh, PS: At this point, you’re already seeing hints about the most embarrassing part of this video.
0:45-0:50 – A Stitch in Time
Oh dear. 0:48 is the second that kills me every time I watch this thing.
What’s Wrong With It – That’s not your computer lagging. That’s not your internet connection shutting down. That’s not AfterEffects having a meltdown. It’s certainly not Charles deciding that particular frame needed an extra second of your attention.
What you’re seeing is a shoot-em-up.
Buckling under the pressure.
Of handling 40 bullets.
Fingeance used to be terribly coded. In a genre known for screens that look like this, we need to do better.
What We’ve Fixed – So much. Two weeks ago, Charles and I dug into Unity’s wonderful Profiler tool, which pinpointed which scripts and graphical elements were bogging us down the most. As a programmer, it was my first time refactoring code for efficiency. It was grueling, frustrating, and draining. Two days later, though, we’d done it. The game runs about four times faster than it did before. Lag spikes are a thing of the past, even in the most overwhelming “bullet hell” situations.
Aside: Tip for Unity Beginners – When convenient, don’t instantiate new gameObjects at runtime! Instead, create all your bullets and particle effects during your load screen, set them to be “inactive.” When someone shoots, move an inactive bullet to the right spot and activate it. Again, DO NOT CREATE NEW BULLETS AT RUNTIME. Creating gameObjects costs a lot of CPU speed. Think of it like the movie The Island (spoilers for the movie The Island). If you need a replacement for Ewan McGregor, it’s much easier to have a clone Ewan McGregor ready to go than it is to create an entirely new Ewan McGregor. I hope that helps.
What We’ll Do Next – The graphics need a big fix. Unity reports how efficient we are by measuring “Draw Calls.” Every time your PC has to re-render a portion of the screen in our game, it costs a draw call. Right now, we’re not doing a good job. That lovely background, for example, requires your computer to re-draw the entire screen about 120 times every frame. Yeowch.
Charles has some ideas that should lighten the load on older PCs and allow everyone to run Fingeance with ease.
Less Wrong Every Day
We’ve come a ways, haven’t we? Next week, Charles will be back, discussing some of our ongoing operations. One in particular has me bursting with excitement, and I can’t wait to show it off.
Until then, may you recognize when you’re wrong, and have some fun with it.
-