CS 462 Blog

CS 462 – Post #1

Hey everyone! Welcome to another term of Capstone blogs! It’s been great setting up our project so far, and it’s finally time to start really digging into the implementation of our project.

This week, my team and I got together after a nice winter break to talk about our planning for the first sprint, as well as the first standup meeting for the first week. While initially we felt that it would be hard to split up out tasks from last term, we were able to come together as a group to figure out our tasks for the first sprint, which will consist of a general setup for our project. In other words, we will make sure that everything is prepared to start developing our game-specific code and let our creativity really come through.

For one of the first times this year, all three of my team members were able to voice chat (hard with asynchronous issues), which was nice to start off the term on a good foot! I’m excited to continue to work on this project with my fantastic team!

CS 462 – Post #2

Alrighty, welcome to the second blog post of the term! This week was a little more action packed as my team started to run into some obstacles during development. Specifically, each one of us came upon an issue with setting up the Oculus Quest with our new VR space in unity.

While each of our problems was slightly different, all three of them related to setting up the Oculus hardware rather than any software issues. Luckily, all three of us were able to find a solution to our issues, making it so that our next sprint will be able to continue development.

For our next sprint, we are going to focus on creating the note blocks and other UI elements related to the player and enemy. While this doesn’t involve music yet, we should be able to create a basis for the music to come in later once we are able to parse it into beats that the note blocks will follow. Since we are all newer to Unity, we know that simpler tasks will probably take longer than we expect, so we are scheduling smaller tasks that can be expanded on if we have time.

So far, development has been smooth and our team is communicating well!

CS 462 – Post #3

Another week has gone by in Winter Term 2021, and also another week for the Capstone project. This week I felt like our team really started to hit our stride and coordinated exactly how we all felt like the project was going so far. Specifically, we had to fix some things on Trello in order to better distribute tasks.

After we figured out what exactly to do as a team, we each were able to make really cool contributions to the project and all started to learn Unity better and better. For example, I was able to make the note block objects disappear when hit with the VR controllers, specifically in a fist motion, and also make them explode into tinier cubes as if the cube had shattered. This process involved a lot of Unity functions and colliders, triggers, etc. to create the physics behind the objects. For my teammates, one of them created a basic UI for the player and enemy stats, which will be nice to see inside the game environment. The other one created the note block objects with designs and started to explore syncing them with rhythm of music. Overall, we felt like this was the first week where we really dove into Unity to start expanding our knowledge and build key aspects to our game.

We also all figured out our issues with the Oculus hardware so we can now efficiently test our prototypes separately. My team is looking forward to continuing development and reviewing each other’s code reviews in order to maximize our code!

CS 462 – Post #4

After week 5, our Capstone project is really moving along. Our team is hitting our stride and the next two weeks are going to hit the bulk of our project’s work.

Over the next two weeks, one of our team members is planning to work on incorporating music into our game. Since the VR game is mainly around rhythm, it will be important to get a basis of incorporating music into the game. This will involve getting the timing of beats and making the game do something in accordance to these beats. For now, this can be any event, but in the future will accord to the beat blocks coming through the strike zone.

Our second teammate will be focusing on the song stream and strike zone, which is essentially where the blocks will move through in the environment. This will keep them contained to a certain space that the player can see. Then, the strike zone will be where the player hits the note blocks.

Lastly, I will be focusing on the stat effects of the blocks. This includes the mana gain, player’s health decrease, and enemy’s health decrease. Since we haven’t incorporated hitting the block entirely, these events won’t be triggered on a block hit just yet. However, this can be introduced later.

Overall, these three tasks will create the foundation for next sprint’s tasks and will keep our team busy!

CS 462 – Post #5

Another week of Capstone is coming to a close as we get our alphas together for this week’s assignment. For my group, this was a big task since we were having trouble with GitHub. Specifically, we couldn’t merge our individual branches into the main branch to create a main alpha, but rather had to manually move files from our own branches into the main branch.

Luckily, Unity’s development makes it easy to have similar structure of code, so moving of files was more of a pain than anything else. As of now, our alpha is coming along, but we still have to figure out how to combine all of our progress together to make the prototype work as we want it.

Otherwise, this week consisted of tightening up personal development for the game, which included dealing with the note blocks. Specifically, I made sure the shatter effect worked for all three of our block colors, which included making more prefabs that could easily be worked with in the scene. Also, the blocks would sometimes spawn multiple destroyed blocks, which was fixed through a simple boolean check.

Hopefully our group can create an amazing alpha that the Professor is able to play on his own Oculus device!

CS 462 – Post #6

After working heavily on the Capstone project this week, I am very proud of where our alpha has come. I was able to work very efficiently with my team to put together a playable alpha that reflected all of our contributions to the project so far. Additionally, we were able to make a simple executable file for people to launch in order to test rather than having to deal with GitHub and downloading the associated packages in the game.

Last term, I remember hearing that you are only able to produce less than 50% of what you imagine your product to look like. While I definitely could see this occurring as our group has experienced many software and hardware problems already, I still think that we are on track to do a majority of what we planned on doing when we made the documents in Fall Term. Therefore, I am super excited to continue working on this project with my team.

That being said, our group had the first semi-disagreement this week of how the project should continue. It was difficult to discuss as we were trying to maneuver not hurting anyone’s feelings or making their work seem useless, but also continuing to improve the game by creating more efficient solutions. Thankfully, we were able to come to an agreement of how future development will run that satisfied both parties and can move forward as an effective team like always.

We hope that the Professor has a good time testing our alpha as we have spent hours making it to be as good as it could be!

CS 462 – Post #7

Another week has flown by as we are reaching the end of winter term. As everyone says, college has flown by and has continued to do so during senior year. This week, I was very busy with many of my classes as we head towards finals season.

Specifically, I focused more on my honors thesis project, which involves creating a computer graphic of animated hair. This will involve researching hair attributes and trying to mimic aspects of previous projects in order to synthesize my own hair graphic. Unlike fur, hair will be more variable and longer in order to flow easier.

This week was also nice as I was able to escape to the coast with my family and some friends/roommates. My family decided that, since everyone is remote, we might as well go for a little change of scenery and do our work while having a view of the Pacific. This has been nice to get out of the house a bit and enjoy fresh air. It was also nice to spend some quality time with friends and family during a very isolated pandemic. Even though it is only a few days, things like this are important to maintain good mental health and keep in good spirits.

For our capstone project, we are continuing development as usual and slowly making a game capable of multiple songs, RPG elements, and overall better user-friendly aspects. Hopefully we can create an excellent version by the time that we release the beta!

CS 462 – Post #8

Hello everyone! This will inevitably be the final blog post of Winter Term as we head into dead week and finals. It has been an action-packed term as we have made significant steps with our project, but it has all been a blast!

Looking into the end of the term, we have a few assignments coming up that should wrap up our project. Besides our big task of synthesizing the beta, we also have the beta team design document and final progress report. Even though we basically have everything finished up for our beta, we need to make sure that it all works together as quickly as possible in order to avoid any unforeseen circumstances. However, our beta should turn out great and will have a significant portion of what we had envisioned at the beginning of this project!

Overall, I’m excited to bring this project to a close as we head into Spring Term. I’m super proud at what our team has accomplished and look forward to testing out our beta, as well as giving our sponsor a chance to try it out for himself! Not to mention that I can show off the game to employers!


CS 461 Blog

CS 461 Blog Post #1

Hello everyone! I’m super excited, and nervous, for my Senior year journey. As this post is my first, I am clearly new to this format, but I hope to inform everyone of my progress throughout this year. Between 17+ credits/term, two esports teams, an honors thesis project, and my capstone project, my experience with video game simulation should be bolstered greatly by the end of this year. With that being said, I’m excited for the project opportunities for capstone this year; the graphically-driven choices especially pique my interest. Specifically, the rhythm VR game and Mandalorian-style graphics environment seem to be particularly unique and interesting. Not to mention that my graphics-based thesis of generating animal hair/fur should pair nicely with the graphics involved in these capstone projects. Overall, I hope to continue to inform you all of my experiences this year!

CS 461 Blog Post #2

After a week into the Capstone project and finally getting assigned my group, I am optimistic about this year’s project! First of all, I got assigned to my #1 choice as the VR rhythm game which is exciting. Also, I was able to talk with one of my group mates prior to turning it our first assignment, which was good to meet them and figure out how we want this year to look. Since we both were assigned to this project, it didn’t surprise me that we had the same major with the same focus. Additionally, the fact that we were able to start talking about the best ways to communicate was really important to set a basis for this project; I was happy to settle on using Discord, texting, and Trello as our main tools assuming that our third group mate doesn’t have any objections.

One interesting thing about my group is that we all live in different cities at the moment, so there won’t be any possibility to meet in person. While this makes communication harder, the fact that we have already found a way to meet synchronously (just the two of us so far) makes me hopeful for our communication this year. On top of this, both of my group mates hopped on our first assignment right away after groups were chosen, which makes me think that they are as excited to start this project as I am! I’ve played Beat Saber extensively in the past, so I’m curious to see how our project differs from it since it is essentially the same concept. However, I am faithful that the three of us can put our heads together to create a new idea that will blossom into a great game! Not to mention that we get our very own Oculus Quest devices to test on! Overall, I’m very anxious to start coding this project, and can’t wait to see where it goes!

CS 461 Blog Post #3

Another week has passed by in Fall term 2020, as it seems like my senior year is going way too fast. And with the fact that the Capstone will occupy most of this time, I’m both worried and anxious for this project; hopefully we can work well together as a team and create a cool and unique game. However, based on the interactions I have had with my team thus far, it seems like we will create a really cool project.

As mentioned in the last post, we are all living in different areas of the world right now, which could potentially make communication more difficult. On the other hand, I do think that being in different places also means that our perspectives are unique as well, meaning that we will all have different ideas about the project. While this could be seen as a bad thing if we can’t decide on what we want, it also means that our different ideas could be woven together into something extraordinary. For example, after the first true group assignment of deciding our problem statement, we all had very different ideas on how the game would look. While one of us was more concerned with the feel from the controller perspective, one of us wanted a more RPG-centered game, and the last wanted different instruments to be involved. Again, while these seem to be starkly different, the possibility of creating an RPG-style game with different instrument sounds and controller vibrations has a great possibility to be the basis for an outstanding VR rhythm game!

Because of this, I am extremely excited to get my Quest and start playing around with these ideas, and see how far we can make our goals a reality. For example, while the idea of parsing through different instruments in a song may be difficult, it would be a great idea to add to the game, and could be possibly developed even after the Capstone time period is over and published. With that being said, it should be another great week of team collaboration figuring out our exact modules of this project!

CS 461 Blog Post #4

It was an exciting week this week as my Quest finally arrived, and it was also a special treat to have it hand-delivered by our sponsor! I have yet to play with it yet as I am still trying to figure out how to download my already purchased Oculus Rift games onto the Quest store, but it seems like these two things are separate for now. Regardless, I’m excited to start messing around with it as the portability seems like a huge plus!

While doing the writing assignment for this week, I learned a few things about VR technology, and general tech info, that I didn’t know before.

First, after looking into the options for instrument assets through Unity, I was surprised to see that there weren’t a lot of free instrument sets built-in to the Unity environment. Of course, I don’t want to pay for this project initially as we aren’t making a profit off of it, but that may be a development for the future. Nevertheless, it was still surprising to see. Luckily, we will be able to use CAD files as a workaround solution for the time being.

Second, while I knew about what a URL was, after looking into how to import audio files, I came across the acronym URI. Basically, a URI is a more general form of a URL, which makes sense why their acronyms are similar, but I never knew this before researching.

Third, while I was told that Unity contains many pre made assets for graphical help, I never realized that it also contained a bunch of built-in functions until I dove into the documentation. Specifically, this will be useful to import audio after giving a function the URI and type of the audio file in order to create it into a clip for parsing through. This is a helpful addition to this already free software.

Overall, we are slowly getting closer to developing this game, and I’m excited to see it start!

CS 461 Blog Post #5

Welcome to another week and another blog post! There wasn’t a whole lot of action this week as my team didn’t need to get together to talk about a group assignment. This wasn’t the worst thing in the world as we still haven’t started implementing our project.

I’m still trying to fiddle with the Quest to see if I can get my already purchased games on the Oculus store to see how the Quest works in comparison to my Rift S. I debated between the Rift and the Quest when I first wanted a VR system, so this will be a good test.

For my individual assignment this week, I got full points on my draft with no feedback to change it, so I felt that my review draft was sufficient enough to submit for my final draft. We will see what the graders grade the final draft but I’m hoping for the best!

On a different note, one of my team members sent our group a prototype of another game he is working on to see what we thought. Even though it wasn’t a virtual reality game, it looked really good and shows that he is passionate about video game design, which will be essential to have fun with this capstone project! Also, it was really cool to see how his creativity showed up in the game, and makes video game programming seem a little more real.

Like I have said every week, I can’t wait to start implementing this project, even though I know it won’t be for a little while, if even till next term. While all of the planning and administrative stuff is important to do, it would be much more enjoyable to see the code and how our game is implemented. Regardless, I will wait until then and continue to think about how it could look and work!

CS 461 Blog Post #6

Another week has gone by in Fall term 2020, and therefore another step closer to finishing this Capstone project. While this week felt slower for this class, I was definitely busy with other homework and life events. Regardless, I’m planning to meet with my group promptly to discuss our team design document.

This assignment seems like it will have the biggest impact on our project of all the assignments this quarter, especially since it maps out the rest of the year for our project’s development. While it is only a draft, this document will need to be specific enough to keep our group in check, but also have some flexibility in case things go wrong along the way; I guess this is the way of software development! It will be important to meet as a full group to talk about this document since it is so important.

On a different note, during this week I learned, and re-learned, some things about software design through the discussion board. It has been a couple terms since I learned about software design styles and principles, but these will be essential to create an efficient and solid software project.

Specifically, I researched more into the state design pattern in software development. This research specifically referenced a vending machine as an example of state, which I thought was a good example of how state works in an environment. For our project, it is quite possible that this could be our design as many aspects depend on state, especially whether the level is over or not depending on the state of the player or enemy’s health.

Additionally, I read a student’s post about the KISS principle, which I had never heard before. Even though the meaning is almost crass, this principle is important in coding so that your code isn’t too complex or bloated. This can be especially important in group projects since more and more people need to understand your code quickly in order for the project to run smoothly.

Overall, I’m constantly learning in this course and expect to continue to do the same!

CS 461 Blog Post #7

Hey everyone! It seems like the term is finally starting to roll downhill as we have passed the halfway point. While this term has gone by fast so far, I have felt like I have been working so hard on a lot of new things this year between classes, my honors thesis, the capstone project, and two esports teams!

This week, my group got together to talk about what our design document was going to look like. Overall, our group felt like we had been busy with homework and family events, but it was encouraging to see that we could bounce back and coordinate with each other to get this document done; the resilience and accountability of my team constantly amazes me and gets me excited for this project!

After talking about the design document for a little bit, we were able to determine how our project will officially look, at least at the draft stage. It seems like we finally have a solidified idea of what gameplay will look like, although I added a comment for the design review so that another team could confirm that our idea seems concise and interesting. This included figures around gameplay, timelines for each term, and general descriptions about who is involved in our project.

We also individually added our own participation in the project, specifically the three general parts that we will each be working on. Of course, each part likely won’t be solely worked on by one person, as we can help each other if we’re stuck. But, this gives us an idea of what to focus on during development. I added two comments on my parts of the project, as I want to make sure that my technologies are sound (no pun intended).

I’m anxious to see how the other group will review our design, and hopefully provide ways to improve so that we can make a great project!

CS 461 Blog Post #8

This week has been interesting as it is the first week I’ve had to really mentally buckle down and finish out the term. As the term goes by with the global pandemic, being remote is mentally exhausting. Additionally, being home for the holidays and still having to grind classes is difficult, but achievable! With that being said, here are some interesting things from this week:

Over the last few weeks I have been watching The Mandalorian on Disney Plus. As someone interested in computer graphics and video game simulation, this show is very intriguing. Specifically, as someone pointed out in this week’s discussion, this show is innovative as it is almost entirely computer graphics built with the Unreal Engine. Similarly, I watched the newer Grinch movie and payed special attention to the graphics involved in it. Since I’m currently in an introduction to computer graphics class, it is cool to be able to watch these shows and movies and be able to understand how much work it took to create even one scene. It makes sense why there are so many credits at the ends of these movies related to lighting, shaders, animation, etc.

This idea of graphics connects nicely to our capstone project as we will rely heavily on computer graphics to make our game look realistic and fun to play. Of course, Unity will give us a lot of pre-made elements, making the development of these graphics much easier, but it is still interesting to see how good graphics affect the look of a game, movie, show, etc.

The assignment of peer reviewing other group’s projects was very insightful as it really pinpointed different aspects of our design that we need more clarity on. Specifically, I was curious on how to make good graphics for the instruments in-game, and I previously only knew about CAD options. However, it was suggested to me that there are many .obj files that can be used to make good graphics. Not only that, but they are also free, which is huge for a small project like this one.

As we wrap up this term, I’m excited to start to implement this project next term!

CS 461 Blog Post #9

Hey everyone! Welcome to the final blog post for this term! It has been a busy, but very insightful, term, especially with all of the things I had going on. Obviously, one of the main things was wrapping my head around the capstone project and how to work with my group efficiently to start working on it.

With regards to the Capstone project, this week was the first week that I really got to dive into Unity and explore its features. While I don’t have the necessary cable yet to check on how my prototype looks on the Oculus Quest, I can’t imagine that it will perform much different from my Oculus Rift S, which I used to test my ideas so far. Regardless, I found Unity quite easy to work with once I figured out how to maneuver and edit in my scene. Also, seeing what my groupmates have made with Unity in such a short amount of time has given me hope for how our project will turn out after two more terms!

During the term, I definitely felt like we slowly ramped up the pace of our capstone project. While some of the first assignments were simple resume drafts and choosing your project, the end of the term wrapped up with creating working prototypes and multi-page design documents. This indeed may have seemed stressful, but the way the course was structured greatly helped in limiting the stress behind these steps. In particular, each document or assignment had multiple steps within, such as drafts and peer edits, that made creating these assignments much easier. Also, having individual assignments first gave us an opportunity to have our own creativity before sharing with our groups, which probably made our project vision become more unique than it would’ve been. Then, being able to talk with a group and working together on the final versions of these documents was really helpful to create a succinct and effective version to submit.

Overall, while having all of these assignments may have seemed tedious over the term, I’m sure it made our project ideas better, and will help us greatly in guiding the development of our project over the next two terms!