Categories
Uncategorized

CS 462: Blog Post #3

  • What was the most difficult challenge, and how did you solve it?
    • From working on this project throughout this course, I’ve found some significant challenges when implementing Ghost designs. For instance, when transitioning the Ghost’s colors for the body and eyes/mouth, it never transitioned properly from Blender to Unity. Because I was using unique Blender combinations, it wouldn’t transition to Unity and if I did, it wasn’t the same. After some weeks of investigating, I’ve found that completely rebuilding the colors in Unity would be best, but not knowing how shaders worked within this app was a challenge as well. It wasn’t until I watched numerous tutorials that I was able to get some great combinations for all the Ghost’s colors and is now the final design. This was the most difficult as I spend numerous hours attempting to figure out the problem, only to restart from scratch. Ultimately, I learned that Unity and Blender do work together, but I should always check first and see if colors and shaders integrate prior to putting hours of work onto it.
  • Do you feel your project was managed well or poorly, and how would you change things?
    • This project has been managed well in my perspective, but would like to change certain aspects of it. For one, I believe that having too many ideas on how to ‘improve’ or ‘immerse’ our game can ultimately backfire. I felt that as a group, we kept having ideas on how to improve the game rather than implementing the game plan that was set from the previous semester. I do need to voice out concerns in terms of what’s feasible in our short time frame and what could be added in our own spare time.
  • Did you initially have doubts about your ability to complete the project? How do you feel now?
    • I initially had my doubts about completing the project due to our group’s inexperience in creating games such as this. Even now, I still have my doubts because of how our ideas can seem like they wouldn’t be implemented promptly for just one more class. But, I never thought that from the previous class that we would have a significant amount of progress made in terms of level design, scripts, etc. But, I do feel like we as a group need to be better in laying out our plans to actually have a working complete game rather than trying to improve an incomplete game. Overall, I still have my doubts in completing a ‘completely finished’ game, but only time and preparation with my team will tell.
  • If you could start over, what would you do differently?
    • I believe that if our group can start over, I would set better task/responsibilities in terms of implementing our game. For instance, they’re aspects that we didn’t talk about that might be hurdles in the future such as who’s creating a player UI, the actual game scripts, etc. However, I think that our biggest disadvantage in implementing this project is our actual implementation of the template we laid out in the previous class. We have so many ideas/implementations that are amazing for both games but with our lack of experience and implementation, I feel that it’s inefficient when trying to complete the games itself. That’s why I would rather focus on completing the game itself, then add the features later would have saved us significant time.
    • However, as a team, we work significantly well together. We all have great relationships and trust each other to do our tasks/responsibilities. I do believe that we are steadily continuing to make great progress, so only time and attention in our free time will tell whether this game will be complete or not.
  • Conclusion:
    • This project, specifically this class, has taught me numerous things, such as time management, perseverance, and the gaming development perspective that I never thought I would experience. Even after working on this project for a total of two semesters, I instantly love working on gaming and character designs, and I am looking for any type of internship that involves this. Time management and preparation are, in my opinion, what I learned most in this class because, without a great layout week to week, one could get lost in trying to implement the tasks at hand, which could be stressful. That’s why setting time apart and following the gameplan (sprint goals) is what I learned and strengthened throughout this course.
Categories
Uncategorized

M Songco – Blog Post #2

  • What is your most favorite technology? Least favorite?
    • My favorite technology I’ve been using for our project is Blender. Blender is a great way to create characters while animating, sculpting, and rigging them to any style of your choosing. Not only that, but its easy UI makes it understandable for beginners such as myself, and with a vast amount of online tutorials, it is a great way to get into the game development and character design field.
    • My least favorite would include Unity. As a beginner, I have found that using Unity isn’t as easy as Blender. Not only that, but with various versions of Unity and the specifics of my group project, certain actions and methods don’t work, and it could feel frustrating when it doesn’t work for a specific version. I’m getting relatively comfortable as I continue learning, but it isn’t my favorite.
  • What would you change about any of the technologies you used?
    • For Blender, I would incorporate easier integration from Blender to Unity as I’ve been dealing with various problems moving my characters to Unity’s game engine.
  • What technology did you have difficulty learning, but now appreciate?
    • Blender was hard initially since getting the controls and hotkeys for specific actions was difficult. However, I appreciate how easy navigating the application is and now enjoy the various methods of styling characters and rigging.
  • Which technology had the most difficult learning curve? Easiest?
    • Unity has the most challenging learning curve for me because there are various aspects you need to worry about, such as scripts to move characters, character/level designs, and anything that deals with games. It’s a lot of information and could be difficult for a beginner. The easier one is Blender because it’s main focus on character designs and animations which after sometime, would be easy to understand.
Categories
Uncategorized

M Songco [CS462]: Blog Post #1

Prompt:  What is one thing from the articles that you would like to start doing (more often), and why? What is one thing you want to avoid doing and why?

As a new programmer (or at least a few years in school under my belt), I always thought of keeping code clean. With only coding just for school projects, my experience is thin; thus, I haven’t had any problems merging codes with other team members. Although I always thought that my code was clean until I started reviewing other people based on reviewing before merging for a project. After this, I realized that some people’s code can be messy because of a lack of comments or explanations. That’s why reading both chapters my professor gave us changed my perspective.

Reading Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin [1] made me realize perspectives that I didn’t think of in terms of cleaning up my code. From various developers and creators, one of the techniques that I would want to start doing is making my code more testable [1]. Creating code that can be separated within acceptance testing can be helpful in the long run for coding projects that might require these instances, especially after merging multiple codes with other teammates.

Another is Martin’s idea to keep your code clean over time, following the idea of the “Boy Scout Rule” [1]. I’ve never really thought about this method of keeping my code clean, I’ve always thought of keeping the code readable to a viewer, and then move on. It never occurred to me how I can always improve/clean up previous codes i just made based on breaking down functions that are too large, remove duplicates, etc. [1].

From reading Refactoring: Improving the Design of Existing Code [2], there are techniques that I would like to avoid in terms of bad coding that I never thought of, such as breaking down longer functions into more straightforward compact functions. I admit that I have written various tasks that were too long, and breaking it down into smaller sections would have been the best approach. Fowler expresses how long functions can create “smelly code,” where the semantic distance between what the function does and how it does it becomes too large, making the code less readable and harder to test [2]. He also emphasizes smaller functions reduce a developer’s load by eliminating the need to understand the internal details every time the function is used [2]. From this example of the smelly code structure of long functions, I would like to compress long functions into smaller ones on a single responsibility. This would improve not only clarity but also enhance testability.

Reference:

[1] R. C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, 1st ed. Upper Saddle River, NJ: Pearson, 2008, ch. 1.

[2] M. Fowler, Refactoring: Improving the Design of Existing Code, 2nd ed. Boston, MA: Addison-Wesley Professional, 2018, ch. 3.

Categories
Uncategorized

M Songco Blog Post #3

Successes, Fails, Struggles, Why’s and How’s, Plans and Detours…

For this blog post, I’ve experienced multiple struggles and fails regarding character design for our group project. Since my responsibility is character design for Pac-Man Ghosts, it was difficult to create them. Although I have been working on them for weeks, it was difficult in utilizing Blender and their features properly. For instance, I had trouble in figuring out their colors and how to implement something that’s both scary and familiar to those who have played Pac-Man before. I figured out from a tutorial online how to make them transparent and it came out great. Then, I had to rig the characters that would allow them to create movements.

Creating the rigging wasn’t hard, but creating a collective set of movements were. I had trouble having the characters set within a positino and move them accordingly. After some videos on Youtube, I finally was able to create a ‘walk’ movement for our game. I felt accomplished after my products for all ghost’s individual design and movement and my teammates gave high praise for my design which I felt accomplished.

The only detours I had was either learning the basics of blender and it’s features and how to properly transfer the files into Unity, which I have not been able to do. When I compress my files to certain settings and transfer them, it doesn’t bring both the color of the ghosts, but also the animations. I couldn’t figure it out, even after watching videos online such as chaning the files to .fbx or .blender and chaning how I export the files to Unity. I still need to figure this out so I can move on and create the ghost alghorithms for their particular moveset. Regardless, even after this class ends I will be working on getting this figured out.

Feedback on this course

I particulary liked this first course of the senior project. I loved the pacing and feedback I received from our TA and Professor. I didn’t feel overwhelmed at all during this project and felt that they were understanding of our project’s scopes. Even though this project wasn’t my first choice, it helped me learn numerous applications that I like and would love to work on in the future such as Unity and Blender. I realized that I love character designs and rigging them to my liking is a great attribute for when I apply for internships I can try to get a position for this type of work.

Your career and/or job hunt

Although I have been applying for any type of computer science/cybersecurity internship, I haven’t gotten any luck. Right now I feel frustrated but also motivated to keep trying to get any opportunity I can get right now. In terms of job hunt, I’m still working at my job as an E/E aircraft mechanic in the Air National Guard right now, so I’m just looking for any internships that could help me gain experience in the long run

New technologies

I’ve learned Blender a lot through these past few weeks and honestly I feel like I’m starting to get the hang of it. After messing around with Blender, I feel accomplished when I created four stylistic Pac-Man Ghosts with their own features and movements. Even when the class ends and we have a break, I’ll continue to fine-tune our designs.

Life hacks – How to handle stress/teammates/classwork/being stuck/etc

Right now, what I like to do to relieve any type of stress is to stay physically active. I like to workout such as bodybuilding or weightlifting to help me relax and decompress for the day. It helps me feel accomplished for each day. For schoolwork such as this project, what helped me was watching numerous videos on Blender and Unity projects. It helped me learn that even if I’m a newbie at creating games, there’s other people like me who’s also learning and give great tips for when I’m stressed on a particular element of video game designs.

Categories
Uncategorized

M Songco Blog Post #2

Successes, Fails, Struggles

My project for this course entails creating a VR implementation of Arcade Classics. The games that we’re designing are Pac-Man and Frogger. We chose these games due to their impact on retro gaming culture and their influence on platform and maze gaming. We also wanted to create a new perspective (first-person) in the game to pay tribute to the originals so that older gamers could play again, as well as newcomers who could experience the game with a modern theme.

Some successes from our project stem from my teammates. They have been excellent in collaborating new ideas to implement into our project. We’ve discussed various designs for both games, and sought the best course of action to implement the best product we can create. We have not experienced any fails right now during our implementation, but when we do it will be a great learning experience looking forward. Some struggles we’ve had is the actual implementation for the project. Only few of us have experience creating a large product such as this, and to implement it into VR is a new landscape for all of us. Additionally, we plan on using Unity to create our game, and have some experience in this platform. I only have little experience with this software and will know that I have to learn to be at the level my teammates need me to be.

Feedback on this course

Some feedback for this course would include the technicalities that creating a project entails. As creating a game is stressful and requires extensive preparation, this course has helped me analyze potential problems that may occur and think of various methods and ideas to implement into our project. I found this course to be educational as it helps me understand the project inside and out, and what comes from designing a product that various groups will be involved in. Overall, I’ve learned various techniques and aspects that will be beneficial to any future projects and endeavors.

Career and Job Hunt

As my degree entails computer science with a focus in cybersecurity, I’ve been attempting to find internships involving security analysts. However, I have not had any luck so far in this avenue. I have been looking for other types of internships such as software development and have applied to various companies. To prepare for these jobs, I plan on acquiring on certifications to help me land interviews and show my proficiency. So far, I only have an AWS cloud practitioner certificate that many companies see as a positive in resumes. I have a potential externship at a hospital learning from their IT department and hope that this goes through. Overall, I’ve been attempting to gain more experience by acquiring certificates while applying for internships so I can prepare myself for interviews and potential opportunities in the future.

New Technologies

Unity is the only new technology I’ve been attempting to learn with our project. Unity is a gaming development software that allows users to create games for various consoles. For our project, we have to implement it into VR console, which is completely new to me. I must admit that it’s both exciting and stressful as I don’t have any experience with this. Nevertheless, my teammates are great in helping out with each other and hope for the best in learning this new software.

Life hacks

One life hack I involve myself in to lower my stress is taking a break at times. I found that, at times, schoolwork can be overwhelming, and if I attempt to push through, it burns me out, and I feel stressed, which can affect my mental health. That’s why taking breaks, such as playing video games and hanging out with friends/family, can be a great way to deal with distress. Also, I found that gaining experience in my project can help with my anxiety. This stems from my nervousness in completing my assignments promptly, and learning on my own time helps me calm my nerves.

Categories
Uncategorized

Miguel Songco CS461

Introduction

My name is Miguel Songco. I’m 28 years old, and I reside in New Jersey. Originally, I’m from San Francisco, CA, but after joining the Air Force, I’m stationed in McGuire AFB. I served active duty for 7 years as an electrical and environmental aircraft specialist, fixing/maintaining aircraft components and inspecting various systems related to my job. I worked on F-15s, F-16s, KC-10s, and now KC-46s. Now, I transferred to the National Guard to fully focus on school and graduating on time/earlier.

I’m a computer science major with a minor in cybersecurity, and I picked this degree because I was always fascinated by how coding is essential in our everyday lives. Even though I only started coding with computers/software when I started this program, I realize how stressful but accomplished I feel when I create something from my ideas. I love weightlifting, spending time with my fiancée, and playing video games.

My journey with OSU

Through my years with OSU, I found that the community and faculty are helpful and always there to lend a hand. So far, my classes have helped me understand various languages, such as Python, Java, JavaScript, and C. Even though I am comfortable with these languages, I still have much to learn. I’m always willing to learn new things.

Current job or internship

My current job is as an aircraft technician on the KC-46 in the Air National Guard. I only come in once a month or for a few weeks if I choose to work, but I’m a full-time student. I have an internship at a hospital where I will work alongside IT personnel, which will help me understand the field significantly.

Favorite technologies

My favorite technologies are my laptop, which I use to complete my homework, and my PlayStation 5, which I use to play video games. For applications, I love working with Visual Code because its friendly UI helps me navigate through my code quickly, and I’m pretty comfortable with it. I also like to use GitHub for collaboration projects, merge with teammates’ branches, and collectively check each other’s code to ensure it works properly. I find using these applications accessible, but I am always open to different applications.

Favorite listed projects (in this course) and why

After looking into the listed projects, I found that my desire to create a personal training application that adheres to a user’s preferences would be unique to work on. I already made my own program/HTML page that does this, but it lacks quality and detail. I believe fully fleshing out a program for users would be unique. Also, I found that creating a game or working alongside improving AI would be a great learning opportunity for me.