It’s that time of year again! Where I intend to give myself a vacation — it’s the freakin’ holidays, man — but end up working on replays instead (I REALLY want Bleed 2 to have them) which led to finding and fixing tons of bugs. I also gave my to-do list of features/polish one more look to see what big items were left to be done. Whee!
First: the to-do list. Other than bugs it’s basically all cut. The past few months I’ve been chipping away at the list, implementing bits of polish and features in-between big items like art and bugfixing, and all that’s left at this point are incredibly minor and superficial items. Maybe if I have time to sneak a few in I’ll add them, but most of them won’t have a tangible impact on the game’s quality and will carry the possibility of introducing bugs, so they just don’t seem worth it. An example of a simple addition I made recently was an indicator to highlight your entry on the leaderboards. It’s useful, and also removed from the core game enough that I feel more than comfortable putting it in.
With that done, I gave fixing replays one more shot. Since their breaking is so hard to reliably reproduce, the game had to be played a TON, which also gave me a chance to do lots of balancing/refining on the unlockable weapons and characters — and to find oodles of bugs.
A HUGE problem I found is that many things weren’t being properly reset when you started a game, including the camera and the player. So starting an Arcade Mode run while holding the jump button down (as shown above) could result in two different outcomes, depending on if the player was last in the air or on the ground. Likewise, the camera’s last position was affecting its position at the start of a new game. These things might seem minor but they really aren’t, because they cause a butterfly-effect that quickly breaks the random number generator and ruins replays. It also allowed for a divide-by-zero error under specific circumstances which messed all kinds of things up.
To any who don’t know: “localizing” a game is the act of changing it to work in a different language or region. It could be as simple as translating all the text in the game, or as involved as redoing all the voice acting and lip-syncing, or changing the script/images/3D models/etc to fit better with the new culture/language. TO BE ABSOLUTELY CLEAR, Bleed 2 isn’t being localized AT ALL (at least not right now) — it’s an involved and expensive task, while I’m just one English-speaking dude who’s resources are limited.
That said! This week I made basic text translations possible — and hopefully, easy. For example, here’s the main menu run through Google Translate to German (definitely NOT the way you want to localize a game. Apologies to any German speakers, I’m sure this isn’t correct!)
Still, it shows you can change the text!! Most of the text in the game used to be hard-coded, but now it’s all stored in an easily readable, easily editable text file, looking something like this:
It’s not a perfect solution — some elements (for example “BLEED 2” on the menu shown above) remain as images, so they can’t be translated in this way. Still, there’s been a fair amount of fan interest in translating the game, so I hope what I’ve done is enough to make someone (or a few someones) happy.
There was more to it than “okay all the text is in this text file now” so of course you get to read about some of the bumps, yaaaaay!
This week I went through every level, enemy and boss (so… the whole game) with the goal of unifying how everything feels and looks. There are a bunch of (admittedly fairly common) tricks I use to try and make Bleed 2 feel extra good to play, such as…
- Hit stun: The game freezes for a split-second to lend extra punch to certain events, like reflecting a large attack
- Screen shake: The camera shakes around to accentuate events like explosions, heavy objects landing, etc
- Screen flash: The screen flashes for a split-second, which also accentuates explosions and other strong hits
- Sprite shake: Enemies themselves shake — a little indicates damage, a lot indicates charging a strong attack
- Particle effects: Dust clouds, bullets impacts, metal bits and other debris, etc, make the game feel more alive
- Enemy corpses: Many enemies leave corpses when they die — it just feels better than them disappearing in a puff of smoke or the like (fun fact: enemy corpses move a lot slower than other objects when time is slowed, so you can get that typical anime-style all-the-bad-guys-fall-to-the-ground-at-the-same-time thing going on when you un-slow time.)
…etc etc! But their application wasn’t universal or consistent, so I paid attention to each one to make the game a more unified whole. Many elements were especially missing particle effects, so I had to create a bunch of those as well. The art never stops!
This “consistency” might be hard to consciously appreciate generally, but many areas of the game were sorely lacking in these bits of polish and illustrate really easily the difference between having them and not. For example, the Kitty Chopper’s death animation before:
And the death animation after! It might look a little strange playing out in this debug room, but in-context it makes sense.
I put a bunch of time (maybe too much?) into deciding little details of the particles to make them look as good as possible. For example, the metal scraps fly out from the explosion, but quickly shrink and fade after a set time — it would have been easier to let them simply tumble off-screen like every other particle in the game, but something about it looked really cheap to me and I couldn’t leave it like that.
I did it!! Yesss!! It took two full weeks of work but Bleed 2’s end credits and cast roll are finally done. I’m really proud of myself for pushing through and making it happen. I’m also mentally exhausted (this might sound overdramatic/indulgent, but art is difficult for me.)
I hope you’ll understand if this post is light — I’d love to show pics of what I worked on, but come on! It’s the ending of the game! Instead, I’ll share a few changes/bits of polish I’ve been adding to bosses lately, and call it a day.
First we have the ninja fight (I don’t think I’ve shown it on the blog before, but it’s in the trailer for a few seconds!) It repeatedly rushes you from random spots in the clouds. It would occasionally appear at locations that put it behind the HUD — hardly fair, so I fixed that. It also attacks REALLY fast on harder difficulties, to the point where if you died, it would be attacking you before the screen fully faded in after the restart. Not only did I fix that here, but I went through all the other bosses and made sure they give you time to respawn before attacking.
Making Bleed 2’s end credits is a large task that I’ve put off for far too long. This week I finally dove into it! I roughed out the whole sequence in Premiere (the same process I used for the game’s intro) and then penciled, scanned and began inking about 30 images (the same process I used for all the other large images in the game.)
I admit, the only reason the credits are such a big task is because I insist on making them one. Arcade action games aren’t exactly known for their gripping stories or lengthy conclusions, but at least a short ending sequence and a cast roll (showing all the enemies you triumphed over!) lets the player revel in their victory a while and come down from the game’s climax. You can’t deny the old-school satisfaction of a cast roll.
This week I finished writing and implementing all the vital dialogue, and started finally, actually testing Bleed 2 on Steam!! Exciting times!! The number of bugs that were revealed was… large. Here’s some descriptions of builds I’ve uploaded in the last few days:
So up until a few days ago, Challenge Mode arenas had no music. Your scores weren’t being sent to the leaderboards when you beat Arcade Mode. You could click a locked box on the character select screen and it’d let you play as them anyway. You could run through the game with “infinite health” on and it’d let you submit the score like it was the most legit thing ever. Etc etc etc. Before this week, I honestly thought I’d found all the bugs in the game! Not so much.
In addition to those bugs, some other interesting exploits(?) were brought to light — for example, the pistols/katana combo weapon.
Alright! My goal right now is getting Bleed 2 to a bare-minimum “shippable” state as soon as possible. Over the last few weeks I’ve re-balanced the audio based on Joonas’ feedback. I’ve played through the game using each weapon, making sure they’re all working and fun. I’ve gone through the game with every character, making sure they can actually complete it with their various limitations and unique abilities. I’ve found and solved a lot of bugs (funny how the to-do list grows even as you’re trying to shrink it.)
Right now I’m writing a small-but-important amount of dialogue for each character (sitting with my coffee and my laptop, thinking about the personalities of my characters and what they’d say to each other — I feel like it’s like the most pie-in-the-sky version of what people imagine when they think “I want to make games!” Within a day I’ll be actually implementing the dialogue though, fixing the litany of bugs they create and patching up all the missing art assets I discover, haha.)
Anyways, I’ve added a bunch of polish and little features along the way, and I think those would be more fun to read about, so here you go!
I discovered I can add extra details to Steam leaderboard entries, so I started taking advantage of that! Now you’ll be able to see the character someone used, their rankings for each level, where they died, etc etc etc. It’s probably nothing special to someone who knows what they’re doing, but I’m still new enough at coding Things That Use The Internet that it makes me really excited.
Happy Halloween! There’s a bunch of things I could blog about, but I figured I’d directly address the question I get asked most, and talk about how things are coming and what release is looking like. Here’s the current remaining to-do list (small and blurred for spoilers):
It’s a lot left to go, but it’s probably less than it looks like…? Maybe…?
- Page one has the biggest tasks — mainly the end credits sequence (lots of art!) and trying to make the game work with a greater variety of controllers. Other than that it’s mostly self-reminders to remove debug elements, so users can’t accidentally reset their achievements with the press of a button, for example.
- Page two is all the medium-priority stuff that needs to be done — balancing a few characters/weapons, fixing some bugs, writing all the extra dialogue, testing cloud saves and other Steam features, etc.
- Everything beyond is increasingly minor, and things I could ship without. Page three is a lot of polish or features I’d like to get in if I have the time — for instance, I’d like to indicate on the score screen if players set a new record, and store all the game’s text in an easily-editable file (in case someone wants to make a fan-translation or something.)
- Page four is more polish, but items at that point are things most people probably wouldn’t notice or care if they made it in… things that would add background detail to the world, but many will probably be more work than they’re worth and get cut.
- Page five is all things that would need to happen in order for replays to work, so those will probably be cut too.
So considering all that, you could mentally chop the last two pages off to get a realistic look at the work ahead! I’m keeping them around just in case I get time, though.
Even then, I’m gonna say Bleed 2 won’t be out by the end of the year. To anyone this disappoints: I’m very sorry. Back in August, end-of-year seemed like a potentially-hittable goal, and I guess technically it still is, but it doesn’t seem like a smart decision. Thanks to the MEGABOOTH and other events, I’ve been able to talk to a LOT of industry folks, and it’s apparently common knowledge that releasing in December is a kiss of death to an indie game (and it does make sense, with all the huge releases and massive sales going on.)
Accepting that: if I was going to release this year, it’d be in November, which would give me five weeks or less to solve all these issues, create all these assets, etc etc, as well as trying to hype up the release and get some kind of press attention, to say nothing of actually playtesting the game and responding to that feedback. I don’t even know if that’s all possible in that timeframe, and if it is, it would certainly come at a cost to both myself and the quality of my work.
So! Work continues, the game is coming along, but the release window shifts from the nebulous “Late 2016/Early 2017” to the slightly-less-nebulous “Early 2017”! I hope I’ve been clear as to why, and hope anyone waiting for the game can be patient just a little longer! I will continue to do my best to get it out as soon as possible in its best possible form. Thank you for your understanding.
I made the IGF deadline! I worked a ton of hours this week, but I got all the audio problems solved, and all audio reasonably balanced. If you’re wondering what kind of issues might crop up with audio, some examples are:
- Sounds not playing if they were exactly vertically aligned with the camera
- Looping sounds continuing to play even after the boss/enemy/etc was dead
- Ducking being completely broken / not working
…et cetera! I’ll probably need to do one more pass to make sure all sounds are playing at good volumes, but in general, it’s all peachy.
I had some time left over before the submission deadline, so I did a full pass of the game’s difficulty, too! For a while I’ve worried the game was fun, but kind of unengaging — besides not having any audio, I think a lack of difficulty was to blame. I went through the game on Very Hard, level by level, boss by boss, and tuned everything way up!
Now, I recognize that I’m really good at Bleed 2. What feels too easy to me is probably way too hard for many others. With that in mind, I didn’t even touch the Easy or Normal difficulties for 90% of these changes — I tuned Very Hard to what I felt was a real good (but fair) challenge, and then changed Hard to make a smoother transition across difficulties. So in the highly accurate graph below, the red line is what the progression was like before, compared to the yellow progression now.
It also got me thinking about how I tune difficulty, and I think I rely on three methods: raw numbers, fairness, and what I want as a player.
Bleed 2 reached an awesome milestone this week — all audio is in the game!! I ran through it once to test everything out, and I can’t stress how much more engaging and alive the game is now!
I remember having a similar moment with the original Bleed — working on the same game for years, and in partial/total silence… I still love it, but after a while I’ve seen it all before a thousand times, and I start to worry that even the most exciting moments have become stale… I start to lose perspective, and worry that what I’m feeling in those moments is how the player will feel when they play it for the first time! But then the audio finally gets in there, suddenly the game is ALIVE and EXCITING and FRESH, and I get this massive adrenaline-rush kick in the pants at seeing it come together! (Hopefully THAT will be more reflective of a player’s first time, haha!)
Anyways, all audio in is fantastic, but it also exposed a ton of problems with how I’m handling the audio (like the timing of cutscenes, or bugs with looping audio, or sound effects being too quiet or too loud, etc.) But, this is what I accounted for and what I’ll spend the next week in crunch-mode fixing, ideally in time for the IGF submission! Even with all those problems and deadlines, it’s really, really exciting for me to be at this point. It’s almost like an actual game now!
Speaking of being an actual game, this week I made that short intro sequence I talked about last post!
I’ve never paid so much attention to the timing of audio and how things fit together! But now that I’ve got this pro-level audio, the attention is definitely deserved. I roughed out my plans for an intro sequence using my ancient copy of Premiere, trying to make it fit to Jukio’s music and mood! Once I was happy with it, I started drawing and animating (and I’ve gone into my process in past posts, so I won’t do so here.)