I am working on a ice-hockey board game and working on a shooting mechanic to determine when a player shoots the puck at goal whether it is a goal or not.
The basic idea of my shooting mechanic is that:
- A shot closer to the goal is easier to shoot on net and score.
- A shot from a bad angle will be harder to score.
- Wrist shots will be accurate but easier to save by the goalie.
- Slap shots will be inaccurate but harder to save by the goalie.
The rink is composed of squares where each square will have two numbers. The first number indicates the shot difficulty and a second number will indicate the save difficulty modifier.
The power of a shot is calculated by the a shot's strength (slap shot is 8, wrist shot is 6) minus its distance to goal in squares. So for example, a slap shot made from 2 squares from goal will have a shot power of 6.
So the first thing is to see if you shoot to hit net. This is done by rolling a d20 (plus modifiers) which equals or exceeds the shot difficulty.
If it is determined that the shot is on net, the next step is to see if the goalie saves the puck. This is done by taking the shot power adding the save difficulty modifier and rolling a d20 to either equal of exceed this number to make the save.
For example, a skater shoots a wrist shot from 2 squares away. The shot difficulty on the square is 4. The skater must roll 4 or more. He rolls a 7, and the shot is on goal. The shot's power is 4 which is wrist shot strength 6 minus the distance of 2. The save modifier on the square is +3. So three is added for a save difficulty of 7.
The opposing player rolls the d20 and gets an 8 which results in a save.
What do you guys think of this mechanic?
I have tried to keep it really simple and fast, as one of my design goals is to keep it fast as hockey is a fast game :)
The next thing I am working on is when a goalie makes a save, how to calculate a degree of success whereby if the goalie just saves there is a rebound directly in front, a better save to one of the diagonal squares in front, a better save which goes behind the net to the side and finally a good save where the goalie gets the puck with no rebound.
Any ideas on how to translate a d20 roll for a degree of success to translate it to where a rebound goes or no rebound?
Thanks,
DarkDream
Hi ElKobold,
Thanks for the suggestion. I went ahead yesterday on developing your idea. I wanted to make things as simple of possible and just used two dice with the custom die faces of 'hit' 'miss' and 'save.'
I tried various combinations in what face beats what, but settled on the following:
- If a hit and miss are rolled, the result is a miss.
- If a miss and save are rolled, the result is a save.
- If a hit and save are rolled, the result is a save.
Using a small program I wrote (which would simulate thousands of rolls), I tested the various results if you have differing number of hits, misses and save faces on the dice.
For example, one die would have faces of: hit, miss, miss, save, save, save and another: hit, hit, miss, miss, save, save. This would result in a goal x% of the time, a save y% of the time, and a miss z% of the time.
I am still working on it, but it is quite difficult to find the right die combinations which give the results you want.
As an example, a wrist shot in front of goal two squares away (approximately 30 feet) should register a goal around 25% of the time, and a miss around 20% of a time, and a save the remaining 55% of the time. To get these percentages to fit with two custom dice you need to experiment with replacing various faces on either die to try to get the percentages you want or simply try different dice and hope they come close to the percentage you want.
I may find I need to have many different custom dice to get all the percentages based on difference -- but this seems quite unpractical.
As a side note, your suggestion of making a roll of a hit and save a hit for a slap shot, is also difficult to do as making that small change can drastically change the percentage of scoring.
Another thing I noticed is that I feel it will be difficult to add modifiers. For example, a great shooter has a better chance of scoring.
The one advantage of the system I proposed with a d20 is the fine granularity and the easy way of adding modifiers.
As for having multiple dice, I think that may compound the problem I am experiencing with two dice. So besides knowing that a save take precedence over a hit, does two hits over a save turn into a save? Things like that.
Any thoughts, or more suggestions?
--DarkDream