Showing posts with label Controls. Show all posts
Showing posts with label Controls. Show all posts

Tuesday, March 8, 2016

David Monteleone, Week 9 Journal PPJ, Blog post 9, GMAP 378

Content with Hours:

                Since this is our Post Mortem PPJ, I’ll keep what I did for the week to a short paragraph. Here’s a quick listing of bugs that I fixed: made aliens move faster in Water Gun, fixed Mech controls to be on the correct side for shooting, made the Press game slightly longer, added missing textures throughout the game, added and modified control panel images that were wrong, added alien controls to games missing them, and added human controls to games that lacked them.
(1.5 hrs)
                In addition to bug fixing, I also made the final credits scene to display our names and the music copyrights. I implemented the art for Press that Jinghan made. I removed the old and unnecessary UI elements from all of the games. Ie: the ‘X’ button, and return button in the top right corners. I added the Popcorn Popper texture that Joe made. I then started to work on the final GDD deliverable. In addition to these tasks, I spent a large amount of time playing the game as many times as I could. Every time I found a bug or issue I’d report it to the appropriate person via Slack. I love where the game is right now!
(3.5 hrs)

Content Positive (Duplicate hours from above):
-          Fixed various bugs throughout the game (1.5 hrs)
-          Added missing artwork, made the final credits scene, removed old UI elements, playtested the game like crazy, and worked on the final GDD.(3.5 hrs)

Content Negative
-          None

Total Hours for the week: 5 hrs

Personal Post Mortem:

                Since this is a personal post mortem, I will discuss how my efforts affected the team and where my efforts went right or wrong. In general, I believe that I was a great asset to the production of Alien Arcade. From the very beginning, I helped shape the game to be what it is today. Whether that was with my hard work or leadership the game was definitely impacted by myself. I’m happy to see the game be where it is today, but of course, there are always lessons to be learned by the mistakes made along the way.

What went right?

        1.       Documentation
During the term, I was in charge of all documents related to team organization, documenting the game, and putting in writing what the game is actually supposed to do. I put a significant amount of effort into each deliverable that related to documentation. The end result was a very good response from our professor. The game was also easier to understand and the group had a single document to go to for information on the game. I believe that this contribution was critical to integrating the new team members into our group early in the term. The documents explained how to make mini games and integrate them into our system. This is probably one of the best products that I produced for the team. This taught me the lesson that well done documentation can be one of a group’s greatest assets.

        2.       Game Making and Up Keep of Old Games
The group followed a similar development style as last term. As such, I developed three of my own games and maintained them. Because we allowed individuals to maintain their own games I was able to completely focus on keeping my games in tip top shape. I also took on the task of maintaining the games from the previous quarter. Trust me, there were plenty of bugs to be fixed in the original five games from last quarter. As a result, I polished a total of 8 games and am extremely happy with where they are at today. This taught me the lesson of being responsible for past work while also maintaining work that you have recently made. I didn’t make others find my bugs from last term. I went back and fixed the old games while still maintaining my new ones.

        3.       Communication
I made it a clear to everyone when bugs existed in their games or when things just didn’t seem right. During each group meeting I was an active member that participated and made sure that my voice and opinion was heard. Without this type of communication, many bugs would’ve never been fixed, controls would be flip flopped or nonexistent, and games would lack the proper art that the artists had put the time into making. I made sure that if an asset was ready to be put in a game that the person knew to put it in the game. I also made to sure keep the group on the same page when adding in new features, adding bugs fixes to another person’s game, or updating the GDD which is the final say in how the game is built. These lines of communication and networking are critical, especially when working with a group of 11 and using version control software. The lesson learned here is to always keep your lines of communication in a group open. People should always know what to do or what to fix.

What went wrong?

        1.       Time Estimation
Throughout the term, and even last term, I struggled to estimate my tasks appropriately. I ended up having many tasks being “Extra” when we would present the Status Reports for each week. This is something I know I have an issue with and I did attempt to fix the issue. I always tend to underestimate the amount of time it takes to fix bugs or implement features. The lesson learned from this is to use your past experience as a gauge for estimating the time required for tasks in the future.

        2.       Time Management
I did not have nearly as much free time as last term. This is a result of having more classes than I did in the fall quarter. As a result, I had to schedule my work for the project in tighter and more constricted time blocks. This resulted in many of my tasks being rushed and not as thoroughly completed as they could’ve been. An example of this would be the controls that I had to do two weeks in a row. I needed to manage, and space out, my tasks for each class more appropriately so that I could complete each class’s tasks well. This closely relates to my time estimation problem, but this is more so regarding my timing of everything in general. Balancing outside work with classwork and making sure each is given an appropriate amount of time. There were a couple weeks here and there that could’ve been given another hour of two of production for the game. This reason here is why I did not accept the leadership role that was offered to me at the start of the quarter. I simply did not have as much time to be the same leader I was last term. I think that was definitely a smart decision on my part, both for myself and the group. The lesson learned here is to make a schedule for each week or month and make sure each task is given an appropriate amount of time to work on it.

        3.       Not Play Testing Enough on the Motion Base
This is not just a personal issue that I had during this quarter, but this is a team issue. I did not play test ON THE MOTION BASE enough after making changes to the build. Granted, it’s difficult to find time slots that match the motion base hours and the teams. Last term, I felt like I was at the motion base on a weekly basis. This term, I did not have as much spare time to spend the game. The end result was a game that was well polished, but still needed a couple motion tweaks here and there. When the group did organize motion base play testing I was at every play test session. I even brought friends to play too. The lesson learned here is that setting aside time to test games is just as important as setting aside time to develop them.


Lessons Learned:
        ·         Documentation can be one of a group's greatest assets.
        ·         Being responsible for past work while also maintaining work that you have recently made.
        ·         Always keep your lines of communication in a group open. People should always know what to do or what to fix.
        ·         Use your past experience as a gauge for estimating the time required for tasks in the future.
        ·         Make a schedule for each week or month and make sure each task is given an appropriate amount of time to work on it.
        ·         Setting aside time to test games is just as important as setting aside time to develop them.




Tuesday, March 1, 2016

David Monteleone, Week 8 Journal PPJ, Blog post 8, GMAP 378

Content with Hours (Examples included):
                The group tasked me with going through several of my own games along with games from last quarter and fixing several bugs in them. I also added several enhancements throughout the games. The first game I needed to fix was Space Aim. The movement style was switched to using AddForce many weeks ago. As a result the gameplay was completely different. It was changed in order provide a more fluid experience on the motion base. The group decided it made the game much worse, so I was tasked to change it back. Another fix in Space Aim that I had to do was to make the “collision box” encompass the feet. The feet no longer clip through geometry or walls! Last, the controls for Space Aim had a slight bug from the work I did on them last week. The controls would still flip every so often. After bug hunting for a while I did find the issue. It was related to old code from last quarter… I hope it works correctly now!
 (1 hr)

                Next, I moved onto bug fixing the newer games that I produced. The Press game needed to have sound effects added to it in order to enhance the experience of winning and losing. Thus, I had to rework some of the code to allow for some time to play the sound clip before moving onto the next game. I did the same for the Quiz game. There are now distinct, and fun, sounds for when you win and lose them. In addition to adding sounds, I added some cabin motion for when players win. Previously there was only a shake when the players lose. Now there should be motion for winning or losing (different types of course). The Water Gun game required a number of tweaks that the group asked of me. First, I switched the controls from being “holding” to “mashing”. Based on the in person feedback the group said that players kept mashing the bumpers in Water Gun. This took a fair amount of time as the code for shooting was tide to holding the buttons instead of mashing them and had to be rewritten/restructured. The alien controls for moving their target up in Water Gun was switched to the spacebar instead of the up arrow. This was also based on group’s and player’s feedback. I then made the cardboard waves in the Water Gun game move up and down. The group’s feedback indicated that they didn’t realize that they were supposed to be on water and moving the waves may help. The Water Gun game had a slight bug where the balls being shot would spawn behind the gun and go through the water gun. I fixed this and now the shooting looks great! Last, the Water Gun game had some stale code from the beginning of the quarter that result in some weird controller behavior when relating to the new controller scheme I implemented last week. I took the old code out and fixed the places that broke after taking it out. Water Gun, Press, and Quiz should be ready to ship now!
(4 hrs)

                My last major task for the week was to rework the initial welcome/controls screen. This is the screen that players first see and use to define who is player 1 and who is player 2. I brainstormed with the group at our weekly meeting to decide what information the screen should convey. After a couple iterations I found that the screen shown below is the best version. I reworked the screen to get the logo in it, add proper controls where the players should be looking, and even told the aliens where they should start paying attention to. I had to make control images from bits and pieces of other controls that Angela had made. I just Photoshopped them together. The goal of this layout is to get the humans and aliens looking in the correct spots from the start of the game! After we play test this version I hope that my intuition is correct.

(1.5 hrs)

Content Positive (Duplicate hours from above):
-          I fixed Space Aim hit boxes, movement, and controls bugs were fixed (1 hr)
-          Numerous Water Gun game bugs were fixed by myself (Button mashing, shooting, waves, controls…). The Press and Quiz games got some added audio effects by myself. They also had their code reworked to display the new controls on the dashboard instead of text. (4 hrs)
-          I reworked and created the new control screen/welcome screen scene(1.5 hrs)

Content Negative
-          None
Total Hours for the week: 6.5 hrs

GDC Vault Post Mortem Reaction:
I chose to watch the Among Friends – An Uncharted 2: Among Thieves Post-Mortem from the GDC Vault. The game studio behind the game is Naughty Dog. I’ll give the general layout that Naughty Dog chose for the hour long talk and then give my analysis, take away, and reaction to it. The general flow could be summarized as follows:

1. Introduction to the studio and game (Who they are and where they’ve been)
2. Idea and direction of the game (Where the team wanted to go with the game)
3. Preproduction and concept designs (Ideas that the team wanted to implement)
4. Macro design and layout of the game as a whole (High level game layout and flow)
5. Full production of the game and micro design (Methods for full production both art and code)
6. Methods used for full production and organization (Development models used – 1 week sprints!)
7. Technical Challenges and how they overcame them in production (Art and Code)
8. Analytic tools and methods used to test and gain data from testing (How they collected data on the game)
9. Play testing methods along with example test data gathered (How they tested the game in alpha and beta stages)
10. Final conclusion and turnout of the game (Obviously it was a huge success)

My main reaction to the overall presentation is that game developing is incredibly fast paced and it’s difficult to organize almost anything. By the time production begins the team is on such a tight schedule that everything is on either a daily or weekly basis. The developers made a point of saying that at some point talking about what to implement needs to turn into actually implementing it. They claimed that this is the best method of game development. Simply implement as many things as you can and see what works and what doesn’t. You can’t just keep things on the whiteboard or on paper.
A point that I felt deserves being discussed is that fact that they seemed to only go heavy on play testing at the end of the game’s development. This is different with regards to how we play tested on game. We play tested in grey box stages. I’m not sure which is the best, but it seems like they just internally play tested during the early development stages.
When they discussed preproduction I found it rather interesting that the simple most important deliverable from preproduction wasn’t any GDD or anything like that. It was more of a high level abstract layout of how the game would flow from start to finish. This gave the team the ability start breaking our tasks into chunks based on levels and gauge how much team was needed for each section.
Time management and estimation was an interesting topic that was peppered throughout the talk. The team made several points that showed just how inaccurate time estimates can be. They cost the team significant production delays and ended up having to wait on either artists or programmers to finish certain sections. Eventually they had to build their work schedules around these pieces that took the longest to make. Time estimation is something our own team has learned that is critical to timing the deliverable of any game. It’s interesting to see that even professionals struggle with it.
The last section of discussion that really stood out to me was how even within this face paced development, the team was able to take time to optimize the game. Usually from my experience at Drexel, optimizing the game is almost an afterthought. The team specifically set aside time to make sure that each level ran at a consistent 30FPS. They were thinking entirely about how the end user would experience their game. In contrast to the games I’ve made at Drexel, the teams usually don’t think as far as pleasing the end user since the games are done at the end of the term. GMAP 377-378 are slightly different though since the games will be kept on the motion base.
In conclusion, the Naughty Dog team created an excellent game and the development of the game was not exactly organized, but was directed enough to get to the finish line. Ultimately it was an excellent game that tackled many development challenges that were explained in the talk.




Tuesday, February 23, 2016

David Monteleone, Week 7 Journal PPJ, Blog post 7, GMAP 378

Content with Hours (Examples included):
                My first task for the week was to capture the footage of the game for the video draft. Not an entirely big deal, but it does take time to configured Open Broadcaster correctly, capture the game, and then to run to campus to upload the video. However when I got to campus, due to the virus that knocked out AWExpress, I didn’t have the authentication to upload. I eventually got the files to Cory through other means!
 (.75 hrs)

My next task was to add the Quiz Game art that Jinghan made. That was a rather simple task, and the game looks great now!

(.25 hrs)
                My efforts then moved onto fixing numerous bugs with the current build. The first bug I tackled was the Space Aim texture bug. Somehow the textures linked to the feet and the Lego models got lost in the game. This took a fair amount of hunting around the Unity project to eventually find. The textures are back where they should be and are no longer a bright pink!
(1.25 hrs)

                Last, the bulk of my work for the week was based around configuring the original 5 mini games and my current 3 micro games to work with Ryan’s new control scheme. This involved me going into each game, finding the code that controlled the controls, and then rewriting the code such that they talk to the new input scheme. Ryan’s new control method is definitely much better to use. Taking this time for each game has really made the controls much more reliable. This also links us to the initial player select screen that Xavi made last week. ie: player 1 in each game really and always is player 1 now! The games that took the longest to fix/configure were Runnerz and Mech Warfare. The reason for this is that they use the standard asset controllers. Ryan helped me configured a controller prefab to work for Runnerz. I then made my own FPScontroller prefab for the Mech game and added it to the array of tools we now have. This means we can reuse those prefabs for other FPS games and change the controls around easily. As you can see below, we simply change the text (of Horizontal Input, Vertical Input, …etc) in the inspector to whatever we want to control the movement, jumping, or looking. These control changes took plenty of time, but I agree with the group that they were worth the effort!

(3.75 hrs)

Content Positive (Duplicate hours from above):
-          I captured footage for the new trailer (.75 hr)
-          I added art to Quiz Game (.25 hr)
-          I fixed the material linkage bug in Space Aim for the feet and the Legos (1.25 hrs)
-          I configured the original 5 and my new 3 games to use the newer more reliable controls setup (3.75 hrs)

Content Negative
-          Old code is still haunting us, but it’s slowly being removed and fixed

Total Hours for the week: 6 hrs