June 2015 blog archive

This page contains all the blog posts from june 2015. To read the most recent blog posts, click here.

28/06 - Mercenaries : overview

I've begun work on implementing mercenaries into HD3. It's one of the older ideas i've had for HD3, but it has gone through a lot of changes, simply because it's a complex mechanic with many different elements and a lot of content, all of which having plenty of details that needed to be worked out.

A mercenary can refer to one of two things : a card or a boss. Cards can be collected and added to decks (one at a time). These cards are also one-use. The mercenary bosses form a seperate gamemode, and it will be the primary way of collecting the mercenary cards.

Due to the complexity and the amount of content involved in this feature, it will be implemented in steps, and a number of patches will be released to allow testing of these different elements. When it comes to content, knowing that every ship card in the game needs a mercenary boss and a mercenary card, it's very likely that adding in all these cards will not happen at once. I can't predict how much time it will take, but the plan is that this won't keep me from putting the game in beta, as long as there's a reasonable amount of mercenary bosses and cards available to make this entire feature worth player's time.

The first update will contain the basics of the mercenaries game mode, with a very small number of bosses. The general idea is that players will start out with 2 or 3 randomly chosen bosses per race that they have access to. Additional bosses become unlocked as players manage to defeat those that are available to them at certain difficulty levels. This unlocking system isn't going to be present in the alpha until a proper savegame system is in place. Bosses, once unlocked, also start off at level 0, and players need to defeat bosses at a certain level before the next level is unlocked (this happens in steps of two currently). This difficulty level affects many aspects of the boss : attack and defense will go up exponentially, while the strengths of the abilities, cards and global auras the boss has access to will rise linearly.
Since i'm treating the mercenaries in this game mode as bosses, it's perhaps no surprise that players don't duel a base that can launch ships and deploy structures, but that they'll instead face a single, powerful ship. This ship is not alone, as it will have a small set of support structures and actions, as well as several combat boosts that can do all kinds of things. To make this work, every boss has received two new passive abilities : 'unwavering' and 'draw damage'.
Unwavering makes a card immune to all forms of removal, which includes direct destruction and forcing cards to return to hand. Since the duel is over when the boss (instead of the base) reaches zero HP, being able to destroy the boss ship with a spark or force it to return to deck, would make things a bit too easy.
Since there's no base, and only one opposing ship, it would be difficult for players to do meaningful amounts of damage to a boss with ships. The 'draw damage' passive, available for ships only, causes those ships to draw all HP modifying effects (damage, gain or lose HP), aimed at their owner's base, onto themselves. So if you fight a boss and you have an unblocked ship, that ship will damage the boss in a combat phase, and thus you aren't forced to place your ship with the highest damage in front of the boss (where it generally won't live very long). This has interesting effects for cerberus and hydra passives. If you position a cerberus ship such that it can damage the boss indirectly, it will hit both the base and the boss. The base isn't there, but the boss will still draw damage onto itself, so that cerberus ship will damage the boss twice. A ship with the Hydra passive will always hit the boss twice unless it's located in front of the boss.

Currently, i'm working on adding in the first boss, based on the Vector card. Most of the work is actually in adding new abilities (the passives mentioned above), and new components for global auras. Bosses can have up to 6 combat boosts, based on the difficulty level. And up to 4 of these boosts are custom made for each boss. This potentionally means that a ton of global aura triggers, restrictions and effects need to be added to the game. Luckily, most of these will not be exclusive to mercenary bosses. The two passives have already been added to the custom card generator, and i'm gradually adding in the global aura components to the random combat boost generator.

21/06 - AI difficulty scaling

As part of last week's update, a first version of AI opponent difficulty scaling was also added. The only influence that difficulty had in non-custom games was that it affected the number of uncommon and elite cards in a deck. Higher difficulty basically means more higher-rarity cards in the AI's deck. For games with custom cards, the card generator used the difficulty level to scale up the stats of ships and the values of almost all abilities.
In older versions of HD, difficulty mainly affected the stats of the opponents base. Base stats will still be included in the new difficulty system, but the scaling won't be as extreme. Instead, the AI will receive several combat boosts.

The current difficulty scaling is as follows :
Base HP : starts off at 75 and goes up by 1 for every 4 levels of difficulty.
Starting energy : every 30 levels, the AI starts off with 1 random energy in stock.
Combat boosts : every 30 levels, the AI will have one random combat boost.

This setup has thus no extra energy generation and base stats (resistance, retaliation, mitigaion, repair) are also not affected.
The number of available combat boosts is relatively low as i don't want this system to be too random. The boosts mainly respond to things the AI does, like playing cards, or to board situations (f.i. the AI having fewer ships than the opponent). The effects of all these boosts are also relatively low-power and can repair the AI's base for a small amount, grant some base HP, or random energy.

This first version is not final, and can be tweaked if it turns out to be too difficulty, or not difficult enough. The point is not that the default duel against an AI get too difficult, playing games against an opponent with custom cards and a high difficulty level is already quite a challenge without this new system. There's one more game mode to be added before the game can go into beta, and this one will have its own difficuly scaling system, and it will get crazy.

There's one more update coming up under version 3.08, which will contain the settings screen. Once complete, i'll probably either start on the mercenary system (which includes the game mode mentioned above) or i'll first have a look at the flagship ability scores.

14/06 - Boost creation and modification

Originally, i intended to split up boost creation and modification over two patches, but things went a little faster than expected, so the next patch will see both features added to the boost screen.

Boost creation allows player to spend spare tokens on randomly generated boosts. Since the game can technically create more than 16.7 million different boosts, there are some options available to influence this process. Players can choose the major race of the boost, which matters in case the boost receives a racial restriction (as that restriction will be tied to the major race of the boost itself). Next, there are 3 options, each with a different cost, that allow to control the maximum score of the boost. Besides boosts with lower score being cheaper, players might want to stick with low-scoring boost since there's a cap to the sum of the scores of the boosts that can be taken into a duel. Choosing the option for a max score of 80 guarantees that the boost you'll receive will not have a score higher than 80, but there's no minimum score guarantee. When boosts are created via this screen, the game generates boosts until it has a set of 10 boosts with a score not higher than the selected option, and from that set, the boost with the highest score will be given to the player.

Boosts have limited uses, so when players find a powerful boost or one that matches one of their decks really well, they might want to keep that boost around. The modification screen allows to increase the number of uses on a boost, for a token cost. This cost depends on the score of the boost, so it will be more expensive for boosts with higher scores.
Other options include randomly changing the first effect on a boost, or adding (and then changing) a second effect. Increasing the number of times a boost can trigger during a duel is possible as well. The final option, available for every boost, is recycling, which returns a number of tokens based on the score of the boost.
The cost of boost modification goes up slightly even if the score of the boost remains constant. There's a 2% cost increase for each time the boost has been modified, up to a maximum for 100%.

For testing purposes, the costs of creating or modifying boosts are currently not subtracted from the total number of boost tokens a player has collected.

Here are screenshots of the create and modify screens :



07/06 - Boosts screen

The combat boosts screen has to serve several purposes. Firstly, it can be used to browse the boosts players have collected thus far, and to select those boosts that need to be active for the next duel. Second, it allows to create new boosts using boost tokens players have collected, and finally, it allows to modify collected boosts.

The first part is almost complete. Since the number of boosts players can have in stock at once is limited to 21, all of them are visible on the screen at once. Each boost shows its cost and the number of uses it has left. Clicking a boost brings up the usual card popup, which in turn can be used to select a boost or modify it. Up to 3 boosts can be selected at once, and will appear in the top portion of the screen. Selected boosts are those that will be used in the next duel that a player will start (assuming that duel supports combat boosts). The sum of the costs of the selected boosts can't be higher than a value that depends on the player's level (but a suitable value still needs to be figured out).
In a next step, i'll hook up this screen to the battle setup screen and the opening hand screen, which means there will be two places from where players can access this screen and thus change their selected boosts. Then i'll also remove the automatic random boost generation which was added in the previous patch for testing reasons, and instead, the game will now take the boosts that have been selected in the boost screen.

The second purpose of the screen is creating boosts. Players will eventually end up with a number of boosts they can't use. These can be recycled (via the modify mode) which grants tokens. The same tokens are also gained from winning duels. For testing purposes, being able to create boosts is important, so it's likely that i temporarily make this available without the token cost, at least until the recycle option is in. Gaining tokens (or even complete boosts and other cards) from winning duels will be looked into once i finalize droprates and dificulty settings.

The final mode allows to modify boosts. This is the most complex of the modes or purposes of the screen and will be kept for last. A number of things will be possible here, ranging from increasing the number of activations per battle to adding or changing the effects a boost provide upon triggering. All of these changes will come with a token cost, which depends on the score of the boost. Most modifications will also change the score of the boost (both increases and decreases will be possible).

The plan is currently to add in a basic create mode (without token cost) so that testers have more control over which kinds of boosts they can test alongside their favorite decks or tactics. The modify mode will then be added in a seperate patch.

Finally, here is a screen shot of what the boost screen currently looks like. The "MAX" in the selection score label is where the maximum combined selected boost score figure will go, once i've decided on a final number based on player level.