Logan - Dev Log 2


For this project, I was the main programmer of the group. I did work on the pause menu, character selection menu, and enemy AI mechanics. The pause menu was fairly straightforward, just a few buttons that either resumes the game, quits the game, or leads to the character selection menu. The character select menu is where both players choose which of the four player characters they would like to control. I set the menu up to display whichever option is being hovered over at the time, and the display would only change the player whose character was being selected. The first input would select Player 1's character, while the second input would select Player 2's character. The enemy AI was also rather straightforward, its set to roam around at random until it spots a player, then it chases them down. The catch is that the AI will stop moving if within sight of either player, and within a certain range of the camera.

I learned a good amount how to troubleshoot issues in the code, and adapting pieces of code from others to fit my needs in the project. A prime example would be getting the AI to work properly at all. It would only really slide around, and not play the running animations. That was fixed by removing an AND node in the animation script. Then when implementing the stopping code, there were speed bumps everywhere. In order to get the AI to stop, there's a cone mesh connected to the third-person camera that scales along a line trace such that it doesn't go through walls. The cone mesh was a custom one imported from Blender, as I needed the scale point to be the very tip of the cone and not the center. There was then an issue of the cone overlapping the second player, as well as the second player's own cone of vision, meaning the camera would bug out if the two players got too close to each other (fixed by allowing the cone to ignore camera traces). Finally, there was the issue with the cone interacting awkwardly with the floor, meaning the enemy wouldn't stop correctly if the camera was anywhere above the player (fixed with making the floor geometry ignore the line trace).

I wish I had more time to work on the menus. Namely, the Settings option in the pause menu currently doesn't lead anywhere, so if I had more time I would have gotten that implemented. I also saw how much of a nightmare it would have been to implement controller navigation into the widget menus I had, so if I had the time I would most likely rework the menus to accept controller input.

I think the hardest part on collaboration would have the constant merge conflicts I had to sort through, and finding a way to prevent them. They all stemmed from the main level being worked on by two people simultaneously, so I think if we had initially had each person work on their own separate level, then merging them automatically into a master level, we wouldn't have had so many parity issues and merge conflicts to work through.

Files

PlunderGame 1.0.zip 560 MB
Oct 27, 2023

Get Plunder