The fifth level is almost done, gah!! It’ll be finished by next week, but right now I’m stuck re-doing one last boss. I swear I’m not just re-doing every boss over and over — I did three this week that only needed minor touch-ups and difficulty balancing — but sometimes I come back to my old work and can’t imagine what I was thinking. This boss is definitely one of those, and needs to be totally redone. I still like the art and animations, at least.
Without anything more meaningful to share, I thought I’d do an article that simply explains collision detection! If technical stuff puts you to sleep (or you’re already familiar with the topic, which is equally likely) you might wanna just stop reading here. I warned you!!
So in Bleed! Anything you can interact with is called an ‘entity’, and all entities have a width, a height, and a center point. Using these values, you can find the edges of a rectangular area called a ‘hitbox’. The hitboxes let entities know when they overlap (or ‘collide’) with each other.
The fifth level is almost done! All that’s left is the bosses, which I started fixing up near the end of the week. One of them is our good old pal the Segment Slider, who I re-worked yet again. I’ll get into that, as well as the controlled randomness in Bleed 2.
First, the Slider: I don’t know what I was thinking, but when I last re-worked it I gave it a bunch of attacks that really sucked. They took a long time to perform and didn’t give you any opportunity to damage the Slider, so it was just… dead space in the fight.
I re-worked them all (of course I did!) Now every attack happens quickly and gives you a chance to damage the Slider if you’re good enough!
So that’s nice, but here’s where things get ranty (and random.) The Slider has a number of actions available to it, and at the end of each action it randomly selects a new one. If it was as simple as that, though, it could lead to some really annoying boss fights, since it’s fairly common for the AI to randomly select the same action a whole bunch of times in a row.
Sadly no visuals this week, as I spent my time working on things with no immediate benefit — things that will make Bleed 2 awesome in the future. Namely, preparing a bunch of documents and references for audio folks that I hope to collaborate with!
In my experience, even when you really suck at something, if you keep trying at it long enough you’ll eventually get a halfway-decent result — and that’s how I’d describe the development process for Bleed’s music. I’m proud of what I accomplished, and I think it had a certain charm, but it also took me two weeks just to write one song I was happy with, and in the end it’s not like they’re super-duper-fantastic. So while I could do audio again, at this point I’ll be holding the game back.
So! In the interest of quality, and time, and giving Bleed 2 the best chance I can at being really awesome, I’m talking to a musician and a sfx artist, both of who I’m really excited to work with. I obviously can’t name names right now, but if things pan out it’s gonna be freakin’ awesome. Like, if you’re into game audio, you’re probably in love with them already. Even if you’re totally oblivious, your ears will soil themselves in delight when you hear their work. I’m really pumped at the prospect of having their fresh perspective and face-melting audio in the game!
Got more of level 5 done this week! The fifth level is one of the more complex ones, so it’s gonna take another week or two unfortunately. One source of the complexity is all the little set-pieces, like this tram scene for example:
You board the tram, and it takes you down an infinitely long tunnel. I thought I’d show how something like that is accomplished — and it’s not by just making a really, really long tunnel. Instead you use a little game dev magic!
The first thing to note is that even though it looks like it, the scene isn’t composed entirely of tiles. In the tile editor, it looks like this.
Most of the tunnel isn’t even part of the world! It’s just designed to look that way with large, repeating textures layered over each other in the background.
This week I worked on minor enemies, among other things! To start with, here are some you won’t be seeing much of in Bleed 2 anymore.
I’m not talking about the Invaders in general, just the ones with fancy hats. Originally I imagined the Invaders having different ranks, indicated by their headgear. You’d be steadily introduced to them as the game progressed and each rank would come with new abilities. For example, the highest-ranked Invader was the spec-ops Invader, who would jump over your shots and return fire.
It might sound good (and maybe that gif makes it look nice) but the reality is more like this:
I took it easy at a family cottage this week, but I still got work done! I mostly fixed up the environment art for the fifth level, which takes place inside the warship itself. Every time I make environment art and tilesets, I create little sample test rooms to try them out, like this:
It’s okay, but I think it’s too busy and lacks contrast. It also doesn’t seem visually connected to the previous level, which is the warship’s exterior.
I want the colour scheme and the general look to be different to keep things fresh and make it clear that you’ve reached a new level, but I also want it to seem like the two areas are related.
The fourth level is done!! Woooop! It’s been a while since I showed off a boss, so let’s do that.
The boss is a drone from the warship that spams chaff everywhere, which it then manipulates to attack you. I call it… the Chaff Spammer. Yeah. These names aren’t final, don’t worry.
I very nearly cut this boss — I really like the idea of its gimmick, but it took a long time for it to come together into something pure and enjoyable. I’m showing before-and-after gifs of its attacks, but they’re numerous so I’ve put them after the break.
Personal life took some time from work, but I’m almost done level four — just the bosses left to touch up / balance. In the meantime, let’s explore render targets a bit, since I used those this week!
The fourth level takes place on the hull of the warship, and at some point it starts heating up as it breaks the Earth’s atmosphere (interesting scenarios trump scientific accuracy, obviously.) You’ll notice the issue I was running into — you can see this weird grid effect when the ship glows.
So what up with that? Well, the ship is drawn using tiles, and in this case I’m using two tilesets — one where the warship looks normal, and one where it’s all fiery. The hotter the warship gets, the more opaque the fiery tileset becomes. The problem is that tiles overlap slightly — you never notice when they’re opaque, but when they’re transparent the overlapping edges blend together and cause that nasty grid effect.
This week I continued re-doing parts of the fourth level. It’s gonna take at least another week, but I hope it doesn’t take much longer than that…! I don’t want to show much of what I was working on, but I did stumble across a forgotten cache of old stuff from the original Bleed so I thought I’d share some of that this week. The centerpiece is an alpha of the original Bleed, from 2011!
You can download the alpha here. Revel in the ridiculous number of hit points each enemy has. Laugh at my delusions of creating 25+ bosses for the game. Be angry at how insanely hard it is.
This week was the start of fixing up level 4! A year and a half ago I’d just finished the background art for it and posted this image to Twitter. Weird to think it’s been that long.
Level 4 is the one I made first to test everything out, and as a result it’s one of the roughest. I have to re-do a lot of its layout, so I thought I’d document the process!
The level layouts are created in the 2D tile editor, Tiled. I try not be concerned with visuals at the beginning, instead just boxing in a rough idea of how the level will play. I do know how the level will look and what enemies will go in it, so that helps inform the design. I just need to get something on there, because a blank canvas is really intimidating.