A bit of a weird and overly dramatic sounding blog title but anyway..
Ok more stuff behind the scenes. I’ve added load more attributes to npcs and made them editable. I realised I’d need my enemies to be able to follow the terrain like the player does but I didn’t account for the fact the non-bipedal creature don’t stay upright (like giant rats for example) when they run up hills. I guess humans don’t entirely but it doesn’t look ridiculous if they do.
In the screenshot above I’ve targeted a rat and I’m about to hit it with something and as you can see both rats look sort of ok but they should really be tilted to the terrain they’re on. I’ll have that working by the next blog post and that a promise. If you’re interested it’s not actually THAT complicated. Using the usual algorithm for calculating the height at an exact point of a triangle (you can find that anywhere on Elgooglado – no one call it that btw), you find the front and back height of the model and calculate the diference between and then using that different the angle you need to rotate the model about it’s X and Z axis. Not my work, some maths genius somewhere worked that out already so no need for me to devote my life to it.
This screen shot shows all the new attributes (I’m going to need a scrollbar or 2nd page for them clearly) and the terrain following kinda working. The rat closest looks good but the far one needs to be rotated sideways a bit (rolled in Roll, Pitch, Yaw terms).
Ok well the game interface also detects mouse clicks over the hotbar icons and whether something is targeted so now to make some basic combat code.
I also played with a particle emitter for blood splats or magic sparkles or whatever when you actually DO hit something but that’s not ready for public consumption yet.
Oh and the reason for “Death” in the title, NPCs can now be attackable (or not) and be dead. Right now if they’re dead they’re just rotated on their side. Obviously once I switch the NPC class over to using the AnimatedModel class they’ll play their death animation and end at the final dramatic pose.
Ok until next week: “Beware of Merinsard!” said the dark figure and rode away into the gloom.