Learning and re-learning

A silly mistake of mine, I had made the max digits on the dial 9 even when the max number of the cypher was 12 so I quickly fixed that. I then moved on to the puzzle to make sure it was completely solvable. Run into a few bugs but it just took some poking around to find out that I had put the wrong sequence of numbers in the code. After some tweaks it worked fine. Made sure the images on the table were clear so the player doesn’t have a problem seeing it, also added some sound and visual effects to the dial itself. Now that I know how to create event dispatchers, and bind an event so that something can listen out for it, it wasn’t too difficult to change the lighting of the level once the puzzle is solved. I’m planning to have the light change throughout the boss fight as well.

Aaaand then I moved on to the difficult and rather frustrating part of my day which was adding a basic AI to the boss. It has been awhile since I made the original one that I did for the first boss, so like all my previous lessons I had to go back and refresh myself. Although I looked for a more updated tutorial because the one I had watched didn’t use many of the recent updates which took advantage of very efficient tools such as perception components so you don’t have to manually add your own logic for sight or sound. It was incredibly simple compared to what I had created for the other boss. Created a nice big golem that could follow me around the level.

So I cleaned up the base blueprint that I used for all the characters, removing this memory marker that was from the previous AI logic and now was unnecessary. This was when I started running into some issues.

I tested out the boss fight and it wouldn’t move. I didn’t add perception to the boss, added it and now it could perceive. Which was way better than the original code because it was overly complex and quite unseemly. But then for some reason it would only move and not be able to attack. It was firing the line traces but it was not detecting the player. I’m not sure why I had to change the way it traced for the player, even if that had nothing to do with the previous changes I made. Maybe there was something important about the AI perception component I am unaware of. Thankfully it eventually worked.

Next issue was that the target widget on the enemies wouldn’t appear. It was invisible for some reason so I tried toggling the visibility instead of hidden in game. Apparently there’s an important difference between the two, but I can’t remember what, except for the fact that I should be using visibility and not hidden in game. Some rendering logic I’m guessing. I thought that fixed it but on the big golem boss it still wasn’t appearing. While testing what was wrong I noticed that the target was way up in the sky. When I set up the attachment of the circle it wasn’t binding to the right place which was supposed to be the socket. So I fixed it and voila it worked perfectly.

Final issue was that the whip was not hitting the golem. Took me awhile to figure out that the settings of the mesh were to ignore visibility channels where was where the whip was tracing for things to hit. So I made sure that all the settings on the capsule and mesh of the golem were the same as the first boss, and that seemed to fix everything. And to make sure I don’t waste as much time the next time I create a new enemy I copied all the necessary files into a new folder that included all the base necessary objects so I don’t have to tweak so many settings again. I should have had the foresight to prepare for making new bosses when I was making the first one, but better later than never. Overall one of my most tiring days of development.

Leave a comment