Posts

UI Polish

Image
 Author: Yashwant Patel The main thing that our game was missing in the last week was polish on certain things. One of the largest thing that we were missing was replacing the placeholder with final UI assets. This would make the game feel more complete and the player would appreciate the game with a finished UI. Since I was working on UI I had an advantage, because I didn't have to go around searching for UI packs since finding assets that you exactly want can be hard. Instead I mostly made everything from scratch with the exception of some elements that I got from freepik.com  and modified them to what we needed. The main challenge I faced with the UI was getting everything how I liked. I didn't really use Unreal's tools for UI before in terms of properly structuring the hierarchy for UI elements and properly wrapping everything to have it behave how you want it to, so this took a day to get used to. Another thing that needed to be done was reprogram the UI since the old ...

Polish Everything

Image
 By: Matthew Steinhardt The Problem As it came down to the wire, there was so much left to do. It seemed overwhelming, however I decided to take it one task at a time. The list of things to do was vast and we continued to find bugs during our final build process. It soon became apparent that we were not going to address everything that needed to be fixed before submitting the archive build of our game. The Solution The first thing I did was try and mentally categorize the importance of different problems. I made three categories for things that needed addressing: Critical, Annoyances, and Feel-Goods.  Critical problems were for those that needed to be fixed. One critical issue we ran into was a bug where the player would seemingly randomly be unable to move indefinitely. Chris made an amazing discovery and noticed that the bug only seemed to happen when the player jumped before sprinting. This immediately led us to determine what exactly about jumping and sprinting could cause...

Playing Sounds

Image
 When applying sounds to the towers, I ran into a few issues. One issue is that there is no falloff or "fade" as you move away from a .wav being played at a location. Another issue is for sounds that play consecutively tend to sound echoed or overlapped, so to avoid this I needed to be able to play a random sound for our spike shooter spike mine.   I found that getting all the wave player sounds I wanted to play and connecting them to a random node inside a cue allows for a random sound to be picked and played when the cue is called to be played. The problem now is, our random sound will play, but it will not have any sound falloff when we move away from the source. A fix for that is to create a sound attenuation that the towers can use for adjusting the range and falloff of the sound.     Now that we have our sound cue and attenuation, the randomly selected sound will play from the cue at the location given with the falloff from the attenuation

Legacy Code Strikes Again...

Image
By: Matthew Steinhardt  As we come down to the wire to get everything implemented, the mouseover UI for the tower information was still being developed. After the implementation was pushed to the main project, it was apparent there was a problem. Oddly, enough the overlay system didn't seem to work when the player mouses over towers that were loaded in from a save state. Upon further investigation, it became apparent that a mysterious "TowerData" structure was not being saved/populated properly on towers loaded from a save state.  This was rather perplexing as this TowerData structure wasn't used in any other tower system. I tracked down used references in Unreal Engine and found out that it was a legacy system put in during the first weeks of development while trying to figure out a way to pass some simple data between the Tower Bar UI and the icons. Unfortunately, this system was largely abandoned in place of our better Data Asset implementation.  It turned out that...

Tower Polish

 Author: Yashwant Patel Problem All the mechanics for the towers have been updated and they work correctly, but one of the things that is lacking is PFI. While all towers had basic or placeholder visual effects they needed to be updated to make it feel like a game. The rocket tower had a cylinder for it's rocket, the gas dispenser had an expanding sphere (although it was a cool shader), and the freeze tower had an expanding cube for it's effect. Not to mention the rocket tower itself was a cylinder. So it was time to update these effects and get the freeze tower it's model. Solution The effects that I had in mind were going to be hard to find a 1 for 1 tutorial, so it was time to find videos that could be used as a basis for the effects. I knew the freeze tower was going to cause the most trouble since it needed some type of effect that would persist over a duration and the visual had to look like it would hit all enemies of any size. This means a simple beam wouldn't d...

Balancing... Just About Everything

  Author: Christopher Solomon      To make sure that everything is ready for the final build of our project, I have continued to work on balancing the various features of our game. Last week I primarily focused on balancing the enemies, since they were outdated in the current state of the game. This week, however, the process extends beyond just the enemies and into our tower, currency, and upgrade systems. Through testing our game, I was able to figure out which features were lacking in comparison to others. One tower that I found to be lacking was the Freeze tower, since it did low damage and inflicted a very short-lived slowdown effect. It only took a comparison to the Gas Dispenser, which did more damage and had the incredibly useful ability to turn enemies around on the track, to see that it was underpowered. In terms of upgrades, it is important to make sure that certain abilities don't become so powerful that they break the game. One such upgrade tre...

Displaying Upgrades

Image
       The problem I ran into this week was implementing the tower upgrade display on the placeable towers build overlay. The issue was that all the information I needed to display the upgrades was not made with the intention of using it outside of the upgrade shop. However, the upgrade shop fires a broadcast that an upgrade has been purchased. Using this broadcast, I bound some events to listen when an upgrade had been purchased and hijacked the information I needed from that event. From there I stored each upgrade as they are only fired once through the playthrough of the level. Using the stored values, after cast checking the current targeted tower, I use the information to populate a upgrade display widget and place it in the upgrade section of the build overlay. And the result is the build overlay showing the upgrade with the icon, name, and description.