Game
JICE

3 years ago

Devlog - Toaster starts cooking


Recently I finished the enemy robot rework I was planning to do. It was successful, the first type of robot is mostly finished, and the other types can be more easily added later, now that I got the basic framework down.

The old enemy was a lot simpler but had its downfalls. Due to its 3d model it only allowed the full-body animations, without any separate moving parts. Its audio system spawned sounds at the location, which meant they wouldn't travel with the robot if it moved after saying a voice line.

Traveling itself was very limited too. Robot would move between 3 hard-coded points in space when there was nothing else to do and would not chase player during an attack task. In general, task following was done through some state checks and would be hard to test and maintain on a larger scale. This and other things basically made the old robot into a training dummy with no character and very basic interactions.

In comparison, new robot Toaster gets a lot of improvement, and there opens up a potential for new enemy types down the line. Toaster now has a different type of 3d model that allows it to have a wider range of animations. Its audio system is more complex: some voice lines take precedence over others and will always interrupt any other voice line. Any spawned sounds now travel with the robot and get a chance to be skipped on repeated tasks.

13-01-23-5.gif

Movement is less restricted - idling is now completely random within boundaries. Each robot gets its own small area where it can move between any randomly chosen positions. Moreover, robots can now recoil after taking damage and get temporary invulnerability (with a subtle visual cue) to prevent them from getting kebab'd with bullets. And to top it off, they get the ability to dash around after shooting their shots and continue to chase player if that one dares to run away.

Task following is now done through a mix of behavior trees and states. It is much easier to debug and extend functionality for any potential new entities. Overall, Toaster is much more defined character-wise. This is the first type of robot to meet the main character and, while it might seem dangerous at first, is more of a menace to itself and other robots than to the player.

This is reflected in its special ability during which Toaster "breaks": it becomes inactive temporarily and starts shooting harmful energy bursts, dealing damage to itself and everyone around it.

For now, this is all I wanted to do with the enemies for the demo version (besides polishing the changes, of course). Next thing I'm planning to do is reworking player abilities - I had a lot of time to think through my ideas for those and take into account players' feedback.



0 comments

Loading...

Next up

Dreaming of finishing games

Something of an atrium in the middle of an office area.

Ditched baked lighting, trying lumen now. Surprisingly, it doesn't seem like it takes up that much more performance compared to the previous setup - with a few tricks for optimization, at least.

Quick peek at my loot to equip flow. Open chest, grab gear, drop it straight into your hands. Still early, but the core is solid and works with both controller and KBM. More polish coming soon.

Will add a bit more lighting, but for now finished with this section of the Depot level.

Light work today on combining a piece of data and a checkbox. Unreal can't do this through C++ templates so I had to manually make a variant for each data type. Made it for several universal Blueprint data types.

Just jumping around Spaceport, collecting energy

The small web game I've been making recently is now on itch! Can kill a few minutes of your time if you like swinging swords at stuff.

https://sunnray.itch.io/nervewrought

Living room test

Moved to version 5.6 of UE, had to adapt to some changes like the enhanced input system getting rid of some things. Still, there were also some changes to global illumination, which fixed a few details for me.