One of my biggest weaknesses is not writing enough. I have so many awesome things to share, but I end up burning out getting them done. Then it’s time for bed. This is a rare occasion where I finished up some really cool integrations well ahead of “the game”, pun intended.
Game dev is weird at times. Invector – Shooter Template was the first Third Person Controller I bought. Then I dropped it for Opsive’s… and Dropped that … and I’m back to Invector because it’s so great. It was Immortal Realm’s first TPC. Circling around to making this Zombie shooter brought back the need to a really darn good TPC. Minimal to no inventory system needed. Just weapon pickup and fire. Old school gaming.
Invector does everything I need and more. It does it extremely well too. But it’s a self contained system. so integrating it’s damage system when my own AI, or other AI elements is a slight challenge. Documentation is much worse than Opsive’s by a long shot. It’s all buried in demo scenes that you’re supposed to dissect like a frog in Highschool science class. So It took a while to get working. Emerald AI’s integration tutorial shed the most light on where to start. Unfortunately the AI was too basic for a zombie game. “How can you get more basic than zombies?!?!”. I know right? But it’s true.
I’m a bit of a crazy OCD perfectionist. I need to get things “perfect”. I did want dismembering zombies but realized that it wasn’t possible unless the models were specifically designed that way. So I dropped that part sadly. But I wanted different stages of damage display. A healthy running zombie, to a limping, to crawling zombie. I needed a highly customizable Animator and variables to input the different stages of a zombie’s afterlife. I have this and it’s great.
There’s a lot of bugs though. I just fleshed out the zombie getting damaged part. I need to now work on the state transition from chase to actually attacking. It’s most likely a closeness threshold as the AI was originally designed for a First Person Shooter. So the zombie had to get extra close and the “Player” didn’t have their own Navmeshagent and Collider to contend with. I figure if I tweak a few parameters I’ll have it working in a few hours.
There’s that OCD thing again. I test everything to death and back before moving on. I try a single step, test. Try again, test… Don’t worry, things will be working in no time.
So what’s up next? I need to get Invector’s explosion system working with my AI. For some reason it works great against everything else. It may be that the animator is using Kinematic for the bones and I just need to turn that off. Then ragdoll on explosion. This is turning into a “personal notes” and thinking out loud sort of thing.
Anyway, thanks for reading, sharing and subscribing.
I can’t wait to see what the rest of this week brings.