Yo yo!

Here’s the interesting new stuff from the last two weeks.

Abilty system rework

I spent most of the first week re-coding and reworking everything about the ability system. The old way was shit, designed to be used in a different way to how I wanna use it now, and it was really slow and long-winded to add new abilities. Now it’s not!

The new setup is way more flexible and allows me to do things like check if you successfully hit anything using an ability, and reduce the cooldown of the next use if you did. Abilities can now be used multiple times in a row before starting the cooldown. That sorta thing. It’s pretty cool and makes the whole ability system a lot deeper, and now skillful players can be rewarded.

The UI for using abilities was all tied in with the code before, and I had to make a new button for every ability I added, and then add it to a list, and then add it to another list, and then set all the properties, and then… and then…blah.
Now I can just copy a definition and change the bits I need to and it’ll automatically get loaded, parsed and handled by all of the other game systems. This has made it so much easier to quickly get new abilities in – and this is super important when I want millions (well, at least a lot) of different abilities available.

Abilties

I’m still not sure how to handle unlocking/awarding new abilities as you play the game. I want there to be enough available that every time you play you’ll have a different set. I’m trying to design them with synergy in mind, so that they’ll all work well together when used in different combination. I’m trying to avoid “press a button and everything dies” abilities as they’re boring and don’t require any skill. I actually made one like that this week and binned it off because it was so boring and has probably been in every shooter game ever.

There’s tons of stuff still to figure out. Which buttons to use, whether to group abilities by button, should they be drops, etc. I’m gonna be trying more stuff out and asking for feedback over the next couple of builds.

For now, and so you can try the new abilities easily, every time you start a new level, you get a different defensive and offensive ability, along with the speed boost. This is not permanent – it’s just until I figure out a good way of handling it.

I made a bunch of new abilities. These all have placeholder art and they’ll probably all be tweaked code and gameplay wise too. I made a few more that I didn’t keep as they turned out to not be fun.

Timeslow Shield

This now has two modes. If you fire it without aiming, it’ll stay stationary, like it did before. But if you aim it, it’ll move slowly in that direction. I also made it a bit bigger.
I made it move so you can use it to break out of corners, or approach a turret. It’s a bit more versatile having both modes.

Laser Link

You fire this one (aiming it like a normal weapon/shot) and it’ll shoot a mini remote out in that direction, that comes to a stop and shoots a friendly lazer beam back at
the player’s ship. The laser sticks to you as you fly around, so you can launch the remote behind a bunch of enemies and then keep moving your ship to melt them all. I like this one as it emphases player movement and positioning.

Here it is in action, working well with the new version of Timeslow shield to snare the enemies first:

Speed boost

This is a simple ability that increases your movement speed by 50% for 5 seconds, with a 15 second cooldown timer. A lot of people were asking for something like this when backtracking through larger levels. It helps a lot. You always start the game with this ability, and it’s bound to the A button.

Deathrow

Kills everything in a line. Get it? It’s basically a railgun. I really have fun using this one. It takes some practice to get the hand of, but it’s really powerful. If you hit something, you can use it again instantly (upto 3 times). After 3 shots, or you miss, the full cooldown kicks in.

Buzz saw / boomerang

I’m still not really sure what this one should be called, but I’ve increased the cooldown from 7 seconds to 12 seconds to bring it more in line with the other abilities.

Barrier

I wanted to try an ability that helps you control the play space. This one creates a barrier that enemies and projectiles (yours too!) can’t pass through, but the player ship can.
With a bit of practice it can really help divide a large enemy force into manageable chunks, letting you deal with the higher threat targets first and block off the others for a short while. It’s also great for creating choke points… lining thing sup nicely for the Deathrow ability, as seen here:

The Great Outdoors

Space is boring. Really boring. Black everywhere, with a few stars. Everywhere looks mostly the same.

We’re trying to make our “outdoor” levels a lot more interesting than you’re typical space scene and bright and colourful. The first outdoor tileset (work in progress! early days!) is now in. There’s no new enemy types or missions specifically for it just yet, so for now it’s just another pretty place to shoot stuff in.

It’s pretty open and bare, we’re not spawning any props or anything inside the rooms yet. So it really is just a preview of the tileset.

We’ve also spent a good chunk of timing setting everything up so we can transition between indoor and outdoor tilesets, within the same level. This means we can make some really varied levels.

I only started spawning enemies in it at all this morning so there’s tweaking to be done – it can be a bit hard to see the enemies clearly at the moment, but I think it’s really awesome to have a change from the indoor levels!

There’s lots of work still to be done, missions, enemies, more rooms, more everything, but we wanted to get it in so you can at least start flying around it :)

Thai has been making a bunch of changes to everything to get this working art wise, and I’ve had to make more code changes as well.

I remade the room culling system again to handle this sort of setup better and made the indoor rooms automatically create black proxy meshes for when they’re visible from outdoors.

General / Gameplay

Here’s the bulletpoints for stuff that doesn’t need much explanation but is still noteworthy:

  • You now start a new game with full shields (3) instead of 2.
  • I increased the rate at which missiles start to turn faster, so the don’t end up circling the player.
  • Projectiles can now be set to stop when they hit a wall. I’m using projectiles for firing remotes (Laser Link) so I needed them to stop when they hit things!
  • Fixed a bunch of places where the player’s aiming laser would hit invisible things
  • Reworked the pickup system to be more generic and more useful
  • Reduced the hit flash effect!!!!! (thanks for the many feedback reports about this haha)
  • Added some performance tracking stats (press F2, mostly for us, but if you get really bad performance in a particular spot, press F2 and send a screenshot!)
  • I broke reflection probes again. I hate these and the unity docs lie. I still need to fix them, so they’re making some of Thai’s art look not how he wants :)

    New build!

    As usual with these blogs, I’ve just updated the Facepunch Prototypes build on Steam. Have fun and let us know what you think :)

    Next Time

    Abilities

    Gonna keep adding new ones and we need to decide on how we’re gonna handle awarding them, and prototype a version of it.

    Outdoors

    More content – missions, enemies, props, layouts. So this’ll probably be a big focus. I’d like to start trying some new enemy ideas with placeholder art (spheres and boxes) that take advantage of the extra “space” of Space.

    Other

    Less blue.