Week 4, Milestone 2
Goal: To add a double jump mechanic and expand the level design
Significance: Since I am having trouble developing an enemy I decided that I should put that part on hold and continue developing the platforming part of the game. To improve on the map I did some research to gain inspiration on what the level should look like. I also decided adding more assets would be a good idea to help diversify the environment.
Research: I was downloaded a couple of assets and developed and pretty cool beginning part of my level.
Resources:undefined [bendux]. (2021, December 15). How To Double Jump In Unity [Video]. YouTube. Retrieved September 19, 2022, from https://www.youtube.com/watch?v=RdhgngSUco0
Medieval pixel art asset FREE | 2D Environments. (2018, December 9). Unity Asset Store. Retrieved September 19, 2022, from https://assetstore.unity.com/packages/2d/environments/medieval-pixel-art-asset-free-130131
Actions I Took: In week 4 I have added double jump into my to make the platforming more interesting. With the new double jump mechanic I wanted to also make it so the player can actually be able to jump on stuff. After adding that I still felt that the level still located bland so I decided that some decorations would be a good touch. On the 7th of September I added a double jump into my code. On the 9th began messing with the Layers to make it so that the blocks that I want the character to jump on are not covered up by the background. By the 12th day I was starting to get worried due to the decorations were deleting the background and I had not idea what to do. This caused me to reach out to other unity developers for help and with this help this allowed me by the end of the week to have created a great introduction level.
Self Assessment: By the end of week 4 I have completed the tasks that I have set out for myself and I believe that the screenshot shows this progress. That is why I decided that my performance rating should be a 4.
Week 5, Milestone 2
Goal description: My goal is to continue the development of my enemies. To continue this development, I am going to be looking back at videos that explain how to code and enemy trying to see if I might have missed something. I will also be looking around trying to find any examples of code that I could compare to mine. The unity discord server will also be a major asset to me as I am going to be reaching out for help on my game. So far the unity server has been a major help for when I run into an error with my code, so I feel that I might have similar success with my enemy.
Significance: This is going to be an important goal for my milestone two due to the milestone is creating an enemy and a visually pleasing level. Figuring out how to create an enemy is not only significant to this particular point in my game, but its overall significance is to be able to have this knowledge on how to create an enemy. Having the knowledge of how to create an enemy is an extremely important asset that can not be overlooked. To really create a game, you need some sort of obstacle for the player to face. While the platforming segments technically make count as an obstacle, I do not believe that it fully fills the quota for an obstacle. I worry that by not fully filling up the quota for an obstacle, the game might seem boring for a person to play. After I figure out how to complete this task, I will not only be able to create a single enemy but also a boss to go along with the game. This is a major hurdle that I am going to have to overcome, but I learned that game development is filled with these hurdles and the only way to succeed is to push forward.
Research: When trying to figure out the problem, I decided to go back to the source, which was a youtube series which is how I got the original code. I also spent multiple hours on discord talking to game developers trying to figure out the problem. The following are the youtube videos I used to help in the development.
Discord Inc. (2015). Discord (Version 0.0.39).
[Sid Makes Games]. (2019, Dec 16). 2D ENEMY Melee Combat in UNITY - Setting Up Character - Part 1 [Video]. Youtube.
https://www.youtube.com/watch?v=qgX941I-YqE&list=PLeuRL1NJCwvLswHSlBi0T5lyPNje8pgvY&index=2
[Sid Makes Games]. (2019, Dec 16). 2D ENEMY Melee Combat in UNITY - Coding Attack Pattern - Part 2 [Video]. Youtube.
https://www.youtube.com/watch?v=waj6i9cQ6rM&list=PLeuRL1NJCwvLswHSlBi0T5lyPNje8pgvY&index=3
[Brackeys]. (2020, Jan 26). How to make a BOSS in Unity! [Video] . Youtube.
https://www.youtube.com/watch?v=AD4JIXQDw0s
Self-Assessment for Week 5. 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.
Actions I took: In week 5, I began my project on the 13th of September, where I began to brainstorm for different ways on how an enemy would be created. That's when I decided that I should review some of the previous videos that I watched, which led to me to my current enemy. After repeatedly watching and trying to figure out what I could have possibly got wrong I could not find anything which brought me to the conclusion that maybe through an update that could have changed the way to create an enemy. This left me with an enemy that does not work and not even knowing what part of the code does not work. I felt stumped, so I decided to leave a comment on the youtube video to see if maybe the creator of the channel might respond.
On the 15th of September I came up with the idea maybe if I watch a tutorial on how to create a boss then that could lead me to a solution for my enemy problem. After looking around on youtube for some time I finally found a video that seemed to be a good tutorial. I followed along with the video creating three different scripts for my boss. I created a boss weapon, boss health, and boss scripts. After creating these scripts I began receiving a compile error which I could not figure out how to fix. By the end of the day I finished the boss script and set up the boss in the game.
On the 17th of September I continued my work by coding the other two scripts for the game. Throughout coding the other two scripts I did face errors but thanks to the internet I was able to resolve these problems. After I finished I realized that this code did not work with my own so I then had to revamp my player code to get rid of the errors. After figuring out how to revamp the code I was still left with a error from day 15 that I had not idea how to figure out even after looking it up online. I decided that it is time for me to go back to the unity discord server. After asking my question I waited around a half an hour for a response. Then after a hour and a half of going back and forth we finally found the problem which was as simple of deleting a duplicate script.
On the 18th of September I tried out the boss and it did not work. I felt very frustrated that after spending all of that time coding and adding component to the sprite but I decided to go back to the unity discord server hoping that they could solve my problems. Unfortunately I had to keep posting my question over a period of three hours till someone finally decided to help me. Once someone was willing to answer my question they decided that working on the enemy that is not working was a better use of mine and their time. After going back and forth for an hour and a half we have made no progress. Then after two hours in he told me to add in debug.logs which will print a message if a certain part of code is triggered. Since I am new to unity he explained to me how to implement and where. After spending a hour coding all of the debug.logs into the script I was able to find out that the raycast is the problem. After finding this out he had to go so I am left with a raycast that does not work and no idea how to fix it.
Enemy code with Debug.Logs:https://pastebin.com/KQeDAtNH
Evidence: During this week I was able to find out that the enemy raycast is not being triggered. I also learned about debug.logs and used them to find out what is being triggered and what is not. I also finished the code for the boss's health, weapon, and movement. I am still working on trying to fix the raycast for then enemy and will be continuing my progress for the upcoming week.
Boss weapon code: https://pastebin.com/S480xzfa
Boss code: https://pastebin.com/w4xiTBna
Boss health code: https://pastebin.com/wgJfjyPv
Week 6, Milestone 2
Goal description: My goal is to develop a way for the player to pick up a coin and a counter that increases when a coin is picked up. To be able to accomplish this task, I am going to research different tutorials on youtube. I am also going to go back to the unity discord server if I find myself with a problem. I am hoping that I will be able to complete this goal quickly so I can continue the development on my enemys.
Significance: This is a very important improvement for my game. Since I am having difficulties with the enemy creation, I decided to pursue a different way of improving on my game. This was through adding coins for the character to collect. As someone that plays video games myself, when I collect a coin, it gives me some form of accomplishment. I believe those
feelings of accomplishment are very important to have in any type of game. To increase this feeling, I also will create a counter where when a player picks up a coin. The counter will go up by one. Adding coins is also important because to it leads the player where the game developer wants them to go.
Research: When trying to create something that I had no knowledge of how to create I needed to complete some research. After searching for a video that would be compatible with what I need to create I listed it down below. Then when I had problems, I headed over to discord.
Discord Inc. (2015). Discord (Version 0.0.39)
[Lotosos]. (2019, Oct 11). Unity: How to Make a Coin Pickup System [Video]. Youtube.
https://www.youtube.com/watch?v=vvzXXkJx3BY.
Self-Assessment for Week 6. 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.
Actions I took: On September 21, I began my search for information online that would help me create multiple coins in my game. I began my search by looking on youtube for tutorials for ways I could make this goal happen. Unfortunately, a lot of the tutorials I checked out were not much help. Many were outdated or lacked important information that was critical to the process for a beginner like me. After some time of scanning through videos and being disappointed by their results, I was finally able to find a video that provided significant enough information on how to complete the project. I was still left with a problem though I still need to find some assets and animations. I had to download multiple different coin assets to find one that worked. I added the assets to a sprite and placed it into the level.
On September 23, I began creating the code for the coin through watching the video. Unfortunately, I quickly ran into a problem with the code. It was not an error, but that it did not function as intended. The code is supposed to delete the coin the when the player touches it, but this was not happening. After re-watching the video around five times and still not being able to find anything thing that would fix the problem, I felt stuck. This forced me into my next decision, which would be going on discord and reaching out to some people that know more about unity than I do. I was unable to get someone to help me with the code even after asking multiple times. This changed completely randomly, and I still have no idea why it started to work randomly, but I went with it. https://docs.google.com/document/d/1Xcmm1LDih49BHv30x4WZLrygJspz5Q4S4Qam6uMR2pU/edit
On September 25, After creating a system where when the player touches the coin, it gets deleted. This is which is a pickup system, and it worked well, but I decided the next best thing would be a counter. I noticed that the video that I watched to help me create the coins also included a segment on how to make the counter. After watching the video and adding in the different components and code, it was working. The counter was being shown and was increasing when the player touches a coin. Unfortunately, the counter was being shown under the player, which I thought did not look very well. So I found a way to move the counter to the top left of the screen and changed the color to a reddish gold color. I also thought that would improve the look of the counter would be to add a coin behind it.
On September 26, I decided to fill the level with coins in different spots that I thought would improve the game. Unfortunately, I uncovered yet another problem. For some reason that is unknown to me is when the player grabs the coins on the second level of the structure, all of the decorations disappear. After searching through my code and checking if anything could possibly cause this, I was left stuck. I decided to reach out on discord for help with my problem. After spending multiple hours discussing this problem they could not find anything that could be a problem. I was recommended to start over from the beginning which I do not know that I will be able to do. This is because of the amount of time it would take to start fresh.
Evidence: During this week I created coins that when the player touches them a counter increases at the top left of the screen. I also ran into another problem where when the player touches the coins on the second level all of the decorations disappear and so far there is no know solution to fix that.
https://docs.google.com/document/d/1Xcmm1LDih49BHv30x4WZLrygJspz5Q4S4Qam6uMR2pU/edit
Week 7, Milestone 2
Goal description: My goal is to develop a way for the health-based system which will allow me to add ways for the player to be killed. This health system will also include UI which includes a bar that shows the total amount of health the player has, and as the player loses health, the bar will replace the red hearts with black hearts. I will also add a line of code that when I press e, I will be able to test how the health bar will function.
Significance: With any game having some way for the character to be killed is very important. Without a health system, the player will feel bored due to they have nothing to worry about. With a health system, the player will have to watch their steps closely because they could be forced to restart from the beginning. This is also the first step to one of my later goals of adding traps into my game. I am hoping that the added UI will also make the game seem more impressive to the player and add more components that will make the game interesting.
Research: Since I had no idea I looked around on youtube till I found this video which I followed to create the health system. I also experienced problems with the system, so I went back to discord for help.
Discord Inc. (2015). Discord (Version 0.0.39)
[Pandemonium]. (2021, May 29). Unity 2D Platformer for Complete Beginners - #7 HEALTH SYSTEM [Video]. Youtube.
https://www.youtube.com/watch?v=yxzg8jswZ8A&t=603s
Self-Assessment for Week 7. 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.
Actions I took: On October 1st I began my process by looking around youtube for a video that will help me make a health bar. The problem I had was that many of these videos only showed how to give a character health but not adding a health bar as a part of the UI. Since I had no idea on how to add it myself, I continued my search till I found a video that actually explained how to make a health system and add a health bar as the UI. Unfortunately, I could not find any unity assets that were free I could use as a health bar. I was able to find two pictures that would work for the health bar. I was still left with another problem with how I would add these images to the unity app. After spending some time doing research, I was able to figure it out. This was through finding the project in my files searching for the asset folder and placing the images inside. I then reloaded unity, and the pictures were there.
On October 2nd I decided to begin my work on creating the code. I created two new scripts one called player_health and the other named health_bar. The first one manages how much health the players and sets the current health, total health, and damage inputs. While the health_bar manages the health bar UI which tells the player on the screen how much health they have left before they die. To create these two scripts I followed along with the video. The video told me to create different classes like the take damage class and add code that should be updated constantly. I also created different variables that I am able to update without having to go through the code. These included images that demonstrate the players health and how much health should the play have in total. After completing the UI and the two scripts I decided to add a line of code to test if the health bar works. I added a line that when the player presses the e button on the keyboard two hearts of damage will be done to the player. After I finished adding this I was unable to test the UI due to I was receiving a warning that there were complies errors. I kept scanning through my code but could not think of anything that could be wrong with the code.
https://docs.google.com/document/d/1xhqjP-wNg8rZEgbhpLyYhJLeUuJR0UpAeXv8ESqhEag/edit
On October 3rd I decided to go on discord to find out why I am experiencing compile errors. After going back and fourth for around a hour and a half I found out that the files public class had a different name then the file it was located in. I could not believe that I spent all this time just for that to be the result of the issue. After fixing that I decided to load up my game to see it in action but when I pressed e nothing happened. I was extremely disappointed from the results so I headed back onto discord to ask for help again. Know after another hour and a half I found out that I need to add the player_health script to a empty object attach the object to the player and put the health_bar script onto the player. After adding the health bar I had to then attach the health bar two image UI to it and the object that has the player health script attached to it. After doing all of this and clicking play when I pressed e the health bar decreased.
Evidence: During this week I created a health system with UI that when the player presses e they can see the health bar in the top right decreases. I am later planning on trying to add traps to spice up the game.
https://www.youtube.com/watch?v=hhVzNIMdGGY
Week 8, Milestone 2
Goal description: My goal is to develop a trap that damages the player once they touch it. This is supposed to create some way for the player to be able to die. Since I can not get the enemy to work this is the next best option. To make this happen, I have been watching youtube tutorials and getting help from discord. The trap will look like a saw in the ground and when the player touches the saw the health bar will decrease. When the player loses all of their health, a health animation will play.
Significance: Like I said in the previous week a very important part of any game is for the character to die. Without the character being able to die there is no risk. Having no risk factor quickly causes the game to be boring. Even if I am unable to create a working enemy just creating some way for the player to die is enough. I am also going to try and put the trap in different places. This trap also leads to my next goal which will be to make it, so the trap moves left and right. It also allows me to add other types of traps in the game to make it more interesting.
Research: To find out how to do this I saw that the youtube video I watched from last week included a part on how to create traps which did help me. I will also use discord when I run into for help.
Research: Since I had no idea I looked around on youtube till I found this video which I followed to create the health system. I also experienced problems with the system, so I went back to discord for help.
Discord Inc. (2015). Discord (Version 0.0.39)
[Pandemonium]. (2021, May 29). Unity 2D Platformer for Complete Beginners - #7 HEALTH SYSTEM [Video]. Youtube.
https://www.youtube.com/watch?v=yxzg8jswZ8A&t=603s
Self-Assessment for Week 8. 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.
On October 5, I was unable to work on my project since it was Yom Kippur and on Yom Kippur, you are not allowed to work due to religious reasons.
On October 7, I began my project by looking at different saw assets. During this search, I had a lot of trouble trying to find assets that were free. I found only one and when I downloaded it. It does not work well with my game. The spike was very bloody and had a skull. This does not fit with the cartoon art style of my game. This made me believe that if the player saw this, they would be turned away from the game. It is comparable to a realistic game having cartoon coins. It just looks very unprofessional. I decided to continue my search, but instead of just searching for spike or trap I looked up just 2D asset packs. After looking through different cartoon assets, I finally found one that would fit the overall style of the game I am trying to make. I started by creating an empty game object and dragged the sprite into that empty game object.
On October 9, I began working on the code for the game. I started by adding a Box Collider and a Animator. The box collider makes it so the object has a hitbox that detects anything that touches it and the animator gives the saw animation. I then added code which when the player enters the box collider the player takes one point of damage. I also has to create a tag so that the object labeled as the player is the thing taking one point of damage nothing else. After that, I added animation for the saw by placing each image one by one to make it the animation flow well. After adding all of this I received an error message which after looking through the code I could not figure at what the problem was. The error that popped up stated this NullReferenceException: Object reference not set to an instance of an object Saw.OnTriggerEnter2D (UnityEngine.Collider2D collision) (at Assets/Saw.cs:13). After trying to reach out onto discord and not understand what the person instructions were. The person used some vulgar language against me and told me to figure it out myself.
https://docs.google.com/document/d/1C96Olq5xY_kqdHG6ScYV90sNoG29S4LMQ5HOaQLhBfU/edit
On October 10, I decided that I should try to and re watch the YouTube video to see maybe I might have missed something. Unfortunately I could not find anywhere in the video that I might have made a mistake so hesitantly I went back on to discord to repost my question. After reposing my question I began to have similar results to yesterday with the person quickly becoming agitated and threatening to leave. Luckily someone else that was part of the helper team jumped in and decided to help me. The first thing I was told to do is delete the empty object that was assigned to the health bar that had the players health script and just place the health script directly on the player. I originally placed the health script on the empty game object and placed it in the ui because last week when I was working on the health bar it did not decrease and to fix that I was advised to place the empty game object in the ui and drag that onto the health bar component. Since I could not just drag the script onto the health bar component in the player object. I did not know I could just place the script onto the player then drag the player onto the health bar competent. After doing that I was able to get the game working and thanked the person that jumped in to help me. Unfortunately the person that got agitated started to insult me so I got into an argument with him on how it is not my fault that I did not understand him and I am really new. I also was able to add death and hurt animation for the player when they take damage and input them as Boolean.
https://www.youtube.com/watch?v=VDkZ5Jf_u6A&feature=youtu.be
Evidence: During this week I created a trap that works with the health bar to decrease the players health to zero. After the health reaches zero the player will go through a dyeing animation but with every hit does a hurt animation.
https://www.youtube.com/watch?v=KqaJFcfZ2Xw