I’ve been working sparingly on a game where the player is an animal, set in the future with a cartoonish style. There are some problems and questions I have regarding the level of difficulty of this idea, but I know it is not impossible.
The part I’m stuck on? Hunting. As realistic as possible. But how to incorporate that into a multiplayer game?
Here is a basic explanation (non techy) of what will happen during hunts, and before I go any farther really quick - it is a MMO, so I have to take into consideration how I can have multiple clients doing this action with a minimal usage of data and position info.
- Predator attempts to sneak up on prey, assuming it’s downwind and has cover, it gets close enough to start chase.
- Predator bolts after startled prey.
- Predator (if fast enough) leaps for the prey, either using jaws, or paws, to try and pin it down.
- Predator, if successful, suffocates the prey or eats it while it’s alive.
^ here is what I’m trying to program ^
Slightly more detailed outline:
- If predator enters view of prey (basic radius) while sneaking, in cover, and downwind, trigger attack mode.
(else, prey goes to alert and will flee prematurely + notify other prey in the area)
- During attack mode, predator is automatically propelled on the heels of prey for as long as it has stamina. Uses the prey’s pathing, basically. Player can cut this freely.
Video contains elk carnage
Now then, I cannot decide on how this should go. I was thinking QTEs and ‘football strategies’ so that group hunting would be much easier to coordinate. But here’s the kicker.
No matter what predator the player plays as, it has customization. Size, shape, weight, etc. so I do not think I should just create animations of attempts and the final takedown of the prey due to possible clipping problems.
Here’s another idea that popped into my head, a system full of rays, IK, and partial ragdolls.
While hunting, some new data is generated and preprocessed, and the server is notified.
If a predator leaps or swats/bites at the prey, and once all of the math is done to determine how successful the attack is, maybe the character’s legs/paws/maw gain some sort of active ray-casting IK where they can spam spacebar or something to keep the ‘cling’ going. Of course even with turbo spacebar tactics, that math from earlier was still done and will ultimately blend with the player’s input.
The paws for example would snap onto the target during a leap, using the prey’s simplified collision mesh for reference. (even though there’d be clipping, a MMO can’t afford to work too hard or there will be latency problems)
Or the player would have to strive to get its paws to ‘attack points,’ handled by bones.
The prey’s legs/horns/appendages become deadly weapons when they lash out (the game will have generated small spheres or something to make colliding into a joint during a kick etc. an attack) but their legs altogether show more weight than usual here as some partial ragdolling occurs here with high constraints to emulate a struggle from its hunter. Basically the balance being lost.
Predators will of course have to have partial ‘ragdolling’ for the rest of their body as they try to hold their prey down, their area of grip being the sturdiest but the rest of the body has some gentle ‘bouncing’ and ‘flopping.’ Physics, weight, dynamic IK targetting, so few but under the hood so many things that have to cooperate for a decent result.
Obviously the prey’s health will factor in here as well, lots of just different random values per generated prey unit that determines the likelihood of an animal being weak, injured, old, or even the spawning in of babies. I think that this can be mostly clientside, and once a predator gets close enough the client can relay to the server what state a herd or singular prey animal is in, so that other clients can interact with the event.
The same attachment methods will be used after the prey is dead to move it to cover.
Warning, buffalo gore.
I know the terms I used were not professional or technological by any means. I am hoping that this isn’t too far-fetched of a gameplay mechanic for a slightly massively-multiplayer game. This is just the outline, thoughts? Ideas? Today I’ll be starting this concept by having one of the predators bully a sphere, and see where I get.