Hi guys, let's make a separate thread for the forthcoming 0.7 release.
2K Hockey Simulator (2KHS) is the NHL 2K11 (Wii) mod developed for PC by djneo and One More Try.
The goal of this mod is to make an ultra-realistic, physics-based hockey simulation, with highly detailed textures modelled over the real world replicas.
I'm focused on the all-time roster, but anybody from the community can make the current NHL roster (or any other roster) and share it with others.
For those who don't wanna be bothered with my funny accent, here's written version It's not 1:1 with the video, but pretty much...
Dynamic Accelerations
One of the things in the 2K hockey that never felt really right was the accelerations.
In 2K8 they felt kinda clumsy. It felt like the player reacts too late to your inputs, but at the same time, that distance from the start of the animation to the end of the animation was too long. It felt wrong and unprecise.
In NHL 2K10 and 11 I think they tried to "fix" this feeling by making these accels ridiculous fast, which very often led to these very awkward moments, it led to something that the community was calling the syndrome of a "crazy chickens running without heads".
So not only the result from a physics standpoint was totally unrealistic, but it even looked very ugly and off.
Another bad side effect of how it was done in these games was that depending on the situation where a player was accelerating it could be very easily considered as a cheat.
For example, when the defenders were caught up on the breakaway the defender could still turn, accelerate, deny all the momentum and just during this acceleration animation he would catch the player on the breakaway. It was very frustrating for all sides. It made the game essentially broken...well, definitely from a sim perspective.
So for the 2KHS 0.5 release last year we made a quick dirty fix while forcing the access to run at a realistic speed. But it felt still too linear and off. And that ugly huge distance what a player made during the acceleration was still there. It was still far from perfect.
Now for the forthcoming 0.7 release, we made something really special. I honestly never hoped that something like this would be ever possible from outside. But thanks to the tool I get from "One more try" I was able to make all these accels dynamic!
What I mean by that is that the animation starts slow... then gains speed and ends almost full speed, just like in this little graph and just as you would expect in real life.
Not only that, now I can separately tune the following:
*Soft Accels with the puck
*Soft Accels without the puck
*Hard Accels with the puck
*Hard Accels without the puck
So now when you on the ice you can use really subtle accels for very precise movement or relly push hard, depending on your gamepad inputs. It feels finally right.
On top of that, I finally found the code addresses that allows me to control separately the actual distance of these animations.
What that means that not only I can make these animations looks and feel right, I have another useful tool to make a real differentiation between players with and without the puck.
Of course... in 2KHS, the same physics affects both you and A.I.
The Physics-Based Gameplay (PBG)
3a Player differentiation
One of the things that I was never really happy with in hockey games, in general, was how there is no real differentiation between the players.
And I'm not even talking about some tiny fine-tuning, in this case.
What I talking about are such basics like that generally speaking a player that is in a possession of the puck is less agile than a player with free hands.
So I'm really happy that I was able to find and tune the code that is responsible for this in our hockey simulator.
What I mean by that is not some kind of placebo, you can really feel and see it. I made it actually little too much for this footage, so you can better see it, even like this on your screen.
All this is still multiplied by the various player attributes, so now we have that needed difference between the elite skater and let's say enforcer and everything between.
Real hockey is NOT seamless animation
This one is actually a pretty interesting topic. I see EA SPORTS has the exact opposite approach on this subject. We keep hearing them almost every year how they have improved their gameplay by making seamless this and easier that. This year, for example, one of their biggest PR things is that a player cant loses any speed during the puck pickups or while receiving a pass or shoot the puck.
Well, while this might make probably some sense for a 4-minute arcade videogame, that is NOT how the real hockey game works, in the real world, with the real physics.
Actually it's exactly opposite.
For the 2KHS my goal is to try to simulate the real-world hockey with every little nuances and detail and with these extra layers make the gameplay more rich, alive, exciting and fun.
So In 2KHS now both AI and human-controlled players will lose some realistic speed while picking up the puck, passing the puck, during the pass reception, while dumping the puck, shooting the puck, during dekes, during goalies dekes, while using the defensive or offensive skill stick, while turning and skating backwards, while poke checking, stick lifting or while attempting a hit.
I also made it that a player can lose speed quicker if he goes from the hustle to glide state. That means you or the AI can manipulate a player much precisely, during the glide state.
So these and some other changes make sure that the gameplay is realistically dynamic.
You can have very slow, sloppy and physical moments while fighting for the puck in the corner for example, but at the same time with a few smart passes, the gameplay can shift to a hectic, fast rush or breakaway, just like in real life.
Precision Movement v.s. Full Speed Skating
One of the key tasks to make the skating and the all-around movement realistic and to feel right was to find a way how to separate the actual speed or distance from the animations that cover it.
Let me explain, real quick.
So in the default game or in the NHL 20 from Ea sports, you can change let's say the skating speed with sliders. That means how long it takes skater to move from a point A to a point B. You can make the skater move slow or fast. What you cant do is to make the animations... or the motion capture adjust accordingly to look realistically.
What I mean by that is when they have the animations of these games tuned for a hyper-fast arcade action and you make the actual movement slow with the sliders the game starts to look kinda funny and off.
Yes, the player now skates with a realistic speed, but his legs are still pumping crazy fast, you can't change this with sliders.
So naturally, It all starts to look off and weird.
The same principles apply to shooting or passing for example. Yes, you can change the speed of the puck, but the shooting and passing animations then start to look wrong, because they were tuned for a very different game and attitude.
So it was really important to me that I can tune all these pieces separately.
I can now tune separately the speed and distance for both gliding animations, all 3 hustle animations, for a crossover animation, for a crossover animation while skating backwards, for a regular skating backwards animation, for turning animations and for a facing the puck animation.
I was also able to separate the glide speed from a full hustle speed and from skating backwards speed. So again, now I can tune all these pieces realistically as needed.
Now you can really make your skater do all the subtle movent or sacrifice some of that precision while pushing the controller really hard and hustle.
I was also able to correct the distance and momentum during the dekes, goalies dekes, shots, stumble shots, hitting and jostling.
All these changes are a very important piece of a puzzle in order to make the gameplay truly dynamic, exciting, realistic and definitely not to feel like a single seamless animation.
Pro Stick 2.0
Defensive Skill Stick
One of the things that I always loved about 2K hockey is how you can use your right stick (RS) on gamepad basically as if it is actual hockey stick in real life. You can poke-check with it in any direction, you can block the passing lanes and you can do it without pressing any other button modifier like you are forced in the NHL 20.
What I dint like is how they let you deny the laws of physics in NHL 2K11.
What I mean by that is that they let you use the defensive stick without losing any speed- you could skate full speed forever while sweeping the stick and you could even break the direction of your blades, which led to some very ugly and unrealistic results in NHL 2K11.
I think they did it to please the usual crowd of the Wii console that are kids and causal, non-hockey fans, but I really hated that personally.
They did probably to give a player more control, but it resulted in less control, because of how fast players were skating and sweeping the stick at the same time.
So I'm really happy that I found the codes that are responsible for that and was able to make using the defensive stick as possible.
I can tune the speed of the initial defensive stick poke animation
The speed how you can sweep the stick
I had reduced greatly the skating speed of player that is sweeping stick
And I also forced the skater to respect the direction of his skates, while using the defensive skill stick.
Offensive Skill Stick
I found very similar speed and physics issues that neede fixing with the when it comes to the offensive skill stick.
So in 2KHS now a player that is sweeping his stick with the puck can no longer skate in full speed or deny the laws of physics.
I was also able to tune the speed of the actual sweeping animation, so no longer a human-controlled player or AI can abuse this mechanism.
I was able to separate the regular wrist shot animation from a wrist shot animation that triggers when using the skill stick and make it little more responsive.
Well, don't expect the same level of control that you have in the latest NHL 20 when it comes to the offensive skill stick, but It's still great to have such feature in the game.
A.I. Improvements (v0.7)
A.I. DEFENDERS HUSTLE FIX*
Probably the most important thing moving forward will be to fix some of the holes that organic physics-based gameplay can produce from time time.
These holes can be especially annoying on the defensive side of the puck, where the AI is little too overreactive on the puck, not managing the gap correctly and simply put, playing way too risky at times.
For the 0.7 release, we had already fixed the issue where the AI defenders didn't know how to use the hustle or speed burst which led to some pretty awful situations as you can see on your screen.
They were just slowly skating back watching the other team forwards hustling behind them, give away one breakaway after another.
I don't think I have to tell you guys how bad it was.* This was game-breaking from a sim perspective... well, from any perspective, to be honest
It's still not perfect, but luckily as you can see this massive AI hole is now fixed.
REALISTIC PASS RECEPTION
Another really cool thing that I found in the code is a piece that affects the pass reception error. With this piece of code, I can tune how often AI or even the human-controlled player can miss the pass from a bad angle or when not facing the puck correctly.
Again another very useful layer that in combination with diverse player passing attributes adds some extra authenticity to the mix
A.I. SHOOTING LOGIC
When it comes to the offensive side of the puck, one of the things that I wasn't happy with was *A) the shot animation speed, but also the type of the shot animations itself.
I felt like the AI very often chose a wrong shot type for a given situation and a given position of a player on the ice.
Some of the shot animations honestly looked literally like they were motion captured for a different sport or the shots were way too powerful for picked animation, distance from the goalie etc.
It often led to very ugly goals that looked more like a glitch, especially in a combination with the wrong speed of these animations and how goalies have to react to them.
So I'm really glad that I can assure you that you won't ever see again fro example this infamous lacrosse shot animation that AI used so often in the NHL 2K10 and 2K11.
Also, you will see the defenders take a proper slap shot from a blue line, instead of these weird semi-wristers where a player was leaning into the wrong/opposite direction of the shot etc.
You will generally see the AI taking more slap or proper wrist shots from various positions on the ice.
Of course, all shots animations are now running in a correct, realistic speed and the puck has more weight, but that's for another video...
CONTENT
GRAPHICS
*2183 new hand-made 8K ready textures (8.09 GB)
*LOD model code, that forces the game to use the best LOD models all the time, thus improve the player models significantly.
*Realtime self-shadowing and reflections.
*Authentic puck size model
*Fully animated benches
*Coach on the benches
*Animating crowd
*60fps code, that force the game run at 60fps even during the real-time off-play cutscenes, replays, intros etc.
*"No helmet" code that allows a player uses no helmet.
*Realistic bloom and Light scattering
CONTENT (the most noticeable changes and additions)
*All-new Broadcast camera 2.1 (there is no broadcast camera in default game)
*Improvements to other cameras at the faceoffs
*Reworked menus and fonts
*over 60 highly detailed hand-made player heads and hair styles made from scratch, all other heads are at least significantly improved.
*all-new refs clothes design and heads, including Bill McCreary
Player Gloves: Every team has authentic team designs sets of gloves from CCM (new and vintage), Jofa 686 L, Koho, Bauer, Cooper, Sher-Wood, Louisville TPS, Warrior, Easton, Reebok and 4 pairs of typical vintage leather gloves.
Can't wait for the release day. I am so looking forward to trying the new gameplay!
Will try to make a new release of the editor with snowdrift, that we can release perhaps in relation to this release. I also intend to make a "2K20" roster mod file to complement your release, for the guys like me that like playing with current players.
As I've said before, feel free to use my startup scripts in your release DJNEO, so that the game can be installed and run standalone from any folder, not just the user folder.
Well enough of that, this is all your time to shine!
You have put such a great amount of time into this that it's insane. But the results look awesome. Way to go mate!!!