Week 12: March 28 – April 3rd
We are back to the regularly scheduled devlog with a busy week and some good progress. I mull over the art style a little, talk about the current and future state of combat, then mention a few small things I did before talking about what’s coming up next week.
Simple and Clean
While I have a somewhat solid idea of how I want everything in the game to look, the style in which it will be rendered has always been kind of vague. You can have strong silhouettes and stylized models protrayed thorugh several manners, such as with pixel textures or single-color, flat-shaded lighting. In what turned out to be a relatively easy experiment, the default use of Unit’s legacy Toon shader resulted in the effects above – a nice clean-looking style that brings out the color rather well. While the legacy shader is only experimental and I plan on modifying the Standard shader a bit to see what else I can get, I’m rather satisfied with the impression and I’m looking forward to exploring environmental design with this sort of rendering.
In a basic sense, the combat is functional. The combatant is able to follow the player, attack at various intervals, decide whether or not to do a follow-up attack, and coordinate with the Consensus AI to ensure only a few melee aggressors can attack at a time. Some additions that need to be made include some strafing behavior when the combatant is denied an attack and they need to reposition and try again; right now they can circle around but they need variation in direction and a slower pace to it. Another might be “layers”, where I have the agressors form up close while another number of them would form a circle somewhat farther back while slowly circling the player. Following these, there will just be a process of general iteration while I get the feel right, the largest concern being how pressured the player feels and how clumped up the attackers are. I also just need to slap a random “blocking” state into the tribesmen to toggle on and off at intevals – something I can make more logical later.
In the weeks after the demo day (and before I upload a demo to the internet) I’ll work on some deeper systems such as parrying and staggers. The player will be able to parry whenever – the tribesman on a logical interval not unlike their blocking one. Staggers will occur based on some sort of basic consecutive-hit system, which will probably be expanded into breaking someone’s block. A staggered person will be taken out of the current attacker’s roster, allowing a nearby combatant to step in and be aggressive.
If morale is easy to implement, I’ll throw that in too to break up the fight when most are dead. The system itself would be easy enough, but path-finding for the individual AI would be location-dependent and require a basic level setup.
Odds and Ends, Next Week
A few other things that I did but don’t deserve much note: I moved over to the component-based navmesh system using the files found on Unity’s Github. This allows me to have Humanoids and Rabbit navmeshes both active at once, which was surprisingly difficult or maybe impossible to do before. It’s also somewhat more robust. The other thing I did was tie up the Tribesman animation with a Third Person Character and some Blend Trees to make him blend animations really nicely depending on their movement direction and speed.
I only have about three weekends to put together the demo for my university club, so I’d like to get it basically fun by then and dress up a cute arena for a combat trial. I’ll basically be crunching through the things I already mentioned, hopefully getting unit movement and attack intervals down so I can smooth out their player-facing IK. After that I’ll work on blocking, some extra animations for polish, and, of course, player-health (which will end up being a placeholder, as I have a more interesting system in mind for the full game).
It’s hard to plan around not knowing what all is gonna get done, especially combined with a few more midterms over the next week, but I’ll just keep putting work into it consistently over time until something I like comes out, which is sort of my motto.