Steam, Audio, and Directional Nonsense - Ryan Brown


Unfortunately, there was no big thing I was focused on this week for me to cover. I got a few little things done and spent the rest of the week frustrated at my inability to convert parts of my old blueprints to C++. Let's start with the successful parts of the week.

First, I finally got the Steam advanced sessions plugins for legitimate online multiplayer connections. This was a simple enough process, requiring me to simply add a new folder, add some info to our DefaultEngine.ini file, and replace the old create and find session nodes with the fancy new advanced session nodes. At the end of it, I was greeted with the satisfying result of being able to access the steam overlay from our game as long as I am logged in:


Next, I quickly whipped together some directional indicators on top of the regular hurt flash to show where our character is getting hit from in game. This uses the damage causer's location, our player character's location, and the rotation of our camera at the time of getting hit to determine an amount to rotate a custom material on the HUD to appear in the direction that the hit came from:


Last quick thing I did was add some audio to all my menus to give more feedback on hovering and clicking buttons, as it was one of the main complaints of our last play-testers.  Took some time to find audio clips that fit the feeling of our game so far, but once that was done, it was extremely straightforward to get it all implemented (turn up volume):


Now, for the big problem I've been tackling. This week has been fraught with needing to delete my local files and fully re-pull all of our project files over and over for multiple reasons that I won't bother detailing here. In any case, my main goal this week was to simply convert a single inefficient blueprint I made previously into code to improve performance. The problem is, it requires casting to multiple other blueprints that we have no intention of converting to code anytime soon, so we can't actually access them through code. To work around this, the idea was to convert interfaces that were already attached to those blueprints into code, so we could migrate the functionality I need to those interfaces and cast to those in code instead. Converting those interfaces was no big deal, only tricky in having to replace their references throughout the rest of our blueprints, but the main blueprint I wanted to convert, the PointOfInterest Widget, is another story. Here's how it is meant to appear on our minimap:

And here's how it appears after conversion:

I've narrowed it down to one issue, but I don't currently understand why it isn't working. In blueprint, I cast to the PlayerController interface from the OwningPlayer to access its functions returning variable references I need, and in theory, doing the same in code should be fine, since it is exactly the same logic, but somehow, when I do it in code, the interface always returns NULL. If anyone knows why this is the case, I'd love to hear your feedback:


Leave a comment

Log in with itch.io to leave a comment.