The time is here.bruins72 wrote:I really think the templates are going to be key. Once dabo gets to the point where he's getting ready to implement these, we should compile a list of player types that we would need templates for and pick which attributes are important to that type of player.
Here are some quotes of ideas I like and good starting points trying to figure out a good way to generate new players.
bruins72 wrote:If we look at the NHL as being the top league in the hockey world we can set up the player templates that way. The templates could based on the player's style and their career peak. For example, you could have "Franchise Playmaking Center" and "Checking Line Winger". You could also have "Minor League Energy Winger" or "Junior Hockey Goon". The career peak part of it would kind of tie in with CA. So when a player retires, have a new player generated of the same player type and have the career peak have a small chance of improving or worsening. For example, if you had a "Second Pairing Offensive Defenseman" retire, the new player that is spawned will most likely also be a "Second Pairing Offensive Defenseman" but there's a small chance he could be spawned as a "Top 2 Offensive Defenseman" or maybe a "Botton Pairing Offensive Defenseman".
To mix things up and have a chance of talent coming out of countries like Denmark or Norway, you could have it so when a new player is spawned there is a 90% chance that he comes from the same place as the retiring player and then split the other 10% between less likely places. So when Brodeur retires, there's a 90% chance that the new player spawned to replace him will be Canadian. There is also a 2% chance that he's German, a 2% chance he's Norwegian, 2% chance he's Danish, 2% chance that he's Swiss, 1% chance he's Austrian, and a 1% chance he comes from a random country (all others). That would give it the potential to mix things up a bit.
Also, I hope this isn't taking things too far off topic but I think the game should look at the USA and Canada a little differently than other countries because of the way that the CHL leagues (WHL, OHL, and QMJHL) determine player eligibility. So you'd have Canada West, Canada Central, and Canada East along with US West, US Central, and US East (or however those CHL leagues break it down). So when a new player generated, they don't have to come from the same birth city as the player they're replacing, they just need to come from the same region. Does that make sense?
archibalduk wrote:I agree in principal - as we could weight templates, etc. However it would be a statistical possibility that a large number of good players could retire and their replacement regens could all be very poor. The more seasons of a game you play, the greater likelihood of this happening. Clearly it would be a slim chance but there would still remain that possibility that a user's game could be ruined/hampered because all of the talent suddenly dries up. That is assuming we used some sort of random CA/PA generator.
Having said that, I think the ideas proposed by Dabo and Bruins72 could address this (slim) possibility. Based on what they have suggested, why not have the regeneration of players (by regeneration I mean one play retires and a new player is generated) made up of three parts:
1) Firstly, the regen player's PA is the same as the retired player's CA plus something like 15% or minus something like 5%. Remember that when a player retires they are likely to be past their peak and so their CA will not represent their peak CA. To compensate for this, the regen's possible PA range should be much higher than the retired player's CA or only slightly less. The game would generate the actual PA by randomly choosing a number between this range. If the PA was simply the same as the retired player's current CA then slowly each generation of players would have lower and lower PA's
2) We could assign a template based on the retired player's position. So if the retired player's primary position was a winger then the template use for the regen would be a forward's template (e.g. sniper, two way, etc).
3) Nationality. Although we do have the occasional superstar from countries where they wouldn't ordinarily be expected, the balance of talent ought to be kept fairly balanced. Perhaps we need some sort of neighbouring countries entry in the database for each country? So if a retired player is Canadian then his regen will be from either Canada (say a 90% likelihood of this, as suggested by Bruins72) or from a neighbouring country (10% likelihood) - in this case it would be the US. Take another example - retired player is Swedish so there would be a 90% chance of the regen being Swedish and a 10% chance of him being from a neighbouring country (i.e. Norway, Finland, Denmark).
Perhaps it would be a good way of ensuring a reasonable balance of talent and of talent from different nations whilst allowing for some variation? Perhaps I have complicated things a little?
So, this is decided so far:bruins72 wrote:Hmmm... that could be an interesting idea. I like the idea of randomizing the new PA. So with the method that you described, if a player with a 154 CA retired, the regen's PA would be somewhere between 146 and 177. I wonder if the 15% might be a bit too much? Maybe scale it back to 10%? Anyhow, I like the general idea of this.archibalduk wrote: 1) Firstly, the regen player's PA is the same as the retired player's CA plus something like 15% or minus something like 5%. Remember that when a player retires they are likely to be past their peak and so their CA will not represent their peak CA. To compensate for this, the regen's possible PA range should be much higher than the retired player's CA or only slightly less. The game would generate the actual PA by randomly choosing a number between this range. If the PA was simply the same as the retired player's current CA then slowly each generation of players would have lower and lower PA's
I really think the templates are going to be key. Once dabo gets to the point where he's getting ready to implement these, we should compile a list of player types that we would need templates for and pick which attributes are important to that type of player.archibalduk wrote:2) We could assign a template based on the retired player's position. So if the retired player's primary position was a winger then the template use for the regen would be a forward's template (e.g. sniper, two way, etc).
I think your "neighboring countries" method could work too. The only thing it doesn't really allow for is the random odd talent from a country like Japan or something like that.archibalduk wrote:3) Nationality. Although we do have the occasional superstar from countries where they wouldn't ordinarily be expected, the balance of talent ought to be kept fairly balanced. Perhaps we need some sort of neighbouring countries entry in the database for each country? So if a retired player is Canadian then his regen will be from either Canada (say a 90% likelihood of this, as suggested by Bruins72) or from a neighbouring country (10% likelihood) - in this case it would be the US. Take another example - retired player is Swedish so there would be a 90% chance of the regen being Swedish and a 10% chance of him being from a neighbouring country (i.e. Norway, Finland, Denmark).
I think these things are always going to be complicated if they're going to work. Plus, brainstorming is good!archibalduk wrote:Perhaps it would be a good way of ensuring a reasonable balance of talent and of talent from different nations whilst allowing for some variation? Perhaps I have complicated things a little?
- Template system (exactly how it will work is not decided)
1-25 (1-125) attrubute ranges (the last 5 (25) will be reserved for generational players)
- What player types are we gonna use? and what are their respective strengths and weaknesses?
CA and PA, how are we gonna handle this?
How to ensure talent/skill levels stay about the same while still allowing fluctuations from year to year (each draft is not equally deep)?
The number of players coming out of each country should be fairly stable as well as the number of players on each position.
Allow for the possibility of great players to come out of countries not considered top hockey contries (Denmark, Norway etc.).
* What player types are we gonna use? and what are their respective strengths and weaknesses?
Skater (forward)
- Defensive
Two-way
Sniper
Playmaker
Power forward
Enforcer
Dangler
Grinder
- Defensive
Offensive
Enforcer (or is there another name for defensemen?)
Puck-moving(same as offensive defenseman?)
All-around
- Stand-up
Butterfly
Hybrid
Unorthodox
Overalls:
Offense = (Shooting), (Stickhandling), (Passing), (Mental), (Physical)
Defense = Hitting, Poke Check, Shot Blocking, (Passing), (Stickhandling), (Mental), (Physical)
Physical = (Physical)
Mental = (Mental)
Passing = Backhand, Passing, Puck Control, Anticipation, Composure, Decisions, Teamwork
Shooting = Backhand, Deflections, Deking, Passing, Puck Control, Slapshot, Wristshot
Sickhandling = Backhand, Deflections, Deking, Passing, Poke Check, Puck Control, Slapshot, Wristshot
Skating = Acceleration, Agility, Balance, Speed
Will spend some time thinking about something more concrete.
* CA and PA, how are we gonna handle this?
I found this quote in one of the guides, is this something you think should be used in this game as well?
* How to ensure talent/skill levels stay about the same while still allowing fluctuations from year to year (each draft is not equally deep)?CircularTheory wrote:Forwards
200 - Generational (Gretzky)
190 - Superstar (Ovie)
180 - Franchise (Gaborik)
170 - 1st liner
160 - 1st/2nd liner
150 - 2nd liner
140 - 2nd/3rd liner
130 - 3rd liner
120 - 3rd/4th liner
110 - 4th liner
100 - 4th liner/AHLer
90 - AHL
80 - AHL/ECHL
Goalies
200-190 - Generational (Roy)
180-170 - #1 Goalie
160-150 - 1A Goalie
140-130 - 1B Goalie
120-110 - Backup
100-90 - AHL
80 - ECHL
Defense
200 - Generational (Orr)
190 - Superstar (Lidstrom)
180 - #1 D
170 - #2 D
160 - #3 D
150 - #4 D
140 - #5 D
130 - #6 D
120 - Reserve D-man
110 - AHLer
100 - ECHLer
As suggested I like the idea of when say a 2nd line Sniper retires a new forward will be created as either a 1st, 2nd or 3rd line talent and not necessarily as a sniper. But as archibalduk wrote, a retired player's PA will most likely not be the same as when he was first created so perhaps the inital PA could be stored separately as a constant.
* The number of players coming out of each country should be fairly stable as well as the number of players on each position.
I think we could use some mix between archibalduk's and bruins72's suggestions. We could leave a tiny change (no matter where the retired player is from) that the new player will come from a small hockey country.
In the database each player's ability to play a certain position is stored in the range of 0-20 (where 0 is used for skaters' ability to play in goal and the other way around). So let's say a retiring center has the following:
LW Ability: 9
C Ability: 18
RW Ability: 14
LD Ability: 2
RD Ability: 4
G Ability: 0
Then when the new player is generated his likely primary position could be determined in this order:
C (most likely)
RW
LW (least likely)
...or we could just pick one of the forward positions completely random.
* Allow for the possibility of great players to come out of countries not considered top hockey contries (Denmark, Norway etc.).
Already mentioned this.
I will post some more thoughts later and I have probably forgotten something too. Please let me know your ideas and thoughts.