Devlog 9th of February 2021 - Improved visuals, AI and reworks
Updated: Feb 9
Hello and welcome to this week's devlog! We have been hard at work getting important features up and running for a potential playtest that is happening by the start of next month. So this week’s improvements were heavily focussed on the most important features. There was also a bigger overhaul of systems in the game, mostly pertaining to cards and abilities as ScriptableObjects and a bigger rework of a few scripts. ScriptableObjects are easy to work with in the Unity Editor and are used to save large amounts of data, somewhat similar to how you would use databases, but instead of text entries, here you create an asset/object for each card/ability, and assign their values in the Unity Inspector.
We started working on an improved AI, before the AI would iterate over each of the seven slots in the safezone, and have a 50% chance to play a card in a slot, this means that the AI could potentially play up to seven cards in one turn, whereas the player is only able to play up to three, thus, it was reworked. In the game we have a parameter that we call “actions”, which you have three of each turn. You would spend an action by drawing a card and playing a card. We made sure the AI follows those same rules, and spends all three actions every turn, with a mixture of playing and/or drawing cards. The AI still performs random weighted actions. It has a chance to select a random card in its hand to play, and is more likely to draw a card when it has fewer cards in its hand. The AI now also has a card hand, to visualise to the player, the amount of cards it has. These cards show their back to the player, so the player does not know which cards the AI has in its hand.
We also worked heavily on some of the visuals, for a better user experience, mostly better visual feedback and differentiation between player and opponent units on the battlefield.
In this short clip we see that the player’s units have a green border, and the opponents have a red border, though this is not the final solution for this as it is quite small and hard to see, however any bigger would obstruct a lot of the detail put in the great artwork done for the cards. We also observe attacking animations, here, the attacking card rotates, signifying an attack and the attacked/defending unit spurts out blood, clearly showing which card was attacked. This is overall very helpful to give the user more clear feedback as to what is happening throughout the turn.
There was also work done on decks in general, before there was no real deck and the cards were generated when they were drawn. Now your deck of 30 cards is generated when the game starts. You can then see a list of all the cards in your deck, seen in the image below, which have been sorted after their type, so you cannot see in which order the cards are drawn.
A mulligan system is also implemented, so you can discard a certain card that you are not happy with in your starting hand, though this system also needs further work, as it is not very intuitive. To mulligan a card you have to drag it into the box next to your deck on the right side.
Furthermore there was work done on our deck building system, making use of the previously mentioned ScriptableObject cards. However, that is not ready to be shown just yet.
We would love to hear from YOU. You could give some feedback on the currently implemented features, have a great idea for the game or something else that could help us out. If anything is unclear in this or other posts, feel free to say so and we will ellaborate on it.
Next sprint will be all about improving the systems in the game, getting rid of objects not of use in the game at its current stage, for example, the terrain system, consistent UI on different aspect ratios, general cleaning of code and the project and much more!