Sign in to follow this  
Chris

Development Updates from dabo

Recommended Posts

As per dabo, Oct 2nd, 2011.

 

It has been roughly three month since the last update thus I think a status update is warranted. Without further ado let us move on to the interesting part of this update.

 

I am pleased to announce that the development team has doubled since the last update. In June I mentioned that Forward had left the team and that I was considering looking for people to help out with the programming but fortunately I did not have to. People who keep up to date with what is posted at the forum already knows who the two new developers are. Xalfen joined the team back in July and has been introduced to the project and what we have done so far. Dron on the other hand joined not long ago and is yet to be introduced to the project but will be shortly. Since we are now four we have to move our project to a new host which we will be looking to do as soon as possible; we are actually looking at different alternatives as we speak, both free and paid hosts.

 

Now let us go into some details about the progress of the actual game. We have finalized the first version of the database and expect no more significant changes for the first version of the game; if however something important has been overlooked we will do the necessary changes.

 

The code to handle practice and non-practice related player development is close to implemented. One of the major things left to implement is handling of natural regression. Another thing that the player development simulator does not handle is events that affect player attributes. The code is there to handle it but no events are present yet in the simulator. Events I am talking about could be for example a fighter fighting in games which will affect his fighting tendency/ability, games and injuries. Finally the logic for attribute changes will need a lot of tweaking and this is a process that I anticipate will take some time to get satisfactory; the current logic works but was mostly thrown together quickly for testing purposes only.

 

Another important thing that change over time for a player is his body. Me and jatahati had a discussion awhile back on how to properly implement this and for the height growth part I believe we have come up with a pretty good solution. When determining the starting height of created players, teenagers or adults, we use normal distribution (bell curve). In order to calculate the height according to the mentioned method we need two parameters, the mean (the peak of the curve) and the variance (width of the distribution). The player creator also supports individual parameters for each country if that ever becomes desirable. One can do a study of a collection of players and calculate these parameters but since I currently have no interest in doing so nor have I been able to find one on the internet I will be using values that appear to generate adequate results. I have been able to find studies of the general population but hockey players tend to be a bit taller than the average. If anyone know of any study of hockey players' height (teenagers and/or adults) where I can find out these parameters do not hesitate to contact me. I know some of you are statistics nerds so I am not giving up hope.

 

After doing some research I have come to the conclusion that humans do not grow any taller after approximately the age of 20. I also found a height growth chart between the ages of 4 to 20 so what I did was extract the part between age 14 and 20 and used the least squares method to fit a third degree polynomial to the extracted part of the curve. What I ended up with is a curve that approximates the chart pretty well. Every player who is yet to be 20-21 years of age will grow taller according to this curve but in order to not get the same adult height for all players who have the same height when they are for example 15 I had to introduce a deviation factor. A player's height will be updated on a monthly basis so after a month has passed a height increment will be calculated; this increment will use the deviation factor to determine the actual increment which will be added to a players height. Both these values will weigh equally much towards the end result which means we could end up with an increment anywhere between 0 or double the initial increment. Using this algorithm I have done some tests with the following results:

 

Initial age Deviation Height (15 years old) Min height (adult) Max height (adult)

15 No 180 cm 189 cm 189 cm

15 Yes 180 cm 185 cm 193 cm

 

 

The data in the table above are based on 1 000 000 players and show that the current deviation factor gives an adult height in the range of +/- 4 cm from the perfect curve (no deviation). The deviation factor is currently determined by the default random generator in C# and I am yet to test normal distribution for this part but I will (have to save something for the next update). The interval will still be the same but the distribution within this interval will be different.

 

I have not given much thought on how players gain weight yet thus no implementation attempts have been made but I plan on doing this next. But a player's muscle mass (strength) has to be considered somehow. I hope to have figured something out in time for the next update. Any input on this is welcome!

 

I will finish this update by showing you some screenshots of the player development simulator. Please keep in mind that the missing parts mentioned above such as games, injuries, natural regression and player weight changes do not affect player development yet. Once they do, how good a player becomes in the end may be affected. Mental attributes are not improved like they should yet either. Note, the GUI has nothing to do with the actual game.

 

In order to shorten the post I will link to the screenshots.

 

Starting attributes for center Mark Johnson

 

Peak attributes

 

Practice schedule

 

Starting attributes for goalkeeper Johan Svensson

 

Peak attributes

 

Practice schedule

 

Starting attributes for defenceman Tomas Straka

 

Peak attributes (notice he can now play right defence too)

 

If you want to use attributes in the interval of 1-125 instead of 1-25 and different attributes colors you can

 

Practice schedule (position practice set to right defence)


General Manager (GM) Games

email [email protected]
website | discord | youtube | reddit | twitch

Share this post


Link to post
Share on other sites

Update from dabo: July 24, 2012

 

Hello everyone,

 

I was planning on writing this update a long time ago but for some reason I didn't and then I went away on vacation. Anyway before I get into the main topic of this update, the match engine, I want to mention a few updates regarding the development team.

 

forza_ambri has joined the project as a programmer and will start working on how to load data from the database into the game as well as handling new games, loading and saving etc.

 

CircularTheory is now part of the team and will help us plan this project; this is something I should have done better from the start but having a person join the team that actually wants to do this will help a lot.

 

As I mentioned in the previous update my new focus is the match engine. This is a major part of a hockey simulator thus it is very important to get this right and it is going to require lots of work. I have looked into several levels of detail for the match engine, from instantly simulating a game by pressing a button to a 2d rink with coaching capabilities. Although I knew from the start that the latter would require lots and lots of work and was not planned for the first version I could not help but check out the possibility of realizing this in WPF. With my knowledge, WPF is not optimal for this but I know it can be done, I even did a test implementation where I am able to shoot the puck around in the rink and it bounces off the boards and slides along the corners smoothly. The tough part will be to add players and have them play realistically, realizing how time consuming this will be, based on the time it took to just implement the puck physics, I will stop here and continue when we feel we have time to put this much time into one single feature albeit an important one.

 

Instead for the first version I will focus on something simpler. My plan right now is to implement two versions:

 

Basic - Quick sim the entire game, you leave control to the coaches and get a result instantly.

Advance - Allows you to coach (or perhaps just watch) the team during a game, including making tactical- and line changes etc. The visual details of this version are not yet decided.

 

 

I want to be able to use the same engine for both versions and on top of that have either human or coach ai control depending on the version. This is going to require a good design to get right that is why I am going to let the design phase take its time and don't rush anything. I have already started this process and even made some small implementations to try and verify that I am on the right track. More about this in the next update.

 

Take care


General Manager (GM) Games

email [email protected]
website | discord | youtube | reddit | twitch

Share this post


Link to post
Share on other sites

Create a GM profile or sign in to comment

You need to be a member in order to leave a comment

Create a GM profile

Sign up for a GM profile in our community. It's free & easy!

Create a GM profile

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.