Journal Entries - JoshVC30/TECH190_Journals GitHub Wiki

Journal Entry 1, 9/1/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • I researched Unreal Engine 5's Nanite. Nanite makes objects in the foreground have higher poly counts than the objects in the background. This makes it so that developers can feel free to put as many hi-def objects as the want and not have to worry about storage or memory because the software will constantly be adjusting poly counts to be as efficient as possible while still keeping a high quality image for the player. This feature truly revolutionizes game development because it makes mundane tasks like having to make low-poly models for far away objects and switching them out when the player gets close a thing of the past.

https://logicsimplified.com/newgames/unreal-5-nanite-and-lumen-technology-for-next-gen-games/

What have you learned on Unity?

  • I wanted to learn how to use Unity so I searched up a tutorial on how to do simple 2d player movements like going side to side and jumping. After finishing the first tutorial I learned how to code the movements, how to create 2D objects, as well as basic knowledge of the Unity UI.

https://www.youtube.com/watch?v=TcranVQUQ5U&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=3

What issues you encountered and how can we addressed them?

  • Some issues came up while working on this. One was that for some reason Visual Studios was not connecting to Unity, but turns out I needed to go into the edit tab in Unity and set the proper Visual Studios version and it got fixed. Another issue I came across was that when I coded the player to move left and right it didn't work for some reason when I played it, but turns out I just needed to change a value that was preset to zero in the Unity Inspector and I was able to move and jump.

Journal Entry 2, 9/8/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • The newest trend in game purchasing is game subscription services. Just like Netflix or Disney+, a number of companies have adopted that model where by making a monthly payment you are able to download and play as many games as you want from their library. Some of the most popular and successful platforms are Microsoft's XBOX GamePass, Sony's PlayStation Now, and EA Access. Some companies go about this subscription model slightly different and offer different services on top of being able to play from their games. For example Nintendo Switch Online has a similar monthly subscription service, but within that service they include access to their online services and retro games. This is great for the consumer because not everyone is able to afford every game they would wanna play, but with this subscription service model for a single monthly payment you are given access to hundreds of games that you can play and try them out whenever you like.

https://entertainment-focus.com/2022/06/06/why-are-subscription-services-popular-in-the-gaming-industry/

What have you learned on Unity?

  • While playing with the character I made I wasn't really happy with the camera being stationary, so I decided to learn how to make it so that the camera follows the character. After following a tutorial I figured out how to make the camera follow the character by using a camera script with c#. I also found out about a unity package called Cinemachine and I intend to learn about that and work with it in the actual game.

https://www.youtube.com/watch?v=_QnPY6hw8pA&t=522s

What issues you encountered and how can we addressed them?

  • One issue I came across was that in the video tutorial the way the person made it the camera is supposed to have a slight smooth delay, but for some reason in my implementation the camera had no delay and only followed the characters exact spot. I went over the whole video multiple times and did everything as the tutorial did but nothing fixed the issue. This is why when I found out about Cinemachine and it was way more convenient because it didn't involve scripting so I decided to work with that camera package instead.

Journal Entry 3, 9/15/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • Cloud gaming is the next big thing in gaming. With cloud gaming it’s similar to a streaming service but with an added benefit of not needing to download the games you want to play. As long as you have access to a stable internet connection you can stream any game from a library on any device no matter how powerful it is because it is being rendered in the cloud. Major companies like Google, Microsoft, and Sony are getting involved in this.

https://www.theverge.com/2022/8/11/23301875/google-search-results-launch-stadia-geforce-now-xcloud-luna-cloud-gaming

What have you learned on Unity?

  • One thing that I learned about while working on my game was how to implement enemy AI 2d pathfinding. For my game I wanted to include an enemy that would constantly follow the player and attack the player if they got close. In order to figure out how to do this I found a tutorial for 2d pathfinding on YouTube. First, I downloaded a unity package called Astar Pathfinding that makes the process a lot easier. This package basically does most of the work for you because all you have to do is set the enemy sprite and set a target (the player) and once you hit play the enemy starts to follow. Although, it doesn’t affect how the enemy sprite interacts, so next I needed to add a script that makes it so that the sprite flips every time it changes directions, so it always faces the player. After that I had an enemy that would fly around and constantly follows the player.

https://www.youtube.com/watch?v=jvtFUfJ6CP8&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=6&t=614s

What issues you encountered and how can we address them?

  • Some issues I encountered while working on this is that the enemy sprite would spin every time it would collide with the character from certain angles, and it was also colliding with the character, and I didn’t want any of this to happen I just wanted it to be able to go through the player not stop. In order to fix these issues, I found out that there are toggles in the inspector that can turn on and off collision and can lock rotations in certain axes for the actor. After I changed those, the issues were fixed and it worked as expected.

Journal Entry 4, 9/22/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • AR gaming technology is the new hottest thing in casual gaming. AR, or augmented reality, gaming is the mixing of gameplay, visuals, and sounds with the real world around you. This is different from VR because whereas in VR you are simulation a different reality in AR you are combining them by using the world around you. This can be achieved with your everyday smartphone or with dedicated AR glasses or headsets. One of the biggest and most profitable AR games to hit the market in recent years is Pokémon Go where you can walk around the real world and find and catch Pokémon wherever you go by looking through your phone camera. Some AR headsets include the discontinued Google Glass and the new to be released Meta Quest Pro, as well as a lot of other products.

https://www.techtarget.com/whatis/definition/augmented-reality-gaming-AR-gaming

What have you learned on Unity?

  • I wanted to implement a different enemy AI type that would patrol a location going side to side. Although, I needed to learn how to do tis as it is a bit different from path-finding AI, so I found a tutorial to help me. It wasn’t too difficult. After placing the enemy sprite, I had to create a script that sets its movement speed and path and make so the sprite flips to face the right direction whenever it turns around. Then I made a collider box around the enemy so that every time it would collide with a wall or an edge it turns around.

https://www.youtube.com/watch?v=rn3tCuGM688&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=9

What issues you encountered and how can we address them?

  • I didn’t encounter many issues. One step that the tutorial had was to make the enemy a rigid body that the player could stand on, but I wanted the enemy to go through the player, so I skipped that. Also, I need to make it so that the enemy hurts the player whenever it is touched so I need to find out how to do that.

Journal Entry 5, 9/29/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • Real time ray tracing could possibly be the biggest technological advancement in gaming rendering and simulation in both the software and hardware side. “Ray tracing is a method of graphics rendering that simulates the physical behavior of light.” Ray tracing makes it so that lighting in game environments looks much more realistic and with Nvidia’s RTX line of graphics cards you can render raytracing in real time. Nvidia’s real time ray tracing includes quite a number of other advancements including RTX Path Tracing, RTX Global Illumination, Direct Illumination, DLSS, Real-time Denoisers, and Micro-Mesh. All rendered in real time on the spot.

https://developer.nvidia.com/rtx/ray-tracing

What have you learned on Unity?

  • In order to create a game map and levels for my game I learned how to do a Tile Palette and Tile Map. I found a tutorial video on YouTube that just happened to use the same background sprites as in my game. First, I would create a Tile Palette in Unity and then go to Sprite Editor and splice the sprite sheet so that I am able to pick out specific sprites from the sheet. This make the tile palette and lastly, to insert the sprites into the game I clicked on Tile Map and the I was able to just drag them into the game screen.

https://www.youtube.com/watch?v=B1EOBIfPRMo&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=11

What issues you encountered and how can we address them?

  • Although, it was a little bit tricky to wrap my head around all the different steps and it takes a while to splice the sprites, I didn’t really encounter any major issues that couldn’t be resolved by going back on the video tutorial. One thing I would mention is that even though I made a Tile Palette and a Tile Map they are still just images and I still need to assign collisions and how they interact with the player which is in a different tutorial.

Journal Entry 6, 10/6/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • DLSS, or Deep Learning Super Sampling, is one of the biggest technological developments in AI and gaming performance being pioneered by Nvidia. This new DLSS technology greatly amplifies gameplay performance by using AI to generate completely new frames, as well as gameplay visuals by using AI to reconstruct the images displaying much higher quality ones. What makes this so revolutionary is that with this technology because it is using AI software and not the graphic card’s actual hardware, DLSS can bypass the hardware’s limitations and make your gaming experience even more immersive, while also rendering in real time.

https://developer.nvidia.com/rtx/dlss

What have you learned on Unity?

  • For my game, because it is a Metroidvania inspired game with rooms within each level, I wanted to have a similar camera tracking as those type of games. In the past I messed around with camera tracking where the camera follows the player, but I also mentioned that I wasn’t really satisfied with the result and that I would try to learn a Unity package named Cinemachine to program the camera behaviors. I found a tutorial on YouTube that shows you how to make a camera that works just like the camera in the popular Metroidvania game Celeste. I followed this tutorial, and it was very helpful. I learned how create a collider that confines the camera to a specific room and how to create a script that transitions the camera from one room collider to another when the player crosses the colliders. This makes it so that the camera only focuses on the room the player is in and doesn’t show the next or the previous rooms.

https://www.youtube.com/watch?v=yaQlRvHgIvE&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=13

What issues you encountered and how can we address them?

  • I didn’t encounter any issues while implementing this and it was actually quite fun poking around with this package and adjusting the different toggles and values in order to get the perfect camera behavior that I had in mind. I am very satisfied with the final result. If I would change anything is to probably make the rooms a little bit bigger so they fit better in the camera but that doesn't have to do with the camera settings.

Journal Entry 7, 10/13/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • The Toys to Life model was one of the biggest innovations and gimmicks in game development back in the 2010s. These types of games would release with physical toys or figurines that are sold separately and with them you can safe data, get in-game content, or play as that certain character. These toys would use NFC (near field communication), RFID (radio frequency identification), or image recognition to interact with the game and gain access to the toy’s content. Some the biggest franchises and games for toys to life are Skylanders, Disney Infinity, Lego Dimensions, and many more. Although, probably due to demand for these types of games being so low, most if not all these games have been discontinued, with Nintendo Amiibo being an exception. With Amiibo, Nintendo wanted to make it so that the Amiibo would work in multiple games and doesn’t contain too content that wouldn’t be otherwise attained through normal means. This and their status as collectibles is probably the reason why Amiibo are still popular and are still being released.

https://en.wikipedia.org/wiki/Toys-to-life

What have you learned on Unity?

  • In my game I want to be able to pause the game whenever I want to and be able to press buttons within that pause menu, but I don’t know how to that, so I looked up a tutorial. I found a quick 6-minute tutorial on YouTube that shows me how to do a simple pause overlay that stops the game and has button options you can click on. First, I create a Canvas object in Unity and add a Panel, and this is the pause menu will be. I then can design it however I want and add text and buttons. Now all I’ve created is an overlay that doesn’t really do anything, and the game is still running in the background, so I need to create a pause menu script. In this script I assign a button to pause the game, and while paused, the game time should stop, and I also assigned functions to each button.

https://www.youtube.com/watch?v=9dYDBomQpBQ

What issues you encountered and how can we address them?

  • One issue that I encountered while working on the pause menu is that I couldn’t figure out how to add text or buttons. So, I went back in the video tutorials and there was a step that the tutorial skipped but he did mention that I needed to import something called “TMP Essentials” in order to use the TextMeshPro text and button. I am satisfied with how it turned out, but I would like to also add a Metroidvania style map to the pause menu so that the player can track their progress so I will need to find another tutorial that can teach me how to do that.

Journal Entry 8, 10/20/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • In-game Microtransactions is the biggest thing in free-to-play casual mobile games and competitive esports games. "A microtransaction is a business model where users can purchase virtual items for small amounts of money. Microtransactions often appear in free-to-play games, meaning there is no cost to download the game, just a cost to buy the online virtual products." Most of the time what these games offer either cosmetic items or in-game currency that can be used in the in-game store. One of the most popular implementations of in-game transactions is the Battle Pass. A Battle Pass is a list of virtual products that are blocked behind a paywall. Although, once you pay for this pass you don't get immediate access to these products, you have to earn them by playing the game and earning enough experience points for each item. This is very popular with game developers because not only do they get money from the players, but they also gain more play time from the players making them more interested in buying other things they see in the game.

https://www.investopedia.com/articles/investing/022216/how-microtransactions-are-evolving-economics-gaming.asp#:~:text=entirely%20from%20microtransactions.-,What%20Is%20a%20Microtransaction%3F,buy%20the%20online%20virtual%20products.

What have you learned on Unity?

  • One big thing that I'm missing from my game is a main menu, so I searched up a tutorial on YouTube and it turns out is not so different from how I did the Pause menu. There were a couple of differences though. For example, since you aren't in the game, yet I need to drag in an image, that I had created prior, into the background. Some things were also different in the main menu script like having submenus for certain buttons, like the settings and controls buttons, as well as making it so that when you press the play button it takes to the right level, or scene.

https://www.youtube.com/watch?v=-GWjA6dixV4

What issues you encountered and how can we address them?

  • All in all, because this process was so similar to how I did the pause menu, I didn't really encounter any issues while implementing the main menu. Although now that I created this main menu it made me want to make it so that the player is able to save their game while they are playing and be able to quit to the main menu and load a save file. So, I will look for a tutorial on how to do that.

Journal Entry 9, 10/27/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • Nvidia RTX 40 series released. This is the most powerful GPU series Nvidia has released to the general market. With this more powerful chip set developers are able to create and render even more graphically demanding games at quicker speeds. And players can have graphically demanding games look and run better than ever making an even stronger immersion with their favorite games.

https://www.nvidia.com/en-us/geforce/news/rtx-40-series-graphics-cards-announcements/

What have you learned on Unity?

  • Implementing the cameras update

https://www.youtube.com/watch?v=yaQlRvHgIvE&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=11

What issues you encountered and how can we address them?

  • The issue was what I was trying to learn how to fix in this journal entry. As I added more cameras to the map the cameras kept bugging out so I had to completely overhaul and remake them from scratch.

Journal Entry 10, 11/3/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

  • NVIDIA DLSS 3

https://www.nvidia.com/en-us/geforce/news/rtx-40-series-graphics-cards-announcements/

What have you learned on Unity?

  • enemy AI ray cast

https://www.youtube.com/watch?v=2VX8uD_xUlM

What issues you encountered and how can we address them?

  • I had an issue where the enemies Couldn't see the player after I added the new cameras. I later found out that it was a layering issue with the cameras that I had forgotten to change. Once I put the cameras in the right layer the enemies started working as they should.

Journal Entry 11 , 11/10/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

What have you learned on Unity?

  • Player health system

https://www.youtube.com/watch?v=vNL4WYgvwd8&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=16

What issues you encountered and how can we address them?

  • The green health bar doesn't really fit in with the look of the game so I might change it later so it fits in better.

Journal Entry 12 , 11/17/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

What have you learned on Unity?

  • tile map editing

https://www.youtube.com/watch?v=B1EOBIfPRMo&list=PLBJrDiVI22pwnj34vY-2gYk9ci0jtQfKW&index=9&t=68s

What issues you encountered and how can we address them?

  • the issue was what I was trying to learn how to fix in this journal entry

Journal Entry 13 , 12/1/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

What have you learned on Unity?

  • Check point system

https://www.youtube.com/watch?v=VtbHjGcsXLE

What issues you encountered and how can we address them?

  • needed to show something that would indicate to the player that they have passed through a checkpoint

Journal Entry 14 , 12/8/2022, Joshua Vazquez Correa

What have you learned from watching recent development in game & simulation development?

What have you learned on Unity?

  • how to add background music

https://www.youtube.com/watch?v=KOf3P5y19Bw

What issues you encountered and how can we address them?

  • need to make the music loop