The first week was pretty much an organizing and pulling-together week. I was assigned to update our website to a newer version with the new team and newer documents. Specifically, to update the survey, I updated the new team member page with all new team members, archived old blogs, team members, scrum presentations, meeting notes and one page sell document, and created a new scrump presentation docs and a new blog page for every team member.
This week I was working with Christian on the level design aspect of our game. We were focusing on verticality design of the city so the player are able to move to a higher level of the city.
My job this week was to think about ideas of vertical elevator (a path or section of the map that player has to get through to move to a higher level) and make prototypes of them in the test Scene. I designed 2 vertical elevators for this week, which require player to use the grapple-pull technique and wall run technique to move up.
This week I focused on implementing the mantling mechanic to the player movement that will help with the in-game experience. If the player object is close enough to make a jump on a platform but barely makes it, the player will be able to climb up to the platform with an additional jump.
However, the script did not work as expected because there was some issues with the SphereCast method. Right now, the player is able to mantle from anywhere. Basically, you’ll be able to make a double jump even if there’s no wall or platform.
This week I continued working on the mantling mechanic for the player movement. I fixed the issue I was facing last week and now it's almost working as expected.
Now the script will check the spherical area in front of the player object to see if there’s an object. Then the script should check if the object is a climbable platform. If it is, check if the distance between the y-position of the bottom of the player to the y-position of the surface of the platform is within the range of the allowed mantling height. After all conditions are applied, the player will be able to mantle the platform with one extra space bar hit.
The mantle movement now not only brings the player upward, it also brings the player forward to move on the platform.
This week Ghada and I started working on the traffic system rework. We managed to get a good start making cars decelerate and stop when traffic light turns red and accelerate again when traffic light turns green.
This week Ghada and I continued working on the traffic system. Now the traffic path can be manually set and the new traffic system spawns a fixed amount of cars at the start of the game in the path created and will move in a loop. Each car will be using a ray cast method to detect if there’s a car ahead or a yellow or red traffic light ahead. If there is, it will slow down and stops and it will start accelerating when the traffic light turns green and the car ahead gets further away.
This week I continued the rework of the traffic system. I created a trafficZoneController that controls each traffic light in the zone with a same timer and updates each trafficlight's status according how the zone is set up. Now the traffic system works within any 4 way or 3 way intersection and prevent any collision that might occur to stop the car's movement.
This week I worked on implementing the player movement while they are interacting with a moving platform. I tried both parenting method and scripting method. They turned out to have the same results but the only difference is that with parenting method, it'll drag the player object out of DontDestoryOnLoad while scripting method does not. Now, the player can move along with the moving platform and rotates as the platform rotates. Players can also move freely on the moving platform as well as getting a boost in jump while the platform is moving upward.
This week I worked with Christian to set up more complicated car path to fill up the ciity. One across the center center of the city for the bus, one on the outer side of the city so player could use to view around the city. I also worked on setting the conditions for joinable rooms. Now, room with status open is the only joinable room. If the room is full, in progress and closed, then they won't be joinable.
The final week I worked on getting the cars and traffic light to have a same position and time when they spawned and synced across all players when the game starts. I also worked on modifying the cars rotation so they have a smooth turn in any direction. I also worked on extending the car path and brought the buses into the new path.