Wednesday, May 3, 2017

Design Dive: Interface/Game Feedback Part 1

Hail, Wanderers!

I'd like to start this design dive with a story that, at first glance, seems rather unrelated to game design. At the store where I currently work, we have, as one may expect, public restrooms. They're of the one person variety, with a locking door and amenities for one occupant. The door's the important part here, as we have some rather consistent trouble with the lock on one of them.

Now, the lock is perfectly mechanically sound. It's of the variety that has a small button that you press in to lock the door, and works without any issue. Yet at least three or four times a week, if not more, we have a customer come to us and complain that the door lock isn't working. The lock does in fact work, and we've checked several times to ensure that everything is as it should be, but still people are under the belief, sometimes even after we assure them that everything is working properly, that the door isn't locking. Why?

Well, when you press in the button to lock this particular door, the button goes in all the way then comes back out. The button doesn't remain pressed in, there isn't a real change in resistance between pressing the button in when its locked versus when its unlocked, there isn't a click noise when the button locks, you get the idea. The door doesn't provide enough feedback to, if it's not too much of a stretch to say so, give the user the experience of properly locking the door. Again, the lock does work, it just fails to indicate that it's been locked in a convincing way, leading to many people believing that the door is broken.

So why the story about the door? Because games can suffer from the same issues. Even if a game is working properly, if the player isn't presented with feedback that everything is working, they can be quite convinced (and reasonably so!) that the game is broken. Imagine a button, just a generic UI element, that has zero forms of feedback when interacted with. No visual change when selected or pressed, no audio cue, no visual change when the option is available, etc. Unless the effect of pressing the button is immediately apparent, the player may not be convinced that the button has worked at all.

The problem, I think, is most common with systems that don't have that immediate form of feedback. A button to close or open a menu maybe doesn't need to provide as much feedback from the basic interaction, as the presence or absence of the menu it's supposed to control is perhaps feedback enough. On the other hand, a button to save the game, or to send a message to another player, or anything that lacks that immediate visual feedback from the action itself can be vulnerable to this phenomenon.

As another example, I remember my sister used to save Word documents (I forget which version of Word this was, sadly) several times, out of a fear that it didn't "save properly". I admit that I sometimes do this as well, or at least used to, and though I understood that the document was, in fact, being saved every time I hit the save button or used the keyboard command, there wasn't enough feedback to really convince me that my work had in fact been saved.

With all that in mind, what's to be done? Visual feedback is a good first step. If it's not intrusive to do so, adding a quick text blurb or image popup to confirm that the action went through properly can remedy the problem by itself. It doesn't have to be bombastic either, as a small visual cue near the button itself can suffice. Audio cues are also solid, if less reliable as they can be turned off, or the player may be unable to hear them. Audio can, however, help make the act of pressing a button more satisfying, as, say, the sound of coins clinking together can add a bit of flavor to a shop interface. The Fate game series by WildTangent, for example, had a rather satisfying inventory system, partially because of the sound effects that played whenever the player moved an item from one grid space to another (I remember the wet slap the fish made was particularly satisfying).

And on that note, expect a quick update to the Dueling Game in the coming days to add a bit of visual feedback to button presses, especially in regards to players prepping actions in combat.

Oh, and later on I'm going to write up a part 2 on this topic discussing how good visual and audio feedback can help teach players how to play the game.

Until next time!
Charles

Update - 5/7/17
The UI update to the Dueling Game is done.

Sunday, April 23, 2017

Dueling Game v11

Hail, Wanderers!

Version 11 of the Dueling Game is up here.

I've changed the text colors for Damage, Balance, and Stamina in the end of turn readout to reflect the colors of the associated gauges and have also made it possible to play almost the entire game without the mouse.

Barring bug fixes or other necessary changes that come to light as the game sees more use, this will probably be the final version for the game. I may put some time into making the UI look a little better, but art honestly isn't my forte and I'd just as soon spend the time working in other areas.

On that note, I'll most likely be switching to another project from here on out. I will also likely come back to make a more refined version of the Dueling Game, one that hopefully comes closer to the intended experience of the game and that makes use of the lessons I learned this time around, but for now I'm going to put time into another project.

There won't be a downloadable version of said project for a while, but expect updates as usual. I'll probably post more on the design side of things each week, and try to make up for the lack of a playable game with more detailed documentation of the design process.

In any event, it's been nice to get back into this on a more serious level. I haven't been able to invest as much time into my design work as I'd like, and I feel like the developments to the Dueling Game took longer than they should have for how much the game has changed, but I'm happy (if not quite satisfied) with my work regardless. I can still see areas for improvement, but I get the sense that I'd start picking at too fine a level for it to really be worth it, considering the project started as more of a prototype anyway. It is a concept I'm quite fond of, however, so I would like to craft something more worthy of its potential in the future.

Somewhat tired ramblings aside, my sincere thanks to everyone who has taken an interest in this project, from those who helped me along through the early concept phases, to a certain programmer who provided invaluable help both with advice and encouragement, to those who spotted it while passing through my corner of the internet (so to speak) and gave the project a look. Thank you all, and I hope you've enjoyed following and playing the game as much as I've enjoyed the process of crafting it.

With warm regards, and as always, until next time!
Charles (Guardian Soul)

Sunday, April 16, 2017

Dueling Game v10

Hail, Wanderers!

Version 10 is out! UI improvements, some code changes to make the turns flow a bit better and to help the different parts of the game communicate on an easier to manage level. Also, proper win and loss text display, along with indications for when players are forced to take the recover action. Also bug fixes! Lots of bug fixes.

Next version should be mostly polish, as I think I'm winding down on this iteration of the concept. I'm toying with the idea of executing the improvements I had for the dueling concept as a whole within the confines of this game, or if it would be more worthwhile to build something from the ground up. At least from a design standpoint.

Until next time,
Charles

Sunday, April 9, 2017

Dueling Game v9

Hail, Wanderers!

New version of the Dueling Game up on itch.io!

Combat images and sound did not make it into this version, my apologies.

Changelog:

Combat Log
UI now displays what action each player took, how much damage has been done, stamina used, and balance gained/lost.

Next Version:

For the next few versions I'll be focusing on UI improvements and game feel as a whole. So expect to see something marginally better than the current UI, along with more feedback on player actions and the like.

Until next time!
Charles

Sunday, April 2, 2017

Design Dive: Balancing Dissimilar Skills

Hail, Wanderers!

Game balance is a massive subject, and one of major focus for almost any game. I'm not going to touch on balance from a conceptual standpoint in this design dive, but I'll certainly talk about parts of it in other weeks.

For now though, I want to offer a method I use for balancing skills or other actions that don't have easy means of comparison. Please note that what I'm covering is by no means the only, or even necessarily the best, way of going about balancing gameplay components. It's simply meant to be another tool to use to gain insight into the way different pieces of the game stack up against each other.

In this discussion, we're going to be mocking up a balance of a simple turn based strategy game. The Dueling Game that I've been working on would be a good example, but any sort of turn based RPG would also work. Alternatively, the method of comparison I'm going to present can also work for item stats, or whenever the strength of something with multiple values attached to it must be compared.

When skills have one value attached to them, we'll start with damage here, it's simple enough to compare them just by the numbers. We'll call our two skills Skill A and Skill B. With just a damage stat, the skills look like this:

Skill A - 10 Damage
Skill B - 5 Damage

With just the one stat to compare, it's easy to see that Skill A, with everything else being equal, is twice as powerful as Skill B. However, it's often the case that skills will have more than just the one value associated with them. So let's add in a resource cost for each skill.

Skill A - 10 Damage, 20 Cost
Skill B - 5 Damage, 8 Cost

With the two stats in play, it's harder to figure out exactly how the skills compare to each other. Because they only have the two values in play, however, we can figure out a ratio to compare the values. In this case, 10 Damage is equal to 20 resource Cost, so 1 Damage is equal to 2 resource Cost. With that in mind, we can see that 5 Damage would be equal to 10 resource Cost, which actually means that Skill B, with a cost of 8, is a little bit less expensive in the long run.

Note, however, that it's very important what skill is used to determine the ratio. If we used Skill B to find the ratio between Damage and Cost, we'd instead find that 1 Damage was equal to 1.6 Cost, which would change how the numbers looked for the rest of the skills. As such, picking an imbalanced skill to determine the ratio could lead to imbalances across the rest of the game. It's still a valuable, if simple tool, but just one to be cautious in using.

Now, let's add in a third resource. We'll give each skill a cooldown of a few turns.

Skill A - 10 Damage, 20 Cost,  3 Cooldown
Skill B - 5 Damage, 8 Cost, 5 Cooldown

With three values to balance, we would have a much harder time figuring out the ratios. We could still figure out that, using Skill A as our basis, 1 Damage is equal to 0.3 Cooldown and balance from there, but that doesn't really tell us the overall power of the skill.

For problems like this, such as the Dueling Game, which uses Damage, Stamina, and Balance as its three values for skills, I assign a point value to each component of the skill. In this case, we'll say that Damage is equal to 3 points, Cost is equal to 1, and Cooldown is equal to 2.

How the points are determined is something of a tricky matter, but I try and weight them based on how valuable I think each value is. For the Dueling Game, I weighted Damage the most, as applying damage is the main focus of the game and it's the only thing that can't be recovered, followed by Balance, and then Stamina as the lowest rated value as it's the easiest to regain. Also, I assign negative points to parts of the skill that draw resources from the player. So a skill that has a resource Cost will have the associated points deducted from the total, while one that, say, restores Resource on dealing damage would have the restored value factored in positively. The above point weights give us the following values for each skill:

Skill A - 30 Damage points, -20 Cost points, -6 Cooldown points (4 total)
Skill B - 15 Damage points, -8 Cost points, -10 Cooldown points (-3 total)

From that, we can see that Skill A is actually more powerful overall than Skill B. Furthermore, we can see that most of Skill B's negative points come from its cooldown, marking it as a good place to start examining how to rebalance the skill. That being said, it's not necessarily a bad thing to have some skills be more powerful than others, so it's good to see that the skills aren't too far away from each other in terms of total power.

Again, just like with using ratios, giving each part of a skill a point value can throw off the overall balance depending on how the points are assigned. To use an extreme example, assigning a point value of 10 in the above example would throw off the final value of each skill quite a bit. Also, this certainly isn't the only method that should be used, though it does provide a good starting point for additional balance changes or further looks into the skills.

Lastly, it's possible to assign point values to more complex components of a skill. Let's say a skill has a 25% chance of dealing x2 damage. It's hard to figure out just how much value that really brings to the skill. We can certainly calculate the total points for the bonus and non-boosted damage (using Skill B as the example):

Normal - 15 Damage points, -8 Cost points, -10 Cooldown points (-3 total)
Boosted - 30 Damage points, -8 Cost points, -10 Cooldown points (12 total)

That gives us an idea of how valuable a normal hit is versus a hit with the boost, but it doesn't give us an easy look into how much value the percent chance of bonus damage brings to the skill overall. However, we can add the possibility for bonus damage into the point total using a modified formula. If we say that damage that has a certain percent chance of happening has a point value equal to bonus damage points multiplied by the chance of that bonus damage happening (in this case 30 * .25) we could add that into the damage point total for the skill. Which gives us the following:

Skill B - 22.5 Damage points (15 base + 7.5 boosted), -8 Cost points, -10 Cooldown points (4.5 total)

It's not a perfect solution, but it does give a rough idea of how much value the 25% chance at double damage is bringing to the skill. With a little work, similar methods can be applied to most other types of skill components.

At the risk of endlessly repeating myself, assigning point values to pieces of a skill, item, or other gameplay component that need balance can help to get an idea of that component's total power and how much each piece of it impacts that overall power is a very useful tool. It does have its risks, as care must be taken when weighting each piece of the skill or item in question, and the method isn't necessarily applicable to all game types, but it is a good tool to keep in mind when looking at balance problems. I've used it in the major balance pass I made on the Dueling Game during the jump from version 5 to version 6, and it revealed quite a bit about the initial decisions I had made about the game's balance. Which is material enough for a blog post in and of itself, but that'll be for another week. I hope this was useful, or at the very least interesting, and to any designers reading this working on balance challenges, best of luck!

Until next time!
Charles

Dueling Game v8

Hail, Wanderers!

New version of the Dueling Game up on itch.io!

Changelog:

Skill Buttons
Players can now click on the skill buttons to select skills for activation. Turn automatically starts when both players have selected skills.

Basic AI
I say "AI" but right now it just uses dice rolls to pick a skill to use. Future plans involve custom AI for each class that will give it a bit more strategic depth.

Next Version:
Combat Log

Combat Images/Sound Effects

Until next time!
Charles

Sunday, March 26, 2017

Dueling Game v7

Hail, Wanderers!

Version 7 of the dueling game now live on itch.io

https://guardiansoul.itch.io/dueling-game-early-concept

Changelog:

Implemented Classes
The player can now pick from three classes on the main screen.

Mace and Shield - Stable class focusing on a mix of attack and defense with the option to trade sustained offensive power for a more powerful strike

Dual Swords - Aggressive class focused on chaining repeated attacks into high damage finishers or more powerful defensive moves.

Gun Lance - Defensive control based class focused on debilitating the opponent and opening windows for massive damage strikes.

UI Improvements
Skill help windows now reflect skills for each class.

Bugfix
Skills and the associated buttons/hotkeys have been adjusted so each skill now properly triggers on the listed keypress.

A bug where classes could stack balance past the intended maximum has been fixed. Further checks for min/max values have been added to the code.

Next Version:
Basic AI

Working Skill Buttons

Until next time!
Charles