Week 13, Milestone 2
Goal description: My goal for this week is to try and find a tutor that will help me fix the checkpoint and respawn problem. Since the previous week, I had little luck on discord I decided that I should hire a tutor. Since the previous one was not very helpful I am going to be looking online for a website that has a larger source of people that I would be able to hire. If I am unable to find anyone then I will result back to discord
Significance: After spending three weeks trying to add checkpoints and respawn into my game I just want to be able to get it over with. This means that finally getting someone that will hopefully fix it would be great. Since I will be able to work on different aspects of my game. If this tutor works out then this could heavily increase the development of the game. I am hoping that I might even get the enemies working soon as well. By me accomplishing this goal I will also learn how to finally reference functions from other scripts which would be incredible.
Self Assessment for Week 13 After reviewing my goal for the week and the evidence added to my portfolio’s SSP pages to demonstrate the completion of that goal, I have chosen the performance rating of 4: I have accomplished the goal established at my last meeting. The evidence added to my portfolio sufficiently demonstrates the goal has been satisfied.
Research: To be able to accomplish my goal by using the discord app and by meeting with a tutor.
Discord Inc. (2015). Discord (Version 0.0.39)
Actions I took: On November 8, I began my project by checking the messages from the five different tutors. All of them except one said they would be able to help me. The first two were both out of my price range with the first one wanting a hundred and twenty an hour while the second one wanted seventy-five an hour. After telling them both that my budget was thirty they did not budge. So I told them both unfortunately I would not be able to hire either of them. They told me good luck and I carried on to looking at the next tutor. He responded back by asking for more information about what I would need help with exactly. After letting him know I would need help will C# he let me know that he is much more of an artist for unity and has only really basic knowledge of coding. He suggested I should reach out to someone else. The following person never responded to me which only left me with one other person. After opening up the message he sent me I saw that he asked me to send him more information about my project similar to what the other two tutors asked me to do. After sending this information he let me know he would be able to tutor me and is within my price range. This caused me to feel relieved that I found someone that would be able to help me. I asked him what time he thinks he would be able to tutor me. Then he lets me know that the soonest is Monday. I asked if there was any way we could do the weekend or sooner but confirmed that Monday was the soonest. I said ok and we set it for Monday at five pm.
On November 11, I decided that I would try to see maybe if I would be able to fix the respawn and checkpoint system myself. After opening up my computer I saw that all of my textures were messed up. The background was completely messed up and I had no idea why this had happened. I posted a screenshot onto discord to try and find out what might have caused it. After posting it I was informed that I had put it in the wrong channel and would need to delete the message and put it in one called 2D tools. After doing this I received no response for a couple of hours. Then someone responded at 12:48 asking me to be more specific. I got out of bed and went onto my computer and explained that for some reason a massive chunk of the background is gone. He responded back with maybe the background is on the
wrong y-axis. After checking this I found out that this was not the problem. After letting him know this I received no response. I began to feel worried since I had no idea what to do. After spending an hour and a half checking everything that is associated with the background and doing research I had a eureka moment when I thought to myself what if the sorting layers were messed up. I did not think this was an issue since I set them already before but when I looked the sorting layer for the first background was messed up. The problem seemed that they were both placed onto the same layer which caused them to overlap which each other. After trying different combinations I was able to figure it out. I still have no idea why this might have happened since I did this last month so it was not like I forgot to save it. The only conclusion I could think of is that maybe when unity crashed a couple of days ago it caused this issue.
On November 13, After fixing the issue with the background I moved on to working on trying to fix the respawn and checkpoint issues on unity. Similar to what I did yesterday I posted my question in the chat but I did not have high hopes that someone would be able to help me with this issue since last time it ended with them not knowing what the problem with my game is. After asking my question he asked me to send him my code which I did. He told me the first step I should do if I am having trouble getting something to work is to add multiple Debug.Log commands. After adding multiple different Debug.log lines he advised me I should put a Debug.Log line inside the Collider function that gave information on what collided with it and what tag that thing was attached to. I told him I did not know how to do that which he explained to me how to implement it. After explaining it to me the first one I added was this Debug.Log(gameObject.name + " collided with: " + collider.name + ", tag: " + collider.tag); and the second is Debug.Log(collider.name + " is checkpoint"); . After running the game with the new Debug.Log I noticed that collider.transform.tag was not being triggered. This was because it would only trigger if it was equal to Checkpoint. This caused me to go into my game and set it so that the collider will know finally to be equal to the checkpoint. After running the game I noticed that the second Debug.Log is now being triggered which means that the checkpoint location is now being stored but when the player dies they still don't spawn at the checkpoint. After looking through my code I saw that I needed to trigger the Respawn function when the player died. So I scanned through the code and found the spot where the dead function happens I did not know exactly what to put down to reference the respawn function so I asked discord. Luckily someone responded with how I would do it. After typing it in it finally triggered the respawn function but I still had a problem. The player was frozen in place which caused me to take a look at my respawn function to see if maybe I missed something but nope. I then checked out my dead function where I saw that GetComponent<PlayerMovement>().enabled = false; was put there. I realized that I needed to set it to true for the player to be able to move. After setting it to true I ran the game and saw that the player now respawned at the checkpoint after dying. Even through I spent so much time working on this seeing it work was worth it.
https://docs.google.com/document/d/1wJGIvEdMWH8_veBT7EV6aBRjmbcrPtBaikdEzI2wqz0/edit
On November 14, I logged into my Wzart which is the website that I use to book tutors. I went to check if the tutor I booked gave me any message letting me know what time he wanted to meet at or if he sent me a zoom link but no. There was nothing that was sent to me by him. I sent a message asking what time he would like to meet at today. After an hour I checked but still but still I have not received a message back. I began to have a feeling that I will not receive a message back from him today. After waiting another two hours and still not receiving a message I gave up and just accepted that I was not going to meet with him today.
On November 15, I logged back on the website to see if the tutor had sent me a message. When I opened up the messages he said that he was too busy last night and forgot about the appointment. I asked if we could meet today but he let me know that he could not since he needed to study for a test and it would be too late. He then asked if I could meet on Wednesday at 10:30pm which I let him know would be too late for me. I then inquired if he could meet on Thursday at 5 which he said he would be able to do. After confirming with him for Thursday I felt disappointed that I would not be able to use his help for this week but I will at least be able to help me for my following week.
Evidence: During this week I have made a working checkpoint and respawn system. I was also able to schedule an appointment with a tutor but unfortunately, the soonest he can meet is Thursday.
https://www.youtube.com/watch?v=LymKaOVa8xg&feature=youtu.be
Week 14-15, Milestone 2
Goal description: My goal for these two weeks was to try and meet with a tutor to help me make a way for the game to end. I am also going to need to find an asset like a trophy or gold coin. If I am unable to meet with a tutor then I am going to need to watch a youtube video to figure it out. Since I was having trouble scheduling a meeting with my tutor I most likely will need to figure it out myself.
Significance: The significance of completing this is that having a game over screen will be my last goal to complete till I have a completed game. While currently the player really has no reason to reach the end of the level since there is nothing there. It feels very anticlimactic to reach the end and nothing to be there. Having this end screen will give the player some feeling of accomplishment after spending so much time playing the level. This will also be significant to expanding my own knowledge on game development due to the many different fundamentals that you must use when adding a game over screen.
Self Assessment for Week 14-15, After reviewing my goal for the week and the evidence added to my portfolio’s SSP pages to demonstrate the completion of that goal, I have chosen the performance rating of 4: I have accomplished the goal established at my last meeting. The evidence added to my portfolio sufficiently demonstrates the goal has been satisfied
Research: To be able to accomplish my goal by using the discord app and by meeting with a tutor.
Discord Inc. (2015). Discord (Version 0.0.39)
[CodinginFlow]. (2021, Jan 21). Start & Game Over Menu | Build a 2D Platformer Game in Unity #13 [Video]. Youtube.
https://www.youtube.com/watch?v=OLbWB1R095s
[CodinginFlow]. (2021, Jun 19). Adding Multiple Levels| Build a 2D Platformer Game in Unity #12 [Video]. Youtube.
https://www.youtube.com/watch?v=dO5BzWYqEdY&t=619s
On November 17, I was supposed to meet with the tutor at five o clock but I had a National Honor Society meeting that was supposed to last till 4:45 so I asked him if we could move the meeting to six instead. He informed me that Friday would work best for him since the time difference is too large. I responded back to inform him that Friday would work for me as well. I was worried that he would cancel the next day due to that he has had a track record of doing this the previous week I tried to meet with him. The thing is if I needed to find a different tutor due to if he is too unreliable I would need to go on a different website due to I could not find a cheaper tutor.
On November 18, I sent him another message just to check in with him to make sure we were going to meet up today. After waiting a couple of hours he informed me that he would not be able to meet up today. I felt that this is becoming a pattern but I did not want to give up yet. If I just met with him for a single session then that would be enough to be able to complete a game over screen. He also informed me that his mom is working outdoor vendor events and his dad is going to vacuum all day because he's a clean freak. I did not know why he needed to inform me about this information but he told me anyway. He also decided to let me know that he really is a great tutor but his family makes it hard for him to be one. Him reassuring me that he is a great tutor did not make me feel any better about reliability. He told me that Monday will work best for him since this weekend will be hectic.
On November 21, I was originally supposed to meet up with the tutor at 9 pm which was what we agreed to on Friday. At around two o clock I received an email saying the that we are going to be meeting up at 6 pm. I sent the tutor back a message with the screenshot to ask why does it say 6 instead of 9 pm. The tutor let me know that he forgot to calculate the time difference and said that it would be 6 pm my time and 9 pm his. He confirmed that we would be meeting at 6 pm my time instead of 9 pm since that would be too late. I wish he told me this before he set that time since that same day I made an appointment to go to a West Hollywood city council meeting which started at 5 pm and I worried that it might not end till past 6 pm. I asked the tutor if maybe we could move it to 7 or 8 pm since city council meetings have a habit of lasting longer than one hour. He then said that he did not want to meet at 7 or 8 pm but he would be willing to meet at 7 am on Tuesday. Even though it would be kinda early to meet up at I agreed to this time. At 7 pm I let him know that my city council meeting just ended so I would be able to have a session right now but he told me that he was too tired and would just rather do it in the morning. He also told me that there would be no more rescheduling after tomorrow and we have to start. I was surprised by this statement since that he has rescheduled five times on my already while I only did once but I just did not respond back to that.
On November 22, I woke up at 7 am to check if the tutor had sent me a zoom link to join but I read that he was having trouble with unity and was wondering if we could move it to 2 pm. I let him know that 2 pm was too late for me and I would not be home. I let him know that the latest I could do it 10 am or 7 pm but he told me those times would not work for him. He said that he has a class tomorrow and finals coming up so we are not going to be able to meet up at all this week. I felt very disappointed by this news and upset about how unreliable he was. It just seemed that he had so many reasons on why we could not meet up. No more rescheduling after tomorrow This is after scheduling for a week and a half with him. I just did not understand it but there was nothing I could do. I checked again on the other tutor I for unity but still, there was no one I could find that fit my price range. So I decided that I would just have to figure it out myself. I began my research by looking on youtube. After looking for some time I found I video that said will help me create a start and
game over screens. After doing a little more research I came to the conclusion that this video is the most informative out of all of them. The video started off by creating a start screen so that is what I began with as well. The first step was to create a new scene in unity separate from my current level. I decided to make the background of the start screen while since I thought it looked nice. I also added text with the title of the game and an image of the character the player plays as. The next step was to add a button that when the player clicks it. They will be taken to the first level. I saw that he had code that was from a previous video. I went back through his old videos to see which one might have had the code for how to change between levels. After looking I saw a video titled Adding Multiple levels which I knew would be the video that has the code. I saw that to change levels you assigned a script to the flag at the end of the level so that when the player touches it they are transferred to the end screen. After following along with the video and copying the code into my game it was already passed 10 am I needed to leave. What the code did is when the player collides with the flag it will trigger a function that goes to the next scene in unity.
On November 23, I went back to the video and followed the steps to write the code for the start menu. The code I wrote basically when it is triggered takes you to level one. After doing that I then added a button that I assigned the script to. I then added after the Scene build settings and it worked to my amazement. The next step was to code the game over screen. I created another scene and added a text box which read game completed and thank you for playing. I then added a button that when pressed closes out the game. To do this all I had to code was a line that just was Application.Quit();. After that, I added it to the Scene build settings and ran the game. Unfortunately when the player touched the end flag nothing happened. After making sure I did not miss any of the code I felt really confused since I had no idea what might be the problem. I decided that I should head over to discord to figure out what might be the problem. After providing screenshots and explaining what the problem is I waited. After waiting an hour I tried to ask the question again. Then three hours passed where I felt that I was not going to get someone to help me so I decided that I will just ask again the next day.
On November 24, I went back on to discord to ask my question and find how what I could do to fix this problem. After looking at the screenshots I provided he let me know that I wrote the code for the collision wrong. I misspelled collision so which made it so nothing would happen when the player touches the trophy.
Evidence: At the end of this week I have completed a start screen and an end screen. I also developed a way for the player to change the screen at the end of the level.
https://youtu.be/Tp24M_IJaOg