Couple of months ago, I was working with my team on making a horror game as our project and assignment. As a result, a lot of people enjoyed our game. My team and I managed to pass, and we were able to register for our next trimester. This trimester, my new assignment is to make an animated commercial.
My role in my new project is character animation. I was given a choice to choose who will be on my team. My team and I came together to discuss and brainstorm ideas for our commercial. We had many ideas along the way, but after receiving a little feedback from our lecturers, we decided to make a commercial about a hot sauce and our product’s mascot will be a bull.
Alka, my team leader, gave me a task to make an animatic and roughly animate the characters, while the others will model props and draw out concepts. This task is to prepare for our upcoming pitch in the coming week. Here is the storyboard that my leader finalized:
The story in the commercial tells about a hungry Matador or bullfighter who is offered with a hot sauce by the product’s mascot, Toro. Toro wants to help make the Matador’s snack more satisfying.
To prepare for our upcoming pitch, I was assigned to animate, place the cameras, and video edit the animatic. As I roughly animate the characters in the animatic, I followed one of the twelve principles of animation called straight ahead action and pose-to-pose. I mostly used the pose-to-pose method because John Richer said in his article that, “Pose-to-pose” gives you more control over the action” (Ritchie, 2016). By following this principle, I can adjust the main poses first and then fix the major mistakes early. When I was trying to move the main character’s arm, I adjusted the rig for the initial pose on one frame and then adjusted the end pose in another frame. When I got the poses placed, I then adjust the rigs on the middle frames as an in-between. I did this because the character’s arm tends to phase through objects.
The past week, the game programmer in my team and I only revised our game before we submit it online. We managed to fix most of the bugs in our game and made the other students play the game, so that we can receive feedback. One of the problems that we faced before is the placement of the colliders. The colliders act as barriers that players cannot pass through. There were some empty areas that attracted the players but only lead them stuck with the colliders. After learning about the problem. I decided to add more trees on empty areas and make the areas packed.
After I did my part in helping with the game environment and left my game programmer to fix the game, I focused on finishing my show reel turntable of every prop that I mostly worked on. One of my teammates helped made a background for the team to place his or her own props and render his or her own turntable. I placed my Stone lanterns, stairs, luggage, temple shrine, the mountain cave, trees, gravestones, and cabin on each turntable with their own grayscale and wireframe. Here is a sample of what my turntable looks like:
After I rendered every turntable, I compiled the rendered targa files in the video editing software, Premiere pro. I first placed a title in my video as an introduction and then imported all the rendered files of my turntable. I placed and positioned the videos next to each other and added a video transition effect called dip to white. It brings a little white flash when it changes to another video or scene. I also placed a title on each prop on the top video layer to show the viewers what prop I made and textured. I made sure that each video layer will also transition or change smoothly.
I left everything else that remains to my game programmers to finish the game. I somehow developed my trust with the game programmers and everyone else after building my bond with them throughout the trimester. I really enjoyed working with my team. Because of that, I get to know more about the people whom I worked with. As one website says about building work relationships, “When you trust your team and colleagues, you form a powerful bond that helps you work and communicate more effectively” (Building Great Work Relationships: Making Work Enjoyable and Productive, n.d.). I look forward to seeing what the game has in store for the audience.
In the past week, after my game programmers implemented the A.I. behavior for our monsters and the waypoints, we started on adding more animations to the monsters such as the patrol and chase animation, the audio, and adjustment for its response. One game programmer from my group and I implemented the Wendigo’s chase animation and adjusted its speed.
We also adjusted how the monster will respond if the wendigo sees the player. I overlook how the game is being programmed when I was invited to my game programmer’s place and continued to help him on how the game will be played. The game programmer had a hard time implementing the animations that was made from one of my other team mate. The challenge that we both faced was fixing the pivot point of the wendigo. The pivot point was not placed in the center of the model; in fact, the pivot point was placed far away from the model. Because of the pivot problem, it was hard for my game programmer to program the wendigo and its animation. Khatim Javed, the game programmer in my team, decided that the model will be placed as a child (the hierarchy list) under a game object and adjusted the position of the pivot point in the center of the wendigo. He will only then be programming the game object instead of the wendigo model and its animation.
Thanks to the audio students that my team and I are collaborating with, we managed to have a collection of amazing sound effects and music background such as the monster scream and the main menu track. Khatim and I helped one of our team mates in making the main menu background. We used the Temple shrine area in our game as the background for our main menu. My animation lecturer helped us in positioning the props and directed us the angle of the camera shot. Here is what the main menu looks like:
I helped Khatim implemented the audio for the monsters and edited the music for timing purposes. As we finish implementing the animations and the transitions, Khatim and I finally tested on how the Wendigos will respond such as how far should the monster spot the player and how fast should the monster be when chasing after the player. The Tsuchigomo, however, was programmed differently. Once the player picks up the last piece of the relic, the Tsuchigomo will have its sight locked on the player and it will continue to chase after the player until it catches him or her.
In the coming week, I hope to help Khatim fix any bugs and add extra functions to the game to make it more enjoyable.
In the past week, I only finalized on the lighting for the environment and where our props will be placed. After having the environment set up, my game programmers only started implementing the A.I. Behavior for our monsters and I helped overlook how the game will be played. I’ve looked at how the game programmers managed to code that once the player collects a certain number of relics, the Mountain cave in the middle of the map will have its secret entrance opened. That is where our last relic will hide.
I exported the monsters into the map so that the game programmers will be programming them with the A.I. and their behavior tree. I planned to have three Wendigos roaming around the mountain cave in three parts of the area and the Tsuchigomo will be placed inside the Mountain Cave for a surprise. Here’s how the game will be played: The pieces of the relic will be placed in the landmarks of the environment. Once the players find the five pieces of the relic, players will find that the secret entrance to the cave will be opened. The entrance will lead the players to the last piece of the relic. The plan now is that once the player picks up the last piece, the Tsuchigomo will appear and endlessly chase after the player until it catches him or her. The player will be given a challenge that as he or she is being chased by the Tsuchigomo, the player must find the exit to escape and reach the end of the game. I helped guide the programmers on what they can do to bring my ideas into coding and brought the idea of having the talismans being scattered around the map to bring invisibility to the players for five seconds. The talisman was first come up by one of our collaborators who belong in game design. I believe that having certain, special areas will surely try to attract players. As one website would say on how to plan a level design, “Whatever the idea you are naturally being pulled to explore is the idea you should pursue” (Galuzin, 2016).
One of the programs that I saw from the A.I. was that if the player gets caught in the A.I.’s range of sight, it will start chase after the player. To escape from the A.I., players have to keep running away until they get out of the A.I.’s range. The A.I. was also implemented to follow the way points that helps the A.I. move; however, it will mean that the monsters will move in a pattern. The game programmers did not have the time to know how to make the A.I. move unpredictably, but I say it was better than nothing. The game programmers and I will be implementing the monster animations in the coming week.
Last blog, I only talked about how I organized the props for our game environment. This week, one of my team members created a terrain for our players to stand on. The terrain allows us to morph the ground and plant the textures however we want. Since there are a few bumps in the land, I repositioned and arranged the trees again. I also added more trees within the map as players pass by to make the forest more immersive. I then finalized on arranging the props and the setup for our forest environment.
There were some complications that I encountered along the way. For example, if two of the props have the same material name and I applied a texture to one of them, the other prop will be affected. As a result, I had to reexport some of the model props again with different material names.
I also learned that its important to save up space in Unity. I was told that the game had the size of 12 GB. I figured out with my team that the reason why the file was heavy because I imported 4K textures. So, I went back reexporting the textures in 2K and in an png format to make the size of the file compressed.
After finalizing the positions of the props, I worked with my team and adjusted the lighting for the environment. The environment will be dark since it’s night time, so I had to place and scatter the lanterns with point light around the map to at least guide the players in case they get lost. Thanks to Unity and its wide variety of settings, I was able to add a fog effect within the forest to make the game more immersive. Players will not be able to see the far areas unless they come close.
Looking at this environment, it is good that we tried to make the environment aesthetic and fit to the horror theme. As Jayneel Patel, CEO and founder of Orderhive, said, “A nicely designed environment can make for a highly immersive game experience” (Patel, 2014).
Last week, I finally textured my props while the rest of my team also textured theirs. Once we showed it to our lecturers and corrected our work, it was time for me and my team to create a game environment along with our props. I assigned myself as the director of the game environment. I was mostly the one organizing the map and the position of the props. Because of this task, I was able to learn more about a game development software called Unity.
I worked with the game programmers and used the Github software called Sourcetree that allows me to work on the same file wherever I am and make or push changes that others will also receive or pull when they open the file in their device. I had to be careful though because if I make changes and others are also working on the same file, theirs will be deleted and replaced by my own work. So, I had to make sure that my team members will be notified before I push any changes.
(Free Git GUI for Mac and Windows, n.d.)
I first created a plane in 3ds Max and shaped the pathway according to our map. I exported the pathway as FBX and imported the file in Unity.
I then imported the trees, duplicated, and organized them next to the pathway that will act as walls in the game. One by one, I organized the tree variations and position them accordingly. I tried to apply the leaf texture on the planes of the trees and Unity gives me an option to use cutout that excludes the background and only includes the leaves itself.
I then added props from what my team and I worked on. I added tents and chairs in one area as the camp site. I added a cabin in another area as the cabin site. Next, I added large and small rocks in one area as the rock site. I then added a large bell in the map and placed it in an area as the Bell site. Finally, I added gravestones and placed them in one area as the Graveyard. These areas are landmarks of the environment where the relics will hide and for players to find.
I made another plane and tilted it for players to climb up. That’s where I placed the stairs. I made another elevated plane where the Shrine will be positioned.
Last week, my team and I only started on texturing the props and the characters for the game. There were still some other prop variations that were needed to be textured first. Since I finished my part of texturing, I decided to model an extra prop that holds a special importance in the game. I modeled a large mountain that will stand in the middle of the map. I had to model it because I discussed with one of our collaborators from game design, and he told me that I should have a large feature that will attract or lure the players into going inside. I first made it by making a box. I added a lot of horizontal and vertical edges around the box and made my own topology. I selected the faces on each side, inset the faces, and pulled the inset face out to give a certain shape and have cracks around. However, I tried to avoid making the pulled face or the topology round because whenever I auto smooth the faces, it will look round but deformed.
So, I decided to keep every pulled face as cubicle as they are. Before I pulled the topology though, I reshaped the box to it look like a six-sided cylinder by pulling the middle horizontal edge on each side. I then continued reshaping the topology, inset each face, and pulled each one out. I applied the same method on top of the model in various shapes and sizes. I also deleted three faces on the bottom side of the mountain that will act as an entrance hole. Here is a picture of what my mountain looks like:
After I modeled the mountain, I added a shell modifier to make the mountain have an inside layer. I deleted certain faces that is connected to the inside and try to make the inside and the outside model separate. I clicked on the element edit to select the inside model only and cloned it so that I can change the topology. I deleted the horizontal edges that were not necessary and rearranged the other edges such as the one on top to save polys.
I added a few horizontal edges on the sides so that I can use the shift tool and mold the inside model.
I deleted the original inside model and replaced it with the other inside model that I edited. After that, I flipped every face of the inside model so that the textures will show.
After finishing the inside room of the mountain cave, I made another model that will act as a door and an entrance block. I made a cylinder boulder by using the cylinder as the base. I only chamfered the edges and readjusted them to make the model have curved sides.
After I made all the models, I unwrapped the model using the pelt tool and delegated the task of texturing the mountain cave to one of my team mates because I had to prepare a presentation for the coming week. Next week, it will be the start of implementing the game environment.