Ryan Crim_PPJs_wk12 (Postmortem)
Ryan Crim, Week 12 Journal
Over the course of this term, there have been a lot of ups and downs in terms of developing Moo Dairy’s Shoppin’.
Issues
Performance Issues
The constraint of developing for the Drexel Ride presented a lot more problems than I had expected coming into this course. The majority of these problems were performance related, as we had encountered them several times and had to make big changes in response. One week in particular, performance of the game on the Ride was so poor that we were unable to get basically any playtest data due to the amount of dropped frames. In addition to John’s changes to add occlusion culling and remove the lights he had implemented, I made sure to limit the number of items populated on each shelf to prevent overloading the game. These were good decisions in terms of fixing the performance issues, however, they definitely take away a bit from some of the craziness I was aiming for in this game. In retrospect, we should have tested these limits as early as possible to see what we were able to pull off so we did not get stuck in a situation where we needed to make cutbacks in the game later on.
Controller Issues
With the provided requirement of two players needing to play the game in the Drexel Ride, the implementation of two controllers was a necessity. For the first few weeks, we just read from all joysticks which allowed two players to play, but also allowed players to use each other’s controls. When I finally got around to splitting the controls, there were no issues apparent, but randomly play testers or other group members would notice the raising of arms not working correctly. John and I have looked into this for a little bit now, and we have figured out that it reads from both controllers as one input for the trigger axis, but there is no rhyme or reason to why this is occurring other than it being some connection bug with wireless controllers for Unity. This has been a very annoying experience, and given the time constraints of this project, it may have been worth switching the controls since this issue still exists and occurs seemingly randomly.
Level Design/Texturing
In the end, we were able to implement a fairly large, three-story level with various stores that I think Ricardo did a pretty nice job putting together. However, we probably waited too long to get around to designing it, which in my opinion caused some issues. In addition to some walls/floors being slightly uneven and not ideal to adjust in Unity, we did not really consider texturing when designing the level. Therefore, when we got around to texturing it, there were some aspects of the design that prevented individual stores from being properly textured separately. This was a huge oversight on the part of our team, so looking forward to future projects, I definitely will not let level design take a backseat as it did this time.
Successes
Arms/Vacuums
One of the most fun and interesting parts of the game is the task of collecting items that Contestant 2 get to perform. In my tech demo with the initial idea, I had the ability to knock items off the top shelf, but I was unable to think of the proper way to collect items off the bottom shelves. After a few weeks, I thought up the ideas of using vacuums on each side of the cart to retrieve items from the bottom two shelves, which I think really helped the flow of the game. Furthermore, the animations I added to the arms (modelled and rigged by Ricardo) provide another element of wackiness to the game that I think really plays well to the theme.
Interactive Start Screen
At one point, play testers of our game were not sure what they were supposed to do when playing, so in response we implemented an interactive start screen to try to teach the players the controls and objectives. The first implementation I made was in 2D, and did not translate as well as I had hoped. Moving it into 3D by using the assets that were already being used in the game itself has helped tremendously, especially with the voiceover by John explaining what to do and the example buttons created by Jinghan to provide the feedback to the players inputs. Looking to future projects, this experience has reinforced in me the importance of having some form of tutorial to explain the game since it is not always as readily apparent as we as the designers think.
User Interface/Music/Sounds
Overall, I am just really pleased with how the design of all of these aspects of the game turned out. In my opinion, the UI that I put together using the color palette/2D assets put together by Jinghan and the fonts we found, appears to be very logical and clean. This is definitely a style that I really thinks works, so I hope to use these ideas in future projects. In terms of the music and sounds, John did a very nice job creating all of the voiceovers and finding the majority of the sounds, and together we found some good music to provide flow to the experience.