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.