A gryphon flying

Devblog Update #09: A new enemy!

It’s Devblog for Jasper Vice time again! It’s been a sprint with a good variety of skills, with modeling, texturing, rigging, implementing, and programming a flying enemy.

Enemy design

A good chunk of the game is set as a time of combat training for Jasper, and there will be a few different other Voyagers who will be opponents for the player during the missions. There will be two main types of enemies, a lightly armored flyer with ranged attacks, and a more heavily armored close-range flyer. This sprint was just focused on the ranged flyer.

Since it’s a gryphon I was able to adapt the model for Jasper a bit, re-texture it and add some light armor. There may be several different “teams”, so I made the armor able to be re-colored easily, and have a streamer flowing out behind to hopefully make identification easier.

There were some challenges coming up with the weapon design for the enemy. We don’t want it too overpowered, or to have abilities too far beyond what the player is capable of. A lot of ideas were thrown around, but in the end we went with forward facing blowguns. The enemy is meant to try and circle around behind the player, then dive in and fire.

Programming

The code for the enemy was mostly already functional, from when I had been prototyping early on in the project, which m ade things a lot more straightforward! The way it works is by the use of “steering behaviors“. Different priorities and weights are assigned to different behaviors, and a certain directional force is applied based on that. This creates some pretty cool emergent behavior if it’s done right, as the character is responding to whatever stimulus is around it. It may be trying to simultaneously patrol around a defense target, and also chase the player, for example. From the tests I’ve done, it works fairly well, but there’s a lot of tweaking of parameters and such still to do, which will likely take up a lot of this next sprint. I also got the flying enemies hooked up to the same detection/alert system that the turrets use.

Something I’m going to have to dig into this next sprint as well is a few performance issues that have popped up seemingly from nowhere. Hopefully they’re a simple fix, but we’ll see. Thanks for taking the time to read the blog!