Week 6: January 29 – February 4th
There’s not so much to say in this week’s devblog that I haven’t already mentioned, but you can see the fruits of my labor with the Hare AI and check out an in-depth idea of my dev plan leading up to the end of April.
Seek and Destroy
One minor detail I’ve included real fast is ragdoll physics for the hare. It took a small while to figure out but didn’t end up being hard to implement, even with some difficulties in the process. It could use some more polish but it looks good and adds some surprising physicality.
I managed to integrate most of the code I mentioned last blog in the hare behavioral scripts. When scanning, they now search for plants at the beginning – using a Physics.SphereOverlap function in Unity to get colliders for every plant object in their radius -and move into a phase at the end where they analyse the results. This result process involves taking every collider in the array, calculating a navmesh path to it, and then counting the distance node-by-node to determine the length. The smallest path ends up getting put into the CurrentPlant memory for the hare.
On a practical level this means hares will seek out and eat plants – with animations and all – and bounce from place to place until they’ve had three (or however many I think they should have max) before they go home. What’s more is that the runts are pretty considerate of one another and won’t eat plants that another hare has already chosen to eat.
On top of this, they now change their radius of vision depending on their current state (a hare who’s busy having his meal won’t be able to see anything) and will run to a hiding place when they see something dangerous, which I currently just have set to their home. I should probably flesh out the “running away” behaviors a little more, but in all honesty I’m tired of working on them and I need all the hours I can get put into the work for the April deadline.
The April Deadline And The Plan To Get There
The April Deadline and the plan to get there are pretty simple; my objective is to get a playable demo of the game released with a few human enemies and a few test environments – all of it down pat and fair enough looking by the TBD date in the fourth week of April.
The gameplay loop will mainly be avoiding roaming AI of tribal warriors while trying to reach some location while trying to survive. There will also hopefully be a few passive/defensive stone age humans based around camps, which have resources if the player really needs them. Player weapons will be restricted to the knife at first, but I’ll include the spear and shield separately within the level along with a few javelins out and about for throwing. The player will be able to die from combat and take fall damage and such, perhaps with a basic health meter that won’t make it into the final game.
From a presentation standpoint, I hope to have at least a fairly natural feeling environment with good lighting, but I’d really like to nail down some grass effects, minor props, and trees. If things are just super swell I’ll throw in an attempt at a nice water shader, but I don’t expect it being high on the priority list. I’ll need sound effects as well for the majority of this, but as is tradition, I can essentially put that off until the end. Music would be nice but the same thing goes.
I can’t really say how much of this target I’m gonna hit but it’s something I really need to buckle down and aim for. The intent is not only to get a good, shareable version of my game up for people to test out and provide feedback on, but on the visual side of things I need to figure out an art style and the environmental design process should kick that off in a direction that I can either decide that I like or decide that I don’t like.
Next week is the 4th annual K-State game jam, and as is tradition, I’ll be competing. This means I won’t have a blog relating to Atavism, as I probably won’t get to work on it, but I should at least have something interesting to slap onto my portfolio and write a postmortem on before we get back to our regularly scheduled progress updates. I’m excited and nervous for the jam, but they usually work out fine, so I guess I’ll just be back again in a week and talk about how it went.