Well, I’ve fixed the new ship type.
- Instead of moving forwards and firing sideways, it hangs around like anything else and constantly shoots diagonally in a shallow V.
- It’s now fast but it accelerates slowly, taking time to build up speed, and taking time to stop again after a motion. That makes it feel ‘heavy’ and be slow to react, but it’s still capable of crossing the playfield quickly.
Amusingly enough this makes it more like a ‘heavy’ fighter in Street Fighter/DoA etc., ie. Fight Back’s inspiration, rather than a ‘heavy’ ship in a traditional vertical shmup. I tried to bring in some shmup inspiration and ended up coming back to fighting games for ideas – I guess though Fight Back’s a shmup in presentation it’s a fighter in feel, and minor elements you’d expect from fighters feel more comfortable.
With those tweaks it serves the same purpose – cutting the play space up – but it can get to things quickly and be awesome to play as, just like any other ship. I think I’m happy with this kind of heavy ship now.
Next up is figuring out sectors two through four! With that in mind I’ve been redoing how the ships are set up for each wave.
I’ve been experimenting today with a new type of ship in Fight Back. A whole new class of ship, in fact.
The “Barrage” ship, namely that fat thing that’s firing sideways, has no AI whatsoever and flies steadily down the screen and off the other side, periodically shooting sideways. Slow, heavy ships like this are a traditional way of mixing up the pace in shmups, so I thought I’d give them a shot.
Turns out they’re (predictably) rubbish to play as because they’re so slow. I tried turning them into a kind of ship that can’t be player-controlled, but turns out that’s confusing, as the rules suddenly get more complicated. It’s also diluting the uniqueness of Fight Back by nullifying its core concept.
In short, I need to either find a way to make this ship concept (a heavily-armoured, slow-moving obstacle that fires sideways and cuts up the play space in a consistent fashion) fun to play or I need to ditch it. I’d really like to be able to keep it, since workable designs for some common slow, heavy ships would give Fight Back way more variety in action. Guess I’ll have to think on it over the weekend!
The most consistent feedback I’ve had about Fight Back is that it’s hard to tell when you’re about to die. I avoided putting a health bar in for as long as possible, relying on smoke, visible damage and the general ‘feel’ of having taken damage, but I’ve finally been experimenting with one today.
Here’s the first version I tried, with RTS-style health bars over everything.
Clutter city, am I right? And the health bars don’t really stand out, either.
Firstly, I realised there wasn’t much point to having health bars for all the ships; the important thing is knowing what your health is. Secondly, the appropriately-coloured health bars are bad. If the health bars have the same colour scheme as the ships instead of the UI, then they disappear into the scene.
I’ve been somewhat distracted by Portal 2. It’s pretty awesome!
In development news: I’ve set up a potentially-final menu layout. It’ll look prettier before the game’s done, but the functionality is there.
Check it out. Placeholder splash screen:
Amazing, right? Still, it stops the game from starting music immediately, which was bugging alpha testers.
More importantly, I’ve spent most of today totally redoing the tutorial. Fight Back is quite a mechanically complicated game, and it’s doubly cursed by being so fast-paced there’s no time to experiment with things. That means it needs quite an intrusive, structured tutorial to make as much sense as possible on the first run.
The sucky thing about changing how all enemies and allies behave forever? Everything needs to be rebalanced. Between that and AI work I’ve got nothing really new to show today. Still, my AIs are believably stupid now and the difficulty curve’s starting to get back to fair.
Next week I’ll redo the tutorial and finally start work on that main menu business. It’s long overdue!
Until today, Fight Back’s AI ships were simple creatures. They operated by blindly pressing buttons at random. They weren’t easy to beat, sure, but they were stupid.
Now they are smart like fox. I’ve developed the new AI by building it to play the game against the old ones. It’s now better than I am. Here it is taking the current level 20 boss on, with some debug visualisation:
I’m using a sort of heat map approach – a combination of long term planning and short term reflex avoidance. Green squares are places it wants to be. Red squares are places it doesn’t. That’s how it gets around, lines up in a shooting position and dodges bullets.
The first step in writing an AI is making it perfect. This guy’s still a long way off, but it won’t be long! The second step is making it human – giving it human failings like reaction times and a longer decision loop, then teaching it to compensate for those with smarter, fuzzier decision-making. That’s the stuff I’ve got to get onto next, because if I use this AI for all the enemy ships right now the game is hell.
I’ve been playing with damage effects. I’ve also recoloured the bullets from the sidepods so what pickups do is much more apparent.
Sadly it’s still not that clear. I think I’ll play around with procedural effects for damage tomorrow, change the smoke trails that indicate damage and change the pickup icon in the bottom left. (No, it’s not a pause button!)
I think the experimental phase of Fight Back is done now and I have a fairly good grip on the core mechanics. That means it’s time to stop playing around and plot a course for the end of the project.
I started playing through the Metal Gear Solid series again a few weeks ago. MGS1 was great, but even the Twin Snakes version is obviously a bit dated. I’ve just this evening finished MGS2, which feels much more current. The cutscenes don’t half go on though, do they? Perhaps the worst excess in MGS2 is when characters repeat themselves – they literally say the same thing twice, and then other characters will rephrase the same thing again if asked, and so on. Still a phenomenal game, though.
Work on Fight Back continues. I don’t have anything to show for today as such, but I’ve been playing around with the difficulty curve + the AI’s capabilities and smoothing out a few other rough edges. I think I’m mostly putting off adding in non-fighter ship types and bosses and setting up a menu and so on. Maybe I’ve hit the point of project fatigue, but I’m determined to start things I finish instead of hopping projects. I’ll just get on with it tomorrow!