Skip to main content

CAGD 377 - Blog Post 2

 The process of developing Portal Packaging has gone well. All of the members of the team have continued making good progress on the project, and our strong communication has managed to carry over from last sprint as well. Personally, however, I ran into one major issue that stopped a lot of the momentum I was carrying from the initial sprint into this second one. 

The main issue that I encountered this sprint was that I took on the task of implementing a Narrator system into the project. I am not an especially well-versed programmer, but because of the workload which Chase, our lead programmer, has been taking on in order to program the main mechanics of the game, I decided that it would be more beneficial to the team for me to program the Narrator which would instruct the player in how to play the game based on what actions they have or have not done.

The issue that I ran into was that because I was very unfamiliar with using the Observer pattern in programming, I had a hard time writing a script to listen to events without being very coupled to the main PlayerController. Fortunately, two days into the current sprint, I have been able to use the Observer to create a Narrator that subscribes to the PlayerManager and listens for the player actions. 

The experience with this group has been drastically different from my past experiences because I am in a position where I am able to try and push the mechanics and overall experience of the game further without being burdened by a time constraint. As seen through our burndown chart and velocity, we are much ahead of the pace that we set out to be at the beginning of the first sprint. I do believe that due to the work ethic of our members, we will be able to maintain a position where we can keep working hard without worrying about whether we can finish the product.  

Due to us being far ahead, though, instead of trying to increase the number of mechanics that we put into the game, I want to try to polish and refine all of the existing mechanics and elements that we have in the game to a great extent. As Dan suggested after our Sprint Review 2, I agree that the levels need an additional layer of complexity that forces the player into problem solving rather than each level having an obvious solution. Alongside that, if we are able to make the crate, portal, and gel physics feel consistent to the player, that would greatly improve the player experience than if we were to continually add features to the game. 

This sprint, I designed and blocked five levels in total. I tried to make the levels varied in size and playtime in order to make each level feel distinct and make the player analyze each level with a fresh perspective each time. In retrospect, I should have made the solutions to each level harder to figure out, but now that I have the base levels blocked out and designed, it makes it much easier for me to introduce complexity to each of them rather than trying to design complex levels from scratch.



As mentioned, I also added a very rudimentary Narrator system. Soon after the second sprint review, however, I redid the Narrator system from the ground up so that it would use the Observer pattern and allow for me as the designer to easily change what the narrator says and responds to without modifying much of the code. I am currently working on increasing the complexity of the levels and implementing the mechanics that Chase has programmed into the game so that we get playtest feedback that is relevant to adjusting and changing the mechanics that we have.

    Finally, the last work of the sprint I did was that I went through every level that we have in our project at this point and remade the levels with planes so that the portals would function on them. If the objects were not made of planes, the portals would be unable to be placed on them.


Comments