Your Feature Request / Idea
Good evening/ morning/ afternoon to whomever may be reading this.
This post has come at the suggestion of the JWE reddit who suggested I put it up. So, made an account and here it is. I'll preface by saying I have some moderate knowledge in the area of animation and a working knowledge of creating solutions for games that exhibit ragdoll physics.
Over the last few weeks, ive been striving to create a solution to the games lack of pack hunting that can exist with little impact to the game as a whole. I have a limited but working understanding of JWEs code and there are immediately a few problems with pack hunting from a programming perspective.
To start, the dino rigs are basically all collision points due to the need for their legs and most central mass to interact with the environment in a meaningful way (e.g: dino feet always being flat on the ground, not clipping all the time).
Secondly, I'm pretty sure the dinosaurs also use a reactive animation set rather than preset loops when moving and running, which means truly organic pack hunting is unlikely to happen because of the sheer number of variables once you start factoring in things like other animals in the vicinity, environment and point of impact for say, a pouncing raptor who's legs and claws could be anywhere in their cycle. The client side load would be HUGE once you consider everything else that happens on your map, especially console players.
With all this in mind, I've come up with a solution that works in theory. Even the most simple of 32bit systems could handle it.
Implementation
Firstly, small carnivores need to be affixed with a set value that is a combination of stats and a basic value that is universal across the species.
Secondly, this value should be multiplicative with itself but hidden from the player. A pack of animals will have an overall score that is a combination of these stats. This value is called a Hunt score or Hunt value.
Herbivores likewise should have a hidden value of their own that should be a similar sum and calculated in a similar way. This value is a defensive value, and is likewise based on the dinosaurs overall stats.
Starting a hunt
The carnivore packs designated Alpha will run a criteria search in its vicinity for a suitable large or medium herbivore. They already do this when looking for goats.
On a successful check, the game will essentially roll a dice and add the packs hunting value before subtracting the Herbivores defensive value. What you then get, depending on the outcome is either
A) A critical success. The herbivore will be felled.
B) Success. The animal will be wounded and starts to lose health, as with sickness. Eventually dies.
C) Failure. Herbivore will be wounded but doesn't continue losing health. Carnivores are wounded after being thrown off.
D) Critical failure. The herbivore fends off the foe. Alpha is likely killed.
The animation side of things.
On a successful criteria check for a herbivore, up to four dinosaurs will move into position to begin a sort of freestyle run towards the herbivore until they're close enough to begin a pre-set animation cycle determined by the initial outcome of the roll. During this cycle, animals should become a non-entity in game until completion of the cycle.
The reason for using a preset animation and limiting to four animals regardless of overall packsize is because of the following.
To prevent client-side errors when several packs are hunting across your park. The game can't handle a randomised encounter structure. Trust me.
Ease of implementation. Once you've animated the presets for one hadrosaur, you've done them all with (relatively) little adjustment between species.
The option to add more and more animation cycles that adhere to the same rules, chosen at random during the initial check.
Less likely to glitch. Once in position, the outcome is all but determined and it's easier to move the actor dinosaurs into a favourable position.
The game already supports preset animations. As simple as it sounds.
Basic though it may be, this also opens up the possibility of say...Herbivores coming to their herds aid, unique animations per species and other additions further down the line.
This is a very brief summary but I hope it highlights the biggest obstacles to pack hunting that are likely encounters on the programming and animation side of things. It's designed in a way to keep you guessing while simultaneously being within the games capacity for new behavior.
Good evening/ morning/ afternoon to whomever may be reading this.
This post has come at the suggestion of the JWE reddit who suggested I put it up. So, made an account and here it is. I'll preface by saying I have some moderate knowledge in the area of animation and a working knowledge of creating solutions for games that exhibit ragdoll physics.
Over the last few weeks, ive been striving to create a solution to the games lack of pack hunting that can exist with little impact to the game as a whole. I have a limited but working understanding of JWEs code and there are immediately a few problems with pack hunting from a programming perspective.
To start, the dino rigs are basically all collision points due to the need for their legs and most central mass to interact with the environment in a meaningful way (e.g: dino feet always being flat on the ground, not clipping all the time).
Secondly, I'm pretty sure the dinosaurs also use a reactive animation set rather than preset loops when moving and running, which means truly organic pack hunting is unlikely to happen because of the sheer number of variables once you start factoring in things like other animals in the vicinity, environment and point of impact for say, a pouncing raptor who's legs and claws could be anywhere in their cycle. The client side load would be HUGE once you consider everything else that happens on your map, especially console players.
With all this in mind, I've come up with a solution that works in theory. Even the most simple of 32bit systems could handle it.
Implementation
Firstly, small carnivores need to be affixed with a set value that is a combination of stats and a basic value that is universal across the species.
Secondly, this value should be multiplicative with itself but hidden from the player. A pack of animals will have an overall score that is a combination of these stats. This value is called a Hunt score or Hunt value.
Herbivores likewise should have a hidden value of their own that should be a similar sum and calculated in a similar way. This value is a defensive value, and is likewise based on the dinosaurs overall stats.
Starting a hunt
The carnivore packs designated Alpha will run a criteria search in its vicinity for a suitable large or medium herbivore. They already do this when looking for goats.
On a successful check, the game will essentially roll a dice and add the packs hunting value before subtracting the Herbivores defensive value. What you then get, depending on the outcome is either
A) A critical success. The herbivore will be felled.
B) Success. The animal will be wounded and starts to lose health, as with sickness. Eventually dies.
C) Failure. Herbivore will be wounded but doesn't continue losing health. Carnivores are wounded after being thrown off.
D) Critical failure. The herbivore fends off the foe. Alpha is likely killed.
The animation side of things.
On a successful criteria check for a herbivore, up to four dinosaurs will move into position to begin a sort of freestyle run towards the herbivore until they're close enough to begin a pre-set animation cycle determined by the initial outcome of the roll. During this cycle, animals should become a non-entity in game until completion of the cycle.
The reason for using a preset animation and limiting to four animals regardless of overall packsize is because of the following.
To prevent client-side errors when several packs are hunting across your park. The game can't handle a randomised encounter structure. Trust me.
Ease of implementation. Once you've animated the presets for one hadrosaur, you've done them all with (relatively) little adjustment between species.
The option to add more and more animation cycles that adhere to the same rules, chosen at random during the initial check.
Less likely to glitch. Once in position, the outcome is all but determined and it's easier to move the actor dinosaurs into a favourable position.
The game already supports preset animations. As simple as it sounds.
Basic though it may be, this also opens up the possibility of say...Herbivores coming to their herds aid, unique animations per species and other additions further down the line.
This is a very brief summary but I hope it highlights the biggest obstacles to pack hunting that are likely encounters on the programming and animation side of things. It's designed in a way to keep you guessing while simultaneously being within the games capacity for new behavior.