Blog Blog Post

Atavism Dev Log 14 – Parrying and a Demo Level


Update 14: April 18th – May 1st

It’s been a busy fortnight between semester finals and Atavism, but everything is coming out pretty well. My work was generally split into two parts; the first week of which was spent on making a level to show off the Tribesmen for my Gamedev club and the latter week of which was spent implementing some new features. I’ll be talking about these things, a bunch of smaller stuff that got done, and then, as always, about what I’m going to be aiming at doing for next update. Without further ado, let’s get down to it.


Demo Day

The demo level kinda shows off the product of what I’ve been working on, but it’s really not much to look at and more of a museum and a combat arena than an environment. The beginning of it has you climb up a ledge before a short room with the rabbits who scurry around, eat, and return to their dens. A brief canyon separates the first area from the second, opening into a larger canyon with cliffside walls and some tribesman lying in wait.

Because I don’t have an out-of-combat AI for the tribesman yet, they just stand statuesque until the player hits a trigger to turn them on. Right now they can pursue the player, swap in and out of direct attack based on proximity, then attack, strafe, and parry the player. The second environment will heal the player when they trigger more enemies who will attack three at a time, leaving them to fight or die for the remainder of the demo.

There’s no real goal besides tasting the combat, which includes the knife, spear, and rifle. Without guard-breaking the player, there’s not a whole lot of balance to the spear if you just block with it, and the rifle makes this encounter trivial, but it shows off all that I’ve made and gives people a taste of what’s to come.


Blunting Bronze, Broken Bones

As far as blunting bronze goes, the player is able to parry the tribesmen attacks and vice-versa. Tribesmen have a chance of entering a parrying phase, wherein they assume a defensive stance and deflect any incoming player attack before swooping in to seize the opportunity. The player has to try a little harder by pressing the block button at the right time to deflect the enemy attack, leaving them open for a swift strike.

As far as broken bones go, I’ve implemented fall damage, which is simply calculated off of detecting player velocity whenever they land on the ground (go figure). Right now damage is calculated between a “safe” threshold and an “instant kill” threshold, scaling damage linearly depending on the velocity. I think I’d rather have this handled by a curve, but unless fall damage becomes really important to get right (which by all means it may in the future) I won’t try to handle that right now.

Odds and Ends

In this section, which may occur every update depending on what I’m working on, here’s a smattering of changes that didn’t need their own paragraphs of explanation:

  • Made a few environment props in blender, notably the spire things and the cliff walls, neither of which may end up in the main game but who knows. The other weird tall thing was made by my friend Tyler for Bringer of Brilliance but never made it into the game.
  • I’m using a modified Standard Shader for Unity instead of just the toon shader, which I’m liking the look of a lot more due to its more robust shadowing system and other features. Credit to this guy:
  • Added some flinching animations to enemies when they get hit (even though they do this with the rifle, which is just silly and needs to be fixed)
  • Fixed some dumb bugs with swapping the “standby” and “core” tribesman.
  • Fixed the dagger hit registration to go along an arc instead of just two points.
  • Adjusted input weight so that the player no longer moves a little bit after the keys are pressed.
  • Fixed crouching collision bug where player’s camera stuck through the environment above them.
  • Fixed being able to switch weapons while parrying
  • Fixed the foot positions for the tribesman more so that they don’t clip into the ground (as much). Still need proper IK for those.
  • Controller support fell through for now because of how weird it is to deal with in unity. I think I’d rather wrap the input system with something of my own or design more specifically around it, because what I was trying to do quickly became messy when input axes got involved. I’d rather do it properly than toss it in.


Next Update

After I finish the last few items on my current trello list, I have a whole new named “Spring Cleaning” slated for just a bunch of tiny things. These range from “clean your desktop” and “tidy up your gamedev bookmarks” to just a ton of random errors I’ve been meaning to fix for a long time and quality-of-life editor improvements for myself.

One of those things too is “Upgrade to Unity 2018.1” which released publicly literally today. That should go pretty smoothly, but it’s gonna require fixing the Standard Shader modifications I made to work with the new one (and the new render pipeline), which could involve learning about shaders a lot more and that’s gonna take some time. If no easy solution comes up for a while, I’ll probably just put it off until rather later, but I do want to base the rest of the project on that version.

There’s honestly a lot of spring cleaning to do, but after that I’ll add just a few more combat features like a sidestep, out of combat AI, and morale-breaking to the tribesmen. When those are in, I’ll deep scrub for as many minor issues as possible (of which I already have written a lot) and polish them out to a mirror sheen with more animations, bug-fixing, and maybe even some sounds (imagine that!). I still have to add spear and shield variants to them, but in all honesty, despite how it would be relatively easy to add, it’s gonna involve changing how both the tribesmen and their weapons look a little, so I’d rather do it later when I can focus on it as a whole.

My goal is essentially to get all but a few things down pat for the tribesman; not exactly content-locked, but getting all the content they have here as shippable-ready as possible, which is gonna cut off some other stuff until much later or maybe leave it on the cutting floor entirely until much later. I’m anxious to get this stuff polished out to start working on something else.

There are a lot of little things involved the next few weeks, both in these to-do lists and in reality. Being more rigorous in cleaning stuff up is gonna extend the time required to get it done, but I’m also going to finish this school semester off and move into an apartment, which will contribute to the general flux. The madness should be over by the next blog post, but we’ll see, and after that it should be smooth sailing as summer will give me more time to work.

Until then, cheers!

By Steven Zwahl

I'm a Computer Science undergrad at Kansas State University.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s