Sunday, November 24, 2024

CAGD 370 Blog Post 4

11/24/2024
Sprint 4 Kickoff

Hello everyone and welcome back to my blog. It's been 2 weeks since I last updated you guys and today, I have a lot of exciting news to share with you. My team and I have just wrapped up our 4th Sprint for our game project of our working title called “Wisp’s Light” and so far, we are doing very well. In this sprint we had our official 2nd playtest of our digital prototype, and we had some huge success so let's dive in.


In the beginning of this sprint, we once again had our kickoff where each of us was assigned a couple of tasks inside of our Trello Backlog and at this point, we knew what we had to accomplish in order to get our prototype ready for a second round of playtesting. With that in mind we also took a second look at our previous feedback we had gotten from our first playtest of our digital prototype in order to refine and tune some of those areas that needed fixing. 



Work Completed

One of the main things we wanted to definitely revisit and take care of this time around was our main game mechanic which was the player's teleportation movement. Alongside with that came the issue of reconfiguring our players' 3rd person camera that definitely needed improvement. Those were perhaps 2 of the main things we as a team took care of this time around and that ultimately helped our prototype get back on the right track. 


As for my work that I was able to accomplish this sprint, I was able to create a Boss enemy prefab inside of our unity project to be used in our prototype for a possible end level boss fight.

                                    


While I was able to design the boss, we did not get to incorporate him into our level quite yet, since we are still working with a beginner level course for our prototype. However, we do have plans for our upcoming and final iteration of our prototype to definitely include him. The second thing I worked on was creating a moving platform that could transport our player from one place to another. Typically, the player would only come across these in some parts of 





our game where they would have to get from one side to the other avoiding falling down and ultimately dying. This would allow us to give our game some more of that platformer genre as well. Once I got it to work, I decided to make 2 other variants of the same one, only that those would move in totally different directions. The first one moved forward and back, the second side to side and the last one up and down. However, there was one small issue I encountered when making these and I'll go over that in a second. Lastly, the final thing I worked on for this sprint was refining the players' attack. Our goal is to try to get the player to have a lock on target for the enemies in our game so that when the player is attacking, they have more control where their attack goes. 


Overall

As for issues this sprint, I only really had the one with the moving platforms. The issue was that whenever the player jumped on top of the platforms they wouldn’t be taken along for the ride with the platform, instead the platform would continue going leaving the player behind. At first, I thought it was a simple fix by making sure the collision event was being triggered properly between both game objects. However, I soon realized that it was much more complicated than that so unfortunately the issue could not be resolved before our playtest. In the end though players seem to enjoy our second iteration of our digital prototype, and we had much better results this time around.


Sunday, November 10, 2024

CAGD 370 Blog Post 3

11/10/2024
Sprint 3 Kickoff
Hello everyone and welcome back to my blog. In today's blog post I will be going over my most recent progress I made in trying to create a digital prototype alongside with my team. For this sprint we all generally focused our attention on getting the project as close as possible to a build. With that being said, I focused entirely on delivering everything needed for my team and I to be able to draw up a build and create an executable for players to playtest our game in class.

Work Completed
At the beginning of this sprint 3, I was assigned 5 cards. Most of them had to deal with features from the backlog that were categorized as wishes at the beginning of our planning stage for the project. Looking at this, I made the decision to focus on things needed to be able to deliver a build that would present the player with the main game mechanic functionality as well as key engagement factors that would cause them to want to replay our game over and over again. The game would also need to be to a certain extent where the player could pick up the game on their own and be able to play it and understand with little to no context from us the game developers. With all that in mind, I decided to focus my first attention to giving the player a basic attack movement. Since the majority of our player controller was done I was aiming to create something that could allow the player to defend itself in the event that they run into an enemy in our game. Since one of my other teammates had already created a dummy enemy, this was easy enough to complete and test. I created an attack function in our player controller script and made it so that the player can shoot a laser/ball in the event that they push the “E” key on the keyboard. After that it was simply making sure that the laser/ball prefab would properly collide with our enemy prefab in order to destroy it. 


The second thing I focused on was creating a deathfloor that would cause our player to die if for whatever reason it fell onto. The main purpose of our death floor was to create a challenge for our player while playing our game. This would require a certain level of skill for our player to be able to navigate carefully through our game. Naturally we also tied it in with our whole platformer genre of our game.



 

Lastly, I shifted focus on creating a screen not only for our main menu but one as well for our game over screen. This was definitely a thing we were going to want to accomplish and have for our build this sprint. Without it, it would have been nearly impossible to deliver a proper first prototype iteration for our players to playtest. Needless to say, I jumped right on this task as soon as I could so that our build could have a Main menu as well as a game over screen As soon as I was done with all of the above, we were able to effectively create a first level iteration of our prototype to then be able to have it play tested by a bunch of people in our class. 






Overall

For our playtest we were able to receive a lot of good key feedback that has now turned into some more work for us to figure out. Overall, though, a lot of people seem to enjoy our game up to this point and it seems like we are definitely heading in the right direction.


Sunday, October 27, 2024

CAGD 370 Blog Post 2

10/27/2024
Sprint 2 Kickoff
In Today’s blog post I will be covering my latest process I have gone through as a Programmer to create and design a project video game alongside my team. So far, we have been able to gather the feedback we received during our first playtest of our paper prototype and use it effectively in the last 2 weeks to be able to transition our paper design into a digital prototype. At the beginning of Sprint 2 I was assigned 5 cards, most of which were tasks dealing with programming aspects of course, along with general design stuff as well. Since the beginning of this project, I have gotten to build and gain some more experience with agile development so naturally this time around, I was much more prepared to tackle my work for this Sprint 2.


Work Completed
With that being said I started my work inside Unity which is the software we are going to be using this semester to create and design our digital prototype for our game called “Wisp’s Light”. As the group programmer I decided to take the lead in setting up the project in Unity as well as creating a GitHub repository in order for my team and I to efficiently be able to work on the project together. After that it was smooth sailing for me to work on the cards that I got assigned during Sprint Kickoff 2.



My focus this sprint was to be able to create a functional Player controller set up in unity, so that it could allow for some other features of our game to be tested by me and my group mates Hannah and Yasmine, as soon as possible. Another reason I wanted to tackle this right off the bat was due to the fact that for this project we are tasked with creating a unique movement that we can showcase as our main game mechanic. As for our game, we decided that our unique movement would be Teleportation for our player. Keeping this in mind, it allowed me to write a script that would cover our players basic movement using the WASD keys on keyboard to then be able to work on the teleportation.



After doing this it was a matter of figuring out how I could get a 3rd person camera to follow and work property just behind my character. In the beginning I thought it would be very simple however I quickly learned that it was definitely not as easy as it seemed. This was my second card assigned to me for this sprint, and it actually ended up being the one that I took the longest on. However, after some research and experimentation, I was able to finally get it to work to a certain point. Once it was working, I was able to shift my focus and start working on the rest of my cards assigned for the sprint. At this point I was able to accomplish my main goal which was to create the player's main game mechanic of teleportation. After this I was also able to finish another card assigned to me that had to deal with the sub character in our game following our main player.



Issues
As for issues this Sprint, there were 3 main issues I encountered. The first one was perhaps just some minor lack of communication between the team and me. I realized this was an actual problem when it led directly to my second issue encountered which ultimately came down to a merge conflict I ran into when trying to upload my changes to our repository. I got an error message when trying to do so and it caused me to go back and retrace my changes done to the project. My last and final issue encountered happened when working on my 3rd person camera. However, I was able to resolve this issue by downloading unity’s Cinemachine package that helped me create the 3rd person camera I wanted. Overall, I definitely got some progress accomplished towards this project and ultimately gained some knowledge on how agile development works.