Posts

Day 13 Senior Project

 Work Day 13 May 23rd, 2023 - Final day folks, I come bearing one blog about my senior project. Today I met with Spencer and we were able to get some of my issues sorted out. The first thing we tried to fix was the text issue, but unfortunately when it came to the Unity Animation system Spencer's knowledge was limited, so we came to the conclusion that manually triggering it would have to work for the presented product. He did however help me solve my issue with the Menu animation not working in the second scene as well as the enemies. It turns out that the NullReference error the enemy was creating was also somehow screwing up  Menu. This error was caused because when I changed scenes I deleted my character object and created a new one, in the split second when it was gone, the Game Manager would get confused and not be able to provide a player.transform for the enemy to lock onto. After leaving Spencer, I continued to mess around with the text animation some more to see if I coul

Day 12 Senior Project

 (This somehow got saved as a draft instead of posted last night as intended.) Work Day 12 May 22nd, 2023 - I see you have returned dear reader to intake the knowledge of how my senior project is going. Today I spent a decent amount of time working, mostly trying to get everything straightened out with the game. After being unable so far to find a solution to the NullReference error I decided to take a different approach and attempt to use an animation-based system, similar to what I created the player stats menu with. Rather than having the text appear above the character's head, I would create a panel with the text already there and merely move it into FOV using animation. This plan took a bit of work to code and I ended up running into another problem, despite every indication that my call to the trigger for the animation should be working, it is not. I intend to meet with Spencer when he returns tomorrow to attempt to find a solution to this.       The other things I've don

Senior Project Week 2 Reflection

     I feel that I’ve accomplished quite a bit this second week of Senior Project. I finished off the first week feeling I hadn’t accomplished enough, but at this point, I’m proud of all I’ve been able to get done. I started off the week by finishing the first part of the world, including the starting area where the player will spawn and learn about the game. I then managed to get interactable characters and items up and running, allowing me to integrate quests with some relatively simple additions to the code later on. This also allowed me to create the portal that would switch the player from the start scene to the main scene.  The next step is where I ran into trouble with the floating text system. I have continuously run into a NullReferenceException error that despite spending considerable time searching for the cause of the error I have been unable to. I now have an idea to change my plan of attack, rather than spending more time trying to find the cause, I intend to rework it

Day 11 Senior Project

Image
 Work Day 11 May 20th 2023 - Welcome back to my blog or welcome for the first time be that the case. Today I began work on the rest of the UI system and finished the pause menu where the player can see their current statistics. This was somewhat of a more complicated process. Throughout the creation of this game, I've been partially following along with a tutorial on how to use Unity to create a 2D game as this is my first time every using Unity starting from scratch. While I have varied quite a bit of stuff before, as the tutorial makes a roguelike dungeon game and I'm making a game set in a forest mostly. The main thing I've relied on the tutorial for is to reference the coding and actually navigate Unity's many tools. The base function of how I wanted to work my menu was different though. I had to find a way to freeze the rest of the game while having my menu open and I differed from how I coded the menu from the tutorial a decent amount. Here is what the menu now lo

Day 10 Senior Project

Image
 Work Day 10 May 19th, 2023 - Once again, my dear audience, I come bearing an update on the progress of my senior project! I managed to meet briefly with Spencer today and he attempted to help find a solution to my error, but unfortunately, we couldn't find one. He said he would go through the code in depth later on though, so hopefully we will find a solution.     I continued with the combat system and almost entirely finished it, all that's left is to integrate Player Character death. The player can reach zero health, but currently, there are no consequences, aka death, when that happens. However, enemy movement, player damage dealing, and enemy death are also all currently integrated.          After integrating everything but character death, which is actually less combat coding related and more so just coding in a death screen UI, I began working on the animation side of combat. At this point, while I had gone through the steps to have the character deal damage to the enemy

Day 9 Senior Project

Image
 Work Day 9 May 18th, 2023 - I have returned yet again to give you my dear audience a most magnificent update on my senior project. Today I got quite a lot done. I first off found out what was causing the error I mentioned in my last post. I had simply forgotten to initially call upon "UnityEngine.SceneManagement".  I then ran into another error which I quickly realized was due to the fact that I was misspelling the name of the class I was trying to call. After these errors were cleared up I began work on creating the text system for the game. This system will allow the player to speak to NPCs as well as add small text messages upon picking up an item, or damage numbers when hitting an enemy. I started off by creating a FloatingText class which is shown below.     I then created the FloatingTextManager class and added a segment to the GameManager class. After this, I attempted to utilize what I had done by adding to the Chest class to have it show "+ x-amount Coins"

Day 8 Senior Project

Image
 Work Day 8     May 17th, 2023- Hello readers from far and wide. Today I have yet again continued my senior project, though unfortunately due to being sick progression was quite slow today. I spent today creating my Game Manager class. This is a piece of code that stores information relating to the game that is consistently needed such as coins, experience points, enemies killed, weapons sprites list, player sprites list, etc. I've also included in my Game Manager a piece of code that works as a saver. It will ensure that even upon changing a scene, the previously listed statistics will not reset. Here is that piece of code. One issue I've run into is that for some reason that load state is not being triggered when I load into another scene. I ran out of time for today while looking for the problem and will return to it tomorrow. Time Today: 1 hour 40 minutes Time Total: 27 hours 50 minutes

Day 7 Senior Project

Image
Work Day 7     May 16, 2023- Welcome yet again to my fabulous, mystical, maniacal blog dear readers! Today I have yet again continued the creation of my video game. Today I began the process of learning how to create and implement interactable items and NPCs. To do this I utilized this handy coding thing called inheritance which allows you to create classes built upon existing classes, so I don't have to write out a ton of code for every different interactable item and NPC, I simply call generalized methods and use them in a class specified to the specific item or NPC. Below are some segments of code. This class is the base code for collidable objects, so anything the player interacts with by running into. Any sprite with this piece of code as a component is able to be interacted with. It basically continuously checks if there is something to interact with and if there is it logs the thing's name in the console as a placeholder.     This segment here is assigned to any items th

Day 6 Senior Project

Image
Work Day 6       \      Hello, yet again my readers. Today I continued creating my video game and got quite a bit done. I started off the day by finishing up the starting scene. I ran into an issue where somehow some of the tile's pathways had been lost, resulting in masses of pink tiles. I ended up just removing them and re-painting the areas. I also found the solution to the bleeding problem I had run into before. And of course, it was just a single setting I had to change, the issue was knowing what setting and where it was. Below is an image of the completed starting scene, along with the Reaper guide that will explain the character's mission to the player.     Since the starting area was completed I began work on the general world scene, this is the majority of the exterior setting. The entire game takes place in a small mountain town. The buildings, caves, and other smaller areas will be separate scenes, but anything outside like the forest and mountainous terrain will be

Week One Reflection

    So far I am happy with how things have gone in my senior project. I've managed to get quite a few things done. I've found all the necessary tilesets for my project. I've learned how and coded in movement mechanics for the player character along with collision. I've also learned how to have the camera follow along with the player. Lastly, I've begun creating the starting area of the map.  In honesty, I would have hoped to have gotten a bit farther along, but due to outside circumstances, I wasn't able to put in as many hours as I would have liked to this week. I also ran into some issues with finding tilesets that were adequate, they were a lot harder to find than I expected. The hardest tilesets to find were interior and exterior tilesets for buildings. Dungeons, caves, and general terrain tilesets seem to be relatively common and easy to find in comparison. I’ve also more recently had some problems with the textures. These came in the form of unity causin

Day 5 of Senior Project

Image
 Work Day 5     Yet again, I continue my wonderous video game. Today I spent my time fixing textures. For some reason, unbeknownst to me unity is causing colors to sort of bleed in the tilesets. Some textures are just slightly disfigured. It's unnoticeable in the individual tile, but when you put them together on the map you can see the repeating slightly different colors.      As you can see in the above images the textures have been fixed. The first image is an older one where you can see the lines across the floor tiles. The second you can see the lines are gone.  I also added the stones beneath the coffin.     I would like to note that the process of fixing the textures was quite annoying and tedious. I had to edit the image file, then delete the tiles from the pallet, re-add them as the fixed version, then paint the correct versions onto the map again. Hours Today: 1 hour 30 minutes Hours Total: 16 hours 50 minutes

Day 4 of Senior Project

Image
Day 4 of Work     Hello again my many thousands of awed readers! Today I continued work on my video game, Between . I began the day by realizing that I still needed a tileset for the exterior of buildings, I spent quite a bit of time scouring the internet for a free one but, I couldn't find one that suited my needs at all, that was also free. I eventually settled for spending a few dollars on a tileset that was on sale for cheap. Below is one of the sets from the package.          I then decided to move on somewhat, as I had the tiles necessary in my palette to begin the start area of the game where players could learn the controls and their goals. As I started I realized that one of the pallets I was using for stone walls was missing an integral piece. This resulted in me having to change the tileset I used for dungeon and castle-like areas of the world and scour the internet for a new one. I eventually found one, an older version of the same tileset by the same artist, but comple

Day 3 of Senior Project

Image
 Work Day 3     Hello captivated audience, today I continue my creation of a video game! Today I spent a relatively smaller amount of time working but, still did get some important steps done in my project. I first finished setting up my personal tile pallet and began adding more tiles. This required me to continue clipping more 16x16 bit tiles and moving them over to the pallet then rearranging them in the correct formations as they become scattered when moved over. This is both a tedious and time-consuming process, as each tile must be 16x16 or it won't align properly when I go to use the tile paint mechanic. Below is an example image of what I'm doing, each brighter white square is a clipped tile I then move over to the pallet. (This is only a single tileset of many from which I'm taking tiles.)     Once on the pallet, I can select chunks of tiles to paint onto the map, allowing me to build the world in a much more time-efficient manner. It's comparable to how a pain

Day Two Senior Project

Image
      Today I started off with getting collision working for the player character, walls, and NPCs. This required me to create a blocking object and creature object layer. Here is the code used to create a collision effect. This is in the same class as the code shown in my last post, the Player_Movement class.     I also made it so that the camera will follow the character around while leaving a small amount of leeway. This required the creation of a new class, the Camera_Motor class. I also spent some time adding to my assets library as well as clipping sprites from tilesets into 16x16 pieces. Overall I spent 4 hours and 10 minutes working today. Below is a gif demonstrating collision and the camera movement.

First Day of Senior Project (Creating a Video Game)

Image
      For my Senior Project, I am creating a video gaming using Unity. This is the first time I have ever attempted something of the sort. The game will be a top-down 2D RPG of sorts. I intend the premise to be that you play as a farrier of souls who must help the souls of the dead escape the In-Between by completing small quests for them, while this goes on you must avoid the evil spirits which are trying to kill you.     I spent the majority of today building an assets library. This is a group of 2D artworks I will use to create the setting and characters of the game. Below is the asset I selected to be the Player Character.      Today I also began coding movement for the character, I have yet to reach the stage of creating collision, but the character can successfully move in all directions. For those interested below is a screenshot of the code thus far, controlling the character's movement along with the notes in green.        I have been following along slowly with a Unity Yo