Sunday, April 18, 2021

I'm Free Production Blog 5

I'm Free Sprint 5

We have reached the last legs of the production pipeline with the end of Sprint 5 now. Mostly we've finished our features with the enemies being the one last feature to focus on. For this sprint, I was assigned 5 cards with a total of 8 points. With the cards from the previous sprint, I completed 8 cards with a total of 12 points. Needless to say, this has been a rather productive sprint for me. 

The card I finished first was tweaking the walls of our small levels as in the feedback people mentioned how the walls obstructed the view of the player, especially the hallway rooms where each room is smaller. I went through the prefabs I had completed thus far and made sure the smaller rooms did not have the front and back walls. At the same time, I finished implementing the assets and the lighting into the Zoo level and sent them into "To Verify". 

The next cards I focused on were the cards for the Military level. The first card I focused on was "As a level designer, I need to implement the military base assets into my level to match the tone and theme" which is the asset implementation card for this level. Since I've done this two times already, the process went a bit faster. I also swap the roles of the shutters and the fence from the Zoo level to the military level. The fence which was the "walls" in the Zoo level are now "punchable assets" in the Military level. Then it was the same for the shutters which were "punchable" in the Zoo but now "walls" in the Military. This meant they had to be new prefabs because their roles were swapped. The "walls" wouldn't have a rigid body that allowed them to be punched and flying out from the level. 

An issue I encountered shortly after was that the zoo level still had unpacked prefabs. So I had to go back and replace any and all prefabs that are not properly implemented or using the correct prefab. This was to be a meticulous and attentive task so this issue would not arise again in the future. I really hope all prefabs are properly and correctly added so I would not have to go back and delete and re-add the assets. 

Military level made into prefabs and added to script

Next, I worked on the lighting which went as smoothly as the Zoo level's, which is to say, they were troubling. The Lab level's lighting was easily done as it was interior lighting. But for the Zoo level and military level, their lighting was to be imitating outdoor light, which is different and more difficult. We decided that lighting would vary between levels, so we would not be able to use a directional light without creating a script that would turn on and off groups of directional lights whenever the player reaches a new level. Our programmer is already busy with other features, so it was decided to look for a way to create individual lighting. This led to the lighting being uneven within each room itself because each level had a handful of spotlights and point lights to try and light up the room(s). The line between grounds/floors would be apparent and it was sometimes obvious to see a spotlight or point light. When this issue was brought up to the team, our programmer mentioned that we should try to bake light into levels. However, with an electronic prototype coming up, this was to be a card left for the next sprint. 

Lab Lighting (Interior lighting easier done)

Zoo Lighting (Trying to imitate bright daytime, exterior lighting)

Military Lighting (Trying to imitate evening, sunset exterior lighting)

As the level designer cards for the sprint are complete, I moved on to help with audio. I was assigned cards that asked for a siren/alarm sound effect, a menu shuffle SFX, and background ambiance for the Zoo level. Luckily I worked on audio back in Parasitic so I didn't have any troubles with audio. I looked on freesound.org for audio as all audio was allowed to be used and edited for free. It's a great site. I then moved the audio files into Audacity for clean up and looping. My process is first cleaning audio or any background sounds and trimming parts that I don't need. If they need to be looped, I would find a few seconds of the end at a zero position and fade it out. I would then move the end to the beginning and fade in the seconds of the beginning in alignment with the end clip that was moved. This makes a rather seamless loop. 

Example of seamless loop

I also combined audio together to get a certain ambiance. For example, the Zoo level's ambiance is windy with bird noises. I found a decent length of windy audio and looped it. Then I looked for an isolated bird sound audio that was lengthy and looped it as well. I combined the two audio together to get a windy background ambiance with occasional bird calls. 

Wind audio combined with isolated bird sounds

I looked for three different clips for the three different audio cards I did. The menu sound effect cards had 4 different audio clips because I wasn't sure which would fit the game. The only problem I had with this card would just be Trello's max file size. To combat this, I imported the assets to the Google Drive and linked them in the cards before sending them to "To Verify". 

This would be the end of the work I did for Sprint 5. The next sprint would be focused on fleshing out our last level, the Forest. After that, I would need to tweak the levels based on feedback and constantly playtest the levels. The last thing would be adding the enemies to the levels when they are fully developed and programmed. Until Sprint 6!

Sunday, April 4, 2021

I'm Free Production Blog 4

I'm Free Sprint 4

The end of Sprint 4 is here. We're just about halfway done with production. For this sprint, I was assigned 5 cards with 2 cards carried over. The cards I was assigned were to reorganize the blockouts to the level templates, the lighting cards for the rest of the levels, and adding assets and building the zoo level.

Our programmer made a levels script that held the prefabs for the rooms that would be randomly generated. These prefabs need to follow a template that had start points and endpoints in each room with the start points at the (0,0,0). To be able to test the random generated, I reorganize the blockouts into prefab variants of the room templates with the spawn points and moved the room and endpoints to the (0,0,0) point and the end of the room. Then I added them to the prefab folder and the levels script. 

Block outs all at (0,0,0), added to prefabs folder, and levels script (right side)

During spring break, I worked on the easier and less time-consuming cards. Those would be the particle effect cards that were carried over from the previous sprints. I first worked on the electric sparks card because I have done a similar particle effect for a previous class. All I needed to do is export it from the past project and import it over to the current game. I played around with the settings and made it fit the particle effect we needed for our game. I changed the shape from where the effects flew out from linear to a more circular motion and increase the speed of it so it looked more comical that would the theme of our game. They also have collision detection so the sparks will bounce on and off of surfaces and objects.

Electric Sparks

The blood effect took a bit more time and effort but luckily the motion is similar to the sparks. I did encounter a problem with the particle system in that the color over time did not work. The blood effect is supposed to go from red to a dark maroon over the course of its lifetime. However, the colors do not change. I changed the shaders and tried using different alphas/templates but it still doesn't work. My teammates also had a similar problem with their particle effects in that the shaders turned transparent if they did not use a certain shader. My problem was that using different shaders made the particle completely black or transparent but the color over time still did not work. It's not an impactful problem and the effect still looks good without the color change so it's not too much of a problem. It is still unfortunate that little detail isn't shown. 

Blood splatter

After the break and finishing the particle effects, I worked on building the zoo level. I added the zoo and military assets to the asset folder and started building the rooms with the level templates via prefab variants. It's a tedious task to make sure each room looked unique with the limited models we have. I also had trouble keeping in mind the blank spaces for enemy placement and not having the zoo level look cramped as it's the most open and brightest level. I also needed to go back and forth from the scene view and game view because I'm adding assets with a perspective camera view while the game is played in an orthographic camera view. We also decided to remove the door and sidewalls of the smaller rooms based off of the feedback we received from our electronic playtest. 

Zoo Level

After the building of the level and rooms are done, I added them to the prefab folder and the script. The next card and the one I'm currently working on is adding lighting. Since lighting is different for each level, we might need to have individual lighting for each room. But this is really difficult to do since spotlights and area lights do not light up the room as efficiently as directional light. The lights also need to be specifically placed and the radius of the light might affect adjoining rooms. I'm still trying to figure out how to do the lighting. This would be the biggest thing to focus on at the beginning of Sprint 5 since the cards carried over from Sprint 4 are the lighting cards. After I will be building the military level and working on sound. Until then, I'll do my best. 

Zoo 1

Zoo 2

Zoo 3

Zoo 4