Workshop II PPJs
WARNING - Long post. This is an archive of all of my personal production journal entries from my six month workshop project last year. I might make some mentions to images or other media that was included in the original incarnations of these posts, but have since been lost to time.
This post is from the second half of the project - Winter 2016
PPJ #1 – Cole
Well, winter quarter has started and we are already 2 weeks in. Seems to be going by crazy fast. Unexpected Allies is moving forward and will continue development through this term. I am very excited to continue on the project, but I am much more excited at the opportunity to have so many new people on the team. We have already had a ton of meetings and so many new options and perspectives have been discussed! I am so excited for all of the new perspectives that our new team members will bring!
As I stated earlier, we met a whole lot since week one. We’ve had 2 or 3 team meetings with the whole team, and then a handful of sub-team meetings. The main production points done since class was revamping our level design to make the game-play more intuitive and fun, refining the story to fit it to a longer game / fix some issues and plot holes, and new directions for style, both modeling and texturing.
I personally worked with Mike on trying to get the .ignore file in to the repository and setting up the Unity project to work with it. I really don’t know if I did it correctly, and it very well might not work, but it was a good opportunity to learn more about Perforce.
This week was a bit chaotic with finally having all of my Monday classes again and getting out of that “settling in” phase of the term. I attended the team-lead meeting and worked with the other leads to assign tasks. I also set up our trello page with this weeks tasks.
On Thursday I met with Mike and Nik to discuss this weeks programming tasks, programming organization, and general project topics such as input management, file sharing, and working around each others schedules.
My task this week was to get a functional draft of the 2D HUB world made. It was a pretty small task seeing as it was similar to the menus I had created last term. Right now, the hub scene is just a menu with clickable placeholder graphics that load up different scenes.
Each circle loads up a different scene when clicked. As the build stands right now, this scene (hub world) opens up after the cave scene. The programming was almost identical to the code for the menus.
The hub world will have to change a bit depending on the final structure / layout of the map and whether we think it’s best to be a clickable map or to navigate 2D player icons along set paths with the movement keys. Those decisions should have been made by the design team this week, so I’ll tweak that up this upcoming week. The icons for the levels were also being worked on this week, so I look forward to replacing the placeholder graphics.
A few other small things, I applied the new texture for Rick and made the torch a toggle instead of having to hold down the key.
Lastly, I feel like I’m getting a better handle on Perforce with having to check out the unity project folder. I had some issues this week (forgot I needed to add new files, not just checkout, edit, then submit), that I worked around. In the long run, I definitely see the appeal of Perforce and Trello and definitely think they will help the team stay organized.
This week was pretty crazy. We had a lot assigned on Trello, and it seems like a lot of it got done. This week I tasked myself with updating the HUB world and its functionality, programming a pickaxe attack to break pillars in the last level, updating the controls, and implementing Brian’s new level.
The new ability and the control rehaul went really fast and was pretty easy. With the pick axe animation finished, I look forward to adding that in to the ability.
The HUB functionality was a little longer, but worked out pretty well. The next step is adding a crystal counter to the hub world, adding a bg image, and then having the character icon move along the paths defined by the lines.
The level implementation didn’t get done this week. The level was created pretty late in the week and then had a number of issues that needed to be fixed before it could be fully implemented.
Hopefully the levels will be ready early this week so that any issues can be fixed and then implemented fast. I hope to have the two new levels implemented early this week so that they can be part of the testing for the freshman.
I feel like a lot got done this week, but the build still feels like it’s missing important stuff. This week, I worked on implementing the new levels. I took the scenes that the designers/artists made and made everything functional. This always takes a while, but took a pretty sizable amount of time this week. Brodie was having issues with perforce, so he sent his level to me and I got everything implemented as well as adding some assets/decoration.
I also worked on getting some animations plugged in. The pick axe one was easy and took a reasonably short amount of time, but the mount animation was giving me so many issues that I had to stop so I’d have time to do my other work. I am sure I can get it to work, but I just need more time for it.
Lastly, I was to work on a minecart controller. This was the most frustrating part of my week. I worked on it and was already having issues with it, and then I found out that the player needed to be able to do something that I hadn’t put in (crouching). When I tried putting the crouch in, it broke the entire controller and I realized that the code was sloppy and built on a weak foundation, so I scrapped it. I might try it again, but I may also give it over to Nik to try, since he seemed more confident about it.
This week was pretty rough. I had two additional assignments for other classes that I usually don’t have and I needed to leave the weekend relatively free because my family was visiting from Colorado. I worked really hard early in the week, but still found myself needing to do a lot of work during the weekend due to a lot of the major changes in the build being implemented sat/sun from other people.
That all said, the build grew a lot this week, which is great. We have a lot of fixing to do and a lot to tweak, but the stuff is in. This week I added the level information to the HUB, worked on some FX to fluff up the game, and did a lot of the fixes from last week including fixing the elevator, tweaking the menus, and fixing some camera issues.
I spent a lot of my time doing most of the fixes from last weeks build. I decided to just scrap the old elevator script and built it back up from scratch. It works so much better now, which is real satisfying.
While I was working on the trail renderer for the bear, I stumbled upon the Unity asset package for particle shaders. Turns out, this is where the fire effect was hiding the whole time (as opposed to in the ‘effects’ package). So, in a happy accident, I found the fire fx and added it to the torch and the campfire assets.
Over the weekend I worked on a bunch of different stuff and making quick fixes with Nik and Mike. It was our most productive day of work and was our first real collaborative build effort. It worked out great, I only wish it could have happened earlier than Sunday.
This week was a crazy one. Lots to do before the first beta build. My main job this week was to get the new bear, in all its glory, into the build and functional. I (stupidly) expected to be able to just replace the old files in the bear anim system with the new ones and it would work. The system was already set up, so why wouldn’t it, right? Well, let me tell you, this was a whole other beast.
First of all, the bear was modeled/rigged/animated facing the ‘X’ axis. This meant I had to go into the maya files and rotate all of the rigs to the right direction for the model and all the anim files. Not a big deal, just time consuming. Then, after some majorly frustrating attempts, I learned that, between Unity 4.3 and 5.5, the anim import system had changed just slightly. Apparently, new unity likes to mess with the scale, so you have to export the animation fbx’s with a very obscure setting checked and your units set to 100 instead of 1. So I had to go back and reexport the animations again!
Okay, so with all that done, the animations finally worked and the bear is finally in the game. Cool beans. This week, I also added the mount animation, a new puzzle level, added a small story level, a new purple haze effect to the checkpoints and end zones, and a new loading screen. The new levels took a while just to get everything organized and working, as usual. Kevin did a great job with getting the level in and decorated very thoroughly. Made my job soooo much easier. The mount animation took a pretty beefy amount of time to implement correctly as well. Next week I’ll have to make it so it can be played in reverse.
Overall, I’m pretty happy with the state of the game and the work I did this week. I’m pretty bummed that the final level and the vulture/snake assets aren’t in all the way, but that seems to be the main task for next week. I look forward to beta 2.
This week was a lot of fixes and continued implementation. My big main task was to implement the pillar models and come up with a solution in unity to animate the destruction without the need of actual animation data. I had a ton of fun with this and experimented a lot with unity particle effects. I think the end product came out pretty nicely.
The other big thing I worked on this week was getting the snake model / animations in an working for Nik to use. This went pretty smoothly and is in, although it could use some tweaking. I also did a number of small fixes including fixing the climbing bug, making boulders climbable, making the campfire purple, and some other small tweaks.
I also tried to work on getting the Vulture model/animations in after discovering that the implementation that was done this week was incorrect and unusable. I worked with Vincent to try to figure out the problem and discovered that the rigs in the anim fbx weren’t actually bound to the geometry, so no animation data was coming through to Unity. It’s a bit of a bummer that it’s not in this week, but I know we can definitely get it in this upcoming week.
I also gathered footage for and edited the teaser video.
PPJ #8 – Cole Mueller
3 things right:
-I explored a lot more of the options Unity has with integrating visuals and animations. I adapted quickly to changes in the animation pipeline between Unity versions, and I’m super happy with the effects that I explored and edited. Even though I started with Unitys built in effects, I learned a whole lot about particle systems and shaders that I am very excited to apply to senior project.
-The entire team successfully (more or less) got through a long-term project. Workshop I was a great opportunity for experience in a team development cycle on a long-term project and I imagine everyone will walk away from this having learned a boat-load about project and time management as well as some new technical skills.
-We got a lot built. Similar to last term, we produced a lot of content, and almost all of the content we produced made it into the build. We developed 5 new levels, and while design and instruction could’ve been better for the game all around, it really shows how much we can get done as a team.
3 things wrong:
-Time management. This was by far the biggest problem with the project this term. Everybody had a whole lot going on with other classes and coop and, as the term progressed, all work began to get pushed off till Sunday. This made pushing content into each build EXTREMELY difficult because any problems that popped up that week were discovered on Sunday. This left very little time for issues to be addressed and content to be accurately added.
-Communication. It wasn’t bad, but it wasn’t great. The increased team size was a new challenge for us all, but I think we handled it pretty well for the most part. Our Slack was very active and Trello helped immensely. That said, we began stagnating with our communication: people communicating late or running into issues, or misunderstanding what they had to do for each week. This will definitely always be an area that can use improvement for all of us, and I really hope that I can learn from this well and apply it to my coop and senior project.
-Integration. We ran into a similar problem as last term where people were having issues with integrating things into the build. It was heaps-and-bounds better than last term and many people did work very hard to learn more about Unity to integrate their own stuff, but often times there was technical or organizational errors as a result of low Unity experience. I think this is probably our most natural and understandable mistake, however, as errors will naturally be made with any technical skills we are learning. I don’t see this any differently than when we would make mistakes in Photoshop or Maya.
2 Lessons learned:
-Design. Not really a bad point per say, but a big area where we all learned. Design is hard. Teaching the player is hard. And I don’t think we ever really got it down before the end of the project. I know that this will be a big learning point for all of us though. For a first go-around on a large scale 3D puzzle-ish game, we didn’t do awful! So again, not really a bad point, but probably the biggest thing we’ll all take away from this project.
-The core mechanic/gameplay of the game will forever be the foremost priority for me when concepting/designing a new game. Designing a game based off of a narrative/visual look is fine, if done correctly, but if we start developing the story/art of the game before even knowing what the game is first, the game won’t be very fun or enjoyable. Our playtesters often viewed playing our game as a chore, and so for the future it will definitely be most important to me that the gameplay is solid and fun before dressed up with art and story.