I think I finally had a major breakthrough with my Unity project. I’ve spent a lot of the previous weeks working on the room structure and just making it look nice with assets, but this last week I spent almost all of my time on scripting. I started to really put in thought on how to implement my puzzles for the Escape Room and started scripting it out as well. I added the main Game Manager that would hold all the statuses of my puzzles. The most useful video for that was this video on singletons https://www.youtube.com/watch?v=Y6cKPfUTrsA
I have completed the first puzzle which would be a weight trigger to solve a puzzle. This turned out easier than I expected once I started watching more youtube videos. I also figured out how to instantiate new objects into the scene when a puzzle is completed. This will be used for creating new objects to be used in other puzzles.
I feel like I’m making really great progress on my room. I think my whole group is doing great on our individual rooms, and soon we will have to come together to work on the overall game manager and flow of the game. I am confident that we are all on target.
Looking back on what I’ve learned during this entire program, I’m really glad that I went through this program. One of the things I am really grateful for, this that I started this program when it was still doing C++ for the intro classes. Honestly it was grueling sometimes but I really did give me a great foundation. Python is ultimately my favorite language so far, but that one was easy to pick up without taking any formal classes (perhaps due to having a foundation in C++??). I picked up Python when I took algos and I’ve pretty much just stuck with it since then.
One of the things that stuck with me the most is that I did 161 and 162 entirely in vim. I had never even touched vscode until after those classes! Learning vim and really sticking with it was an incredible journey. I use vim everyday now. Vscode is my main IDE but I always turn to vim for quick edits. I learned so much using vim and customizing my vim experience, I really enjoyed it. I’m so used to the vim arrows that I have them mapped on a layer on every keyboard that I use.
I know I’ve talked about this before.. but at work I get to work with a lot of apis and building out automations and workflows and it’s a lot of fun. I remember when I was taking Web Dev and Software Engineering 2, I was so confused and did not understand api calls at all or what they do. Now they’re part of my daily 😀
Throughout this program, I’ve had a lot of doubt that I’d be able to get to where I want or if I was really learning stuff or doing it just to do it. Ultimately, I think its up to the user to get the value they want. I could probably easily skate by not even know what I’m doing, but there has to be effort made to understand the material. That being said, I am really happy with my new job and graduating soon 😀 I feel more confident in what I can do and what I’ve learned. I’m confident that this journey has been worth it.
What exactly is coding? I have been tasked with making “coding” more accessible at work by doing “codeless code.” It’s interesting after spending all this time in the OSU program coding that I am thinking about it in a new way. The reason for this is that my manager and I both having coding experience, but the rest of the team does not. In the long term, we want everyone to be able to automate tasks and not have to do manual work that can be done by calling something else to do it. It’s amazing how many apps can actually do this now through a gui. It’s possible to make full formed functions that can be called from other functions that branch into conditional logic. However what I’ve run into now is that I know how I would actually code something in python or something else, but I cannot figure out how to do it through a gui. It requires much more thinking…. at least in my opinion.. I’m glad that I have the working knowledge to actually think through the logic though if I were to actually code it.
At work, I may also have a chance to work with assembly code again. When we discussed a work project to do some low level code to control hardware, I flashed back to when I took Assembly Language and man.. that was a tough class. I’m not certain that I can do it in a professional setting since it’s been a minute since I even took that class, but I think it would be fun to look at the code and just see how everything works. My current job seems like it’s going to a mixture of a lot technical things including coding and hardware stuff, but I’m enjoying it so far.
As for Unity, things are coming along. I’m still stumbling through videos on how to script, but it is very rewarding when a script works the way I want it to. The smallest thing like getting my text popup to work got me super excited. It seems surreal that this quarter is nearly half over? and that I will finally be done with school. Once I’m done with school I hope to play video games again (it’s been on the back burner for a long time with work and school) and I’d also like to finally get into pcb / keyboard design.
This past week, I’ve started building out the structure of my room. The free assets we found on Unity are pretty good and comes with a lot of prefabs for us to use and allows us all to make rooms that look different. It is more fun that I thought it would be but it requires me to be more creative than I am lol. I have a very basic room setup so far with just the floor plan. It still needs the walls and the ceiling. I felt like that could come later since I at least want to know what the room will kind of look like first. I’ve been thinking about adding a second floor or a balcony of some sort so I’ve been adding the stairs on the side. It took me a good while just to line up two stairs nicely so we’ll see how it comes together.
I spent a good chunk of time trying to get a Player object to work with a first person camera attached to it. To do this, I created a capsule to act as the character and attached a camera to the top of it to simulate a person. This did not work amazing since the camera did not stay with the capsule and would fall off of it. I followed along with a youtube video so it was pretty frustrating that I could not get it to work properly. I ended up calling it there and luckily my group mate was able to get a working script for a player with a first person camera. I was able to walk through my room and also find out where I did place mesh colliders since I would randomly fall through the floor. By the next week, I should have the entire room complete with items that I want.
I’ve been a little more strapped for time this week since my dog just got spayed and she’s been needing a lot of attention. I also have to return to the office which is a 1hr train ride into the city. It’ll be interesting being back in the office given all that’s going on with covid…
My group and I have cemented our project plan which came together very nicely. I talked about this a bit in the last post, but I struggled coming up with concepts and puzzles for our escape room. However, my team and I had a really good standup this week and we hammered out our project plan and ideas. The puzzles came more naturally after deciding on a theme and concept. I am feeling more confident that our project will come together nicely. I felt a little sweaty last week after I realized that Unity may be more difficult to pick up that I thought? But I definitely feel more confident after the stand ups this week.
I watched some Unity tutorials and got cracking on making a mock scene where I could control a “character” and apply physics to the objects and have them knock objects down or off the scene. I got a script going to be applied to an object so that it could move with keyboard controls. This was all from a fixed camera angle so my next challenge will be to create a first person view that can also interact with objects.
In other news, at my job I am working with Google Cloud Platform and creating a project and service account to interact with so I can do api calls to the google workspace environment. My goal is to completely automate onboarding/offboarding tasks in gsuite. Along with that, I want to create a dashboard with a gui in retool where my team members can make api calls without having to do any code. I’ve been running into a few errors but this is a fun challenge that I truly enjoy doing. My current role is much different than my previous one but I think that I am really advancing my career here.
My group selected escape room for our final project and we’ve just kicked off the project planning phase. Now that we actually have to flesh it out, I feel like I am struggling to come up with good concepts. I only did one escape room in real life, and I actually don’t remember the story of it at all, I only remember that the puzzles were difficult lol. Since I couldn’t come up with any good ideas, I felt like coming up with the puzzles first would be helpful. Luckily my group has done a bunch of escape rooms.
I think the main issue is that when I think about escape rooms, I just think about horror games. I’m actually too chicken to play horror games but I like to watch play throughs of them. The only thing that comes to mind when I’m trying to think of stuff for this project is Resident Evil: Village and the puzzles that were in that. Obviously, I did not play it but I watched someone else play through the whole game on youtube.
This week I attempted to start up a project in Unity since this program we have decided to use to create our VR game. I had a really difficult time trying to get it off the ground…. granted I only watched one 10 minute video before attempting to create a scene. I hope to actually watching some tutorials or do some beginner courses this weekend.
In other news, I am completing my first week at my new job. I now work at a software company and it’s a much different culture than where I previously was. I previously worked at an R&D/manufacturing autonomous air taxi company and there were a lot of things to think about when it came to the technology stack. At the software company it is all saas and cloud based which I enjoy. I’m still getting the hang out of things and learning the environment but it has been a good change for me. We will be doing sprint planning and I’ll actually get to be involved in using the product and testing the product.
Since I just came back from Winter break along with a long 4 week vacation in between jobs, I am still trying to get back into the swing of things with work and school at the same time. Hoping to get into a rhythm soon!
Well, this is it. The last class of the program. I’m happy to be here and I honestly thought it would take a lot longer than it did!
I graduated in 2017 with a degree in Business and a concentration in Information Systems. I took my Information Systems classes close to the end of undergrad which also included coding classes. At that time, I already knew that I enjoyed coding far more than any of the other business classes I was doing but I figured it was too late to change majors. I ended up working in IT and then moving to the Bay Area still working in IT. After about 2 years, I decided that I wanted to get into software engineering and decided to join the OSU CS program. I started out with just one class at a time since getting back into the swing of school and work was challenging, but once the pandemic came around I figured I might as well ramp it up since I won’t be doing anything else. So I started taking 2 classes and I was able to get to the end of the program sooner than I had expected.
I learned a lot in this program and was able to apply what I learned to my job. Python helped me tremendously and particularly the Software Engineering II class where I learned how to use APIs. Since I work in IT, I was able to use python and APIs from the systems we use and automate tasks.
In my free time, I enjoy powerlifting, playing video games, and building/collecting mechanical keyboards. I hope to get into PCB design and 3d modeling after I finish this program so I can prototype some keyboards!
I’m excited for what comes next after graduation. This program has been tough, sometimes grueling, but overall rewarding!