Dogfights

As I mentioned in the last update – I’ve added a bunch of instant action scenarios. I’ve been meaning to do this for a long time but didn’t have quite concrete direction in my mind. Via talking to players the idea crystallized – dogfights.

I hear feedback that some prefer the RTS aspect, or that they prefer the “first person” aspect, but don’t get a chance to pilot ships due to needing to be in tactical mode. My response is – play how you enjoy the game – not how you perceive it to be most efficient. This I believe that players are often “guilty” of doing and I have to admit that I do this too. In Void Destroyer I say that It is ok if some of your ships die – you can re-build them, that’s the great thing about games, no one is getting hurt.

I happen to think that Void Destroyer has the best space combat around – this might be a bit on the crazy side (considering my non-existent team and budget), but I truly believe it, though I admit that I probably brain washed myself over the years. This feedback is often on my mind and I think it is a waste for players not to get a healthy dose of this aspect of the game. So I decided to do a very simple thing – give players a quick and easy way to enjoy dogfights in Void Destroyer via instant action scenarios.

I believe I mentioned this before – the beauty of instant action scenarios is that they can be exactly configured – and I as the designer can know exactly what the player will have and what the player will face. Versus – in the “story” mode of Void Destroyer – the player is free to decide on their fleet and can lose and gain ships along the way depending on the fortunes of battle. So it is a great thing that both of these design choices are present in the project.

So these new instant action scenarios lean heavily towards ship to ship combat – especially fighters. For example – in one of the earlier ones your task is to protect the command ship – Wardrum. In the “story” mode of the game – this would be much harder to pull off – because the player can simply fly the Wardrum out of danger. But here the player can only pilot fighters, the Wardrum stays put and isn’t something that can be manipulated. The loss of player control gives me greater options – and gives the player a more focused experience, so the player can enjoy dogfights without having to worry about fleets.

Other cool aspects, one of them is that via contorting the player and enemy ships – some of the factions that don’t have larger class ships – aren’t push overs – now that the player doesn’t have a swarm of frigates in the fight.

Another great aspect is that I can be a bit more brutal – for example I can swarm the command ship with (many more) hull crushing drones – because the scenario is optional and not required to continue on the story of the game. Beating it can be its own reward – a source of pride – and the player is allowed to continue playing the scenario even if the command ship is destroyed – something that would usually result in the game being over in the “story” mode. The player can still enjoy the ship to ship combat until either all enemies, or all friendly ships are no more.

 

Happenings – and big changes – Pt2

I hit a bit of a wall with the “Hub” mission – it is a beast, but great things resulted from wrestling with it. For one – I fairly recently – added a “resource request’ system, where the player can request resources from friendly bases. This system only worked with “in sector” bases. It was added to help with the Hub mission and missions after it where the player has access to multiple friendly bases (through conquest!), but the Hub mission needed this system to work with “out of sector” bases as well. Adding that felt “complete” – it didn’t make much sense that you had bases that could build ships and send them through a gate to you, but not send a transport ship carrying an ore pod, so now you can.

The next big change is the ability for the player to define ship’s “posture” (as I call it internally in code). This is a fairly simple system which mostly determines ranges at which ships target enemy ships. Simple, but very powerful, for example if you set the distance to be very short or non-existent then ships will stand still (or in formation) and ignore enemies. Normally that would lead to death – but in a few missions it can be much better tactically to stand your ground rather than rush ahead into enemy defenses and ships. In a few missions in particular not being able to do have ships stand still would be greatly frustrating, they were too independent in seeking out targets.

So the three “postures” that I’ve made available to the player are (names pending):

 

HOLD – ships generally ignore enemy ships, but turrets still respond to enemies and fire

ENGAGE – the default posture, ships engage other ships in “combat range” (which is usually defined as a bit further than weapons range)

SEARCH AND DESTROY – ships will scour the entire map for enemy ships and engage

 

So these basic three give a lot of power, tactics and control to the player. For example search and destroy can be extremely useful towards the end of a mission where you basically defeated the enemy and want to mop up. It can also be very useful when you have several battles happening all over the area, and don’t want to micro manage your ships, instead you want them to seek out targets. This can also give you the opportunity to dogfight or manually pilot, knowing that your forces are engaging enemies on their own.

These highlight the several ways that the player can control their ships in the game. They can directly pilot, they can issue commands to a ship or group or ships, or they can say – have at it. Each level decreasing fine control – and each level having its own merits.

There is a bit of a story of how search and destroy came about – originally I gave it to enemy ships. Often in the game there are mission scripts that wait for enemy ships to be destroyed. This means that it is important for enemy ships to bravely seek out combat and die. Otherwise an enemy ship might be sitting still in some far corner of the map and the player is left waiting for the next leg of the story being blocked by some wayward ship. So search and destroy was given to enemy ships so that’d bravely throw themselves at the player – wherever they are.

The need for this became apparent for me during a play through where a physics glitch pushed a ship into the outer edges. I then added the search and destroy posture and the enemy ship rejoined the fight. I originally didn’t intend to give this to the player – but right after I did – it became apparent how great this is, I use it and enjoy it often in my play thoughts and tests. In terms of mission scripts, I often use it to

 

The other big news is that I decided to do something about instant action scenarios. I’ve been planning them in my head and finally got down to writing them. Some are fairly simple and others are fairly complex, but they work in a bunch of ways with the strengths and uniqueness of the game. Going to do an update later to talk about them in more detail.

Happenings – and big changes

I polished the “alternate” paths to the story line I talked about in the last post. They weren’t as bad as I thought, I had to decide where to force certain things and where to keep them open ended. I do my best to hide these things from the player in – hopefully – clever as I can be ways.

For example – it would be very hard for the player to destroy a ship, a ship that I need to be alive for the next few steps of the story, then the player can either wait a bit then destroy it or destroy it right away. So anyway the “clever” trick I do is to make the ship immortal. Ok before you start rolling your eyes – what I also do is allow the player to damage it up to a certain point. Still rolling your eyes? The final clever aspect is reducing the amount of damage it takes. Setting the ship to be immortal ensures that it will be still alive, but setting the damage reduction hopefully keeps the immersion of – you can do anything – intact – while increasing tension – ooh the ship is so tough!  Once the ship does what I need it to do in the story I set it back to normal. So I am sure that it will do steps 123, and then leave 456 up to the player.

After a bit of polish – I added another mission to the game – this one has what I believe to be a very unique fight. It’s different from all the other fights in the game because it doesn’t have the usual swarms of ships or fleets versus fleets deciding who wears the space pants better. The battle has a different flow and at the end of it I hope that the player feels like an absolute warrior. I’m very proud of that section of the new mission.

However – the segment following that was fairly similar to previous encounters – swarms of ships, I toss in a bit of variety in there, but it feels off, still its place in the game might dictate how it should be and there’s not much to do to change it.

———-

With the new mission added – the game needed its final mission and I have a pretty clear idea what it is. Although I was very excited and happy about this – I really didn’t feel like working on it. Having played the earlier missions I kept seeing issues that I wanted to resolve, change, polish, etc. So I decided to do a run through the game from the beginning (something I haven’t done in a while).

I decided to go through the game and treat every mission as final. If I see an issue – I fix it – versus leaving it for later as I sometimes did before. That is the goal – and for the most part I believe I succeeded.

There’s been a tremendous amount of tiny, small and big changes over the past few days. It’s actually a bit scary. Tiny ones like changing which music plays, moving a camera in a cutscene a bit to the right (due to having scaled up an object [months before] and that now obscuring where I wanted the camera to look). Small ones like changing the number of ships in a map and huge ones – like changing the way bases build ships.

Having played and worked on the later missions – I realized that ships build too slowly. Often I wouldn’t want to build fighters because it would mean having them take up a slot to build a frigate or larger ship. To put it into a perspective – rebuilding a wing of 20 fighters would take 10 minutes, that is 10 minutes of not being able to build another ship. So the solution that I decided to take is to allow bases to always have a slot to build fighters – so a base can build a fighter and a non-fighter class ship. This basically means that building fighters is a given in bases (stations still have the same limitation as before – one ship at a time).  Still the 10 minute aspect remained – though now you could build a fighter and another ship – it would still take 10 minutes to build that wing of 20. So I reduced fighter build times, and kept going and did the same to corvettes and frigates. I looked at enemy ship build times and adjusted those as well.

This has the aspect of affecting enemy bases as well – something I decided was only fair. This means that enemy bases attack more frequently. This is a bit scary – worrying about players new to the game. But the aspect of them being able to build ships fast should take care of that – and result in more action and space combat. Either way this is necessary for the end game, so it had to be done.

There have been a lot of other changes, and now I’m close to the 1/2 way point of the game – today I added functionality to get resources via gates. I’ve fixed numerous tiny issues and put in numerous improvements, I’m feeling very optimistic about the game – that I will be very proud of it for years to come. As always there is a long way to go.

The grind

So last week I wrote about the grind, and during it – I was having thoughts of why I went down the “story/mission” path and how instead I could be happily coding additional features of sandbox game play. These thoughts are fairly useless because the path is set and sandbox game play is something to look forward to in the future. Even more useless considering that I have to power through these moments versus thinking what I might have done wrong or better – in hindsight.

 

Well last Monday the grind started clearing up when the mission finally tarted taking form. The many elements and goals of this particular mission started coming together. To give you an example – for the player – there are two new build able stations, two new destroyer class ships and new command ship upgrades. These come at a cost of intense battles, retreats, and advances. That’s even not mentioning a few other surprises.

As usual it got me pretty excited and happy. I think this is one of the best missions yet. It has this (particularly) neat moment that I hope is very memorable – and the post moment big battle and (hopefully) victory even more so. I was so excited by the battle that I asked my sound designer for a new music track – so that the player feels that bit more excitement via a new musical piece. The battle was so intense that even though I lost the Mark 13 – a ship that I’ve been carefully keeping alive in my fleet – I didn’t reload the game as usual to try to protect it via another try, she died in a worthy battle.

 

So what’s left to do before another iteration – I have to seriously work on some potential alternate paths that might form. For example – the player receives A from B – but what if B has been destroyed? That sort of thing. There are surprisingly a few of them.

 

Even better news is that I have the game’s ending fairly well defined in my mind.

Achievements and the grind

Bit of news – Steam achievements are in.

The ones added are about 1/2 to 3/4 of “story” based achievements. So fairly basic ones that you’d expect to unlock just by playing the game. Because the game has some challenging missions I hope that these can be a sense of pride for the player and add a bit extra satisfaction to conquering a goal. There are also a few achievements obtained when straying from the path of the main story and doing somewhat unusual things. I hope to add to these story based achievements in the near future and as the story portion of the game gets completed.

 

So the truth is that I didn’t give achievements much thought up until recently. My own personal experience with achievements is mostly take it or leave it situation, but as a developer I have to try to maximize their potential value.

 

So brainstorming on achievements and their value:

  • Cool art work for player’s to enjoy
  • Clever name/description of achievement
  • Cool art/clever description to entice a potential player
  • Passing a particularly hard stage
  • Displaying on Steam profile page
  • Marketing aspect of friend seeing a unlocked achivement
  • Completing 100% of the game
  • Statistics and game info – N% of players unlocked achievement ABC

So clearly achievements can have a lot of value. I hope to take advantage of them and to use them to boost player enjoyment of the game.

 

The other happenings are the new story content. It is going well – but I’m feeling the grind. In working on new story content I tend to replay a mission over and over. In this particular stage changing earlier enemy attacks, or happenings in the mission can have big consequences on later missions. So I often need to replay the mission from the beginning, this is wearing me down a bit. It is strange because I think that for the player this will be one of the more exciting missions, tons of combat, building defenses, swarms of enemies and the ups and downs of battle. I hope that it turns out that way.

The grind however – doesn’t impact me when tweaking/adding new features and bug fixing. A very good sign, I often think of the future of Void Destroyer – whatever shape it takes – and constantly adding new features towards a sandbox type game. Oh to dream :)

 

 

Iteration 21

Put out Iteration 21 about two weeks ago, but finalized late last week. Happy about that and then once again hit my “post bigger update” slump. I did a bunch of house keeping type things – making new assets and prepping others.

I knocked together a new ship – I had a fairly unfinished ship that I chopped up, combined with other parts and textured to create a “bounty hunter” corvette. It turned out pretty well – however it is a bit lacking in detail compared to some of the other ships. Adding this new ship meant that I re-balanced some of the bounty hunter fights and then even further modified one of the missions and to flesh it out some more. I almost forgot that I did this – I guess I’m a bit more absent minded than usual.

Speaking of new ships – I put in a ship that’s been hanging around – unused – for a few years. It was driving me a bit nuts – its shape wasn’t working for me when I looked at it in game – so I actually cut it in half then took the front half and flipped it 180 and then re-attached. Now the new carrier looks pleasing to me. I spent a bunch of time on tweaking its texturing to finalize.

And speaking of new assets – I needed a “destroyer shipyard” so I split up the existing “frigate shipyard” into a smaller platform, and re-purposed the original shipyard as a destroyer shipyard. Oh the things we must do when there’s no 3D modeler available. I’m glad that the model was so versatile and detailed to be able to create a smaller asset from it.

Other things – re-balanced /scaled missiles and torpedoes. Re-scaled all the fighters – decreased them by another 25% – I’m happy with their scale now – they look fairly small compared to larger ships :) And scaling them down has the added benefit of making them survive fights against larger ships – since they are 25% harder to hit in a sense. I prepped and tweaked a bunch of other assets – including scale.

So now that I look back at the above I actually did more than I thought – and today I started on new story content. Its getting close – I’m nearly done adding ships/stations/etc into the game that have been sitting in my dev build – exciting times – but a big challenge is coming up – how it all ends and begins.

New content nearly ready

I thought that the new story content would be finished today. What was left was final play testing and balancing. During play testing a few issues popped up – one was pacing. The mission went a bit too quickly into a huge battle, I added a slightly smaller battle ahead and spaced out the subsequent battles more via timing. Then I got my butt kicked, which – by itself – not terribly surprising was surprising to the how much, it was a slaughter. The other aspect was that there is an optional “secondary mission” that needed some ships and that just wasn’t going to happen either.

So I thought about this and listed my options. The usual approach would be to tone down the attacks and reduce the number of enemies, but the fights felt really epic. So how could I keep that epic feel but give the player more tools for survival? The answer was more defensive platforms. So I whipped up a few more via Blender and modding/chopping up some existing ones to make variants.

Speaking of existing platforms – an earlier mission has the player dealing with defensive platforms that create mine fields, these shoot small but fairly fast moving mines. There’s also some bigger mines that I wanted to use here, but didn’t have an asset/method to get these larger mines into the game world. So I stumbled upon the idea of “building mine fields” like you build platforms/stations in the game. I don’t think it is too big of a stretch or immersion breaking, the method feels fairly reasonable and logical and about 30 minutes later it was in the game – easy peasy.

I hope that adding more defensive platforms, and this new “build a mine field” method only makes this mission more epic.

Bits of new content and happenings

A bit of new content has made its way into the game, about 10-15 minutes worth – so fairly short, more of a transitional stage to set the mood and offer a bit of new surprises. After that I got a bit stuck on the story, I have a general idea, but I just have to slog through it.

Since the slog was very rough going I decided to put in multi controller support. This was brought up again on Steam forums (was brought up before on Void Destroyer’s “official” forums and on Kickstarter feedback prior), but this time, with the slog I decided it would be a good time. 

To put in multi controller support – I needed multiple controllers – fairly obvious eh? So I went to Best Buy (I didn’t want to wait for Amazon to ship one to me) and bought a very simple/inexpensive Joystick. So now having two joysticks, multi controller support was fairly quickly added. It is pretty neat – I mapped the joystick in my left hand to control lateral thrusters and the right to control ship turning. Player’s on Steam (that were requesting the new feature) gave it some paces/tests and reported favorable outcomes as well. One player even requested that I add controller support to Tactical mode – to me a bit of an odd request, but there’s no in game reason why not, so that will be added a bit later. Having multi controller support makes me want to purchase a fancier HOTAS type device(s), but for now other issues are more important.

Iteration 20

With the boss fight complete, and the story being at the point of a fairly easy cut off point – I called Iteration 20 done. Next up iteration 21 :)

So as usual at the “end” of an iteration I do play testing, during which I tend to make tweaks and add polish. I did a few of these and I’m very happy.

The first one was the way that ships target, prior – ships tended to get the absolute nearest target within weapons range. This meant that battles often looked like swarms of ships versus one unlucky – closest target. A slight – pick from 4 nearest randomly – tweak and battles are a bit more varied. A added bonus is that ships now last longer (not having so much fire focused on them) which helps in the – make battles longer – department. This also means that players piloting ships will have a greater chance at survival – taking out some frustration from that game play (getting blown up) and at the same time making the tactician player – the one issuing orders – a bit more valuable since focus fire isn’t a given as it was before.

Another tweak was where turrets aim on a target. Prior to the tweak – turrets aimed dead center on a target. This was fine back in the fighter versus fighter days. On a small target – hitting dead center isn’t as apparent/visible. But on larger targets this becomes a fairly glaring/obvious thing. Especially on the new mega huge boss. A tweak later and turrets aim points get off set a bit. But turrets weren’t the only ones to do this sort of aiming, so did missiles, and so did ships themselves (whether dog fighting or larger ships with cannons as their primary weapons). These too were tweaked, and the change is very noticeable.  Battles look a lot more organic with fire being spread over a target’s hull versus focused on one central point. And since fire isn’t dead center – there’s a greater chance at missing – which is actually a good thing. The same reasons as above with the targeting tweak – battles have a chance at lasting longer and  once more it gives the player piloting a ship a greater chance at survival via dodging.

The flip side of this – and a constant reminder that Void Destroyer is a bit of a different beast, when piloting a ship – the player’s guns should aim dead center – otherwise it looks incredibly goofy for the turrets to fire off to the side, it feels even more odd. So once again things have to be tested at least twice, once from the RTS perspective and once from the so called “first person” perspective. Can’t say it isn’t amusing though.

With the new enemies – we welcome back shields. Shields were added to the game a while back, but then taken away and not seen for over a year or more.  Shields in Void Destroyer – are unique – they aren’t a bubble that covers the entire ship – like in Star Trek, they only cover a particular area. So the new shields combined with the “don’t aim only in the center” tweak have a nice synergy – they get a chance to be hit more often. A tiny tweak – but having a very big impact.

A few tiny tweaks post iteration 20 – gravity drive has been tweaked so that the AI doesn’t start attacking a target – while still in gravity drive, which resulted in some strange behavior as ships at high speed would alter their paths. And I finally got around to working on the – decide to use gravity drive or normal engines – code for targets that are somewhat far away. Before the decision – based on distances – was incredibly simple and flawed. Now the full distance of both options is calculated and compared, so this should eliminate some anomalies.

Adding the new shield code got me excited to create a KS update video, but while making it I realized that it was more fun watching it than hearing me talk over it. So I made a trailer, then made the “talking” update.

Here’s the links:

Trailer Video

Talking video

What’s great is that the trailer was picked up by RPS and they wrote a article about Void Destroyer. Getting more exposure is always a great thing for a fairly unknown project like this one. I hope that one day people mention Void Destroyer along other space sims and RTS games, like I often see done with other more known projects. Here’s a link to that RPS entry (what I think is funny is that this piece appears nearly a year after the first one they did – during the end of Kickstarter – last year). Either way – its a big deal to be mentioned since there are many many interesting indie projects fighting for these spots. I hope that one day I’ll take these for granted, when Void Destroyer is super popular – a man can dream – for now they are minor miracles.

What’s very interesting is that right after the RPS piece – YouTube was a bit swarmed with “Free Download of Void Destroyer!” videos, it seems that these pop up automatically via bots. I checked one of them out and it wasn’t an actual way to get a pirated version of the game, so would be seekers should be careful and hopefully rather buy the game via Steam. Either way YouTube took them down fairly fast, it seems that this is an issue that happens a lot and that they have their own methods of dealing with. Battle of the bots.

 

In a bit of another more personal news – this week was the Steam Summer sale – the first one that I got to experience as someone selling a game on Steam. There was very little chance that Void Destroyer would be featured on the front (as little as any other unknown game – so basically a fraction of a fraction of a percent), and it didn’t get featured. Still sales bumped up a bit – though prior to that sales dipped, so people anticipated the sale, thus didn’t buy much, bought during the sale, and now will probably take some time to recover before buying again. At least those are my guesses.

Another aspect of the Steam Summer sale is that I bought a bunch of games – at huge discounts. So I recovered a bit mentally via playing a bunch of unique indie games, and one or two AAA games here and there.

 

 

Getting the fleet ready

There’s been a fleet of ships waiting to be put into the game and the time has come. Some were already in the game – for use in screen shots and videos so – not always all the way in, and sometimes causing crashes depending on circumstance (eg: firing a weapon, or dying – the assets not existing or being changed causing a crash). So that is what I’m doing right now, going through the fleet starting from the drones and calling it a night when I got to a destroyer. Making sure that sound assets are right, that particle effects match the projectiles/missiles, that turrets have proper skeletons and that debris exist for when the ship is destroyed.

 

Adding a ship to the game is easy, but adding a bunch gets repetitive, luckily adding a ship includes testing it – something that I very enjoy and I get to add it to a testing map where I look at the fleet as it grows. Though what strikes me is that the fleet as it currently stands is uniform in terms of weaponry – I’m going to have to tweak some ships to be a bit more unique and memorable.

In other news – I spent the week still working on the new story content, this leg of the story had a bunch of particular loose ends to be filled in. Including fully adding some new features to the game engine, and resurrecting some very old features and getting them ready for players that enjoy nosing around into things. The story portion is very particular so I had to think of a few different out comes and plan for those, basically adding “non death” failure states, in case the player doesn’t do what I want the player to do I have to make it clear that the path is back in the other direction. I have to be vague about it here because saying what exactly I did would spoil a bunch.

So as I’ve been working on story content I’ve been thinking more and more how long it takes to add an hour of story game play, it appears to be about a month per hour. I hope that the end result is as good as I think it is (I’m pretty proud of it) but then again maybe it is held up by paper thin illusions? I tend to be very surprised by what players actually do. I’ll have to wait and see. With this content the game should be at about 50% completion story wise – so in thinking of the month per hour time line – I’m really hoping that the ending 50% of the story is going to go much quicker, and it should the way I imagine it, much less talking and much more explosions.

Another bit of news – some new HUD additions, replacing my terrible art, hoping for more very soon.