I recently decided to explore what VR development is like in Unity. This was a great learning opportunity for me because I learned about how to setup a basic VR application, grab objects, and add rectangle hands that would track with my Oculus Quest. For this project, I decided to start out with bowling. In this application, you can interact with the ball and throw it at the pins to score. This project gave me a good idea what vr development is like and I realized that it is something I enjoy doing. One challenge I ran into with the project was trying to figure out how to debug it in headset. Unity would only let me build to the headset which made it not possible to see console logs. What I did to get around this issue was display a text object in game which would help me debug the application. Overall, I'm glad I took the opportunity to expose myself to the Unity XR framework and discover this is a new area of development that really interests me.
Exploring VR in unity
My DigiPen experience
With graduation just around the corner, I thought I would take the time to reflect on my overall experience at DigiPen.
For anyone who doesn't know what DigiPen Institute of Technology is, it's a game school in Redmond, Washington. Digipen has 3 stories and has about 1100 students. The school is very well known in the game industry for turning students into professional game developers.
When I was applying for schools in my senior year of high school, I had been accepted into the University of Washington and DigiPen. At this point, I had to make the tough choice on which school would provide the best education that suited my interests. After careful consideration, I decided to enroll at DigiPen in September 2011.
At DigiPen these are some of the programs they offer:
Bachelor of Science in Computer Science in Real Time Interactive Simulation(BSCSRTIS)
This is the degree program I enrolled in. Its a computer science degree, but as more of a focus on game programming. In this degree, we get to learn about everything from graphics programming to advanced algorithms.
Bachelor of Science in Game Design(BSGD)
This degree focuses more heavily on design implementations for games. Often times students will make their own games and do prototyping for game projects.
Bachelor of Art in Game Design(BAGD)
Same idea as the game design degree above, except more of an art focus.
Bachelor of Fine Arts(BFA)
This is the main art degree at school. Students get to learn about everything from drawing to digital animations. They even get to make their own short animated films and work on student game projects.
There are many other degree programs I didn't go over, but recently DigiPen made a regular computer science degree (Different from RTIS) and a audio engineering degree.
For anyone who is interested in DigiPen I have the following recommendations:
My First Year of College
During freshmen orientation I remember our school president talking about the drop out rate of the school. His famous quote was: "Look to your left, look to your right, the people next to you will not be here when you finish DigiPen." This quote was pretty accurate because as time went on, I started to see many of my peers drop out of the school.
The first semester of DigiPen was very scary for me. I didn't really know any of my peers at the time and was very new to computer programming. I remember during our first few programming lectures, there were all these confusing terms like compilers, stacks, and other things I had no idea what they were.(I was a newbie!) All this information was very overwhelming for me and it took me a couple weeks to understand all this terminology. I made it one of my top priorities to network with my other peers and get to know them. This was one of the best decisions I ever made because I made some new friends and we would often work on the programming assignments together. Often times I would tell myself that all of this hard work will be worth it in the end.
During my first semester, I teamed up with another student to work on my first ever game project! I learned a lot about the complexity of making a game. We made a text adventure game and this really helped me improve my programming skills. The thing that made DigiPen different from most colleges was the amount of work students have to do. It is not uncommon to see students at school for 60+ hours a week working on their game and homework assignments. In all honesty, it felt like a full time job. At the time, I had no idea it was just the tip of the iceberg.
Beyond Freshmen Year...
Once I started my sophomore year, things started to get really difficult. I went from doing 20 hours of homework a week to about 50 hours a week. There would often be times when I would become so stressed out with my work that I felt like giving up on my dream of becoming a game programmer. I had to take some time to self reflect on if this was where my true passion was. After doing this, I realized there is nothing more enjoyable for me than making games for other people to enjoy. Seeing the positive feedback from my work in my game project really helped motivate me. To help mitigate the stress, I would ask my peers for help on the homework. This was a huge time saver for me because I could bounce ideas off of them and find a solution to the problem.
One of the other things I learned how to do was make a game engine from scratch. This was a very unique experience for me because I was on a team with 3 other RTIS students for an entire year! I had never been on a team for that long before and was used to small work group assignments from other classes. In that time, I learned how to program 2D graphics with DirectX and solve team problems. Sometimes there would be a dispute between our teammates and I would try to hear both sides of the issue. This helped me come up with a solution to the problem. The school was able to offer team on ones where the team meets with the game professor for 3 hours. These sessions are extremely helpful because we were given a new direction for our game and went over team building exercises.
During my junior year, I would always go to school at 9am and leave around 10pm on most weekdays. The school was my second home at that point and I was always working on the latest homework assignment or our game project. One of the highlights of my junior year was going to the Game Developers Confrence in San Franscisco. I was given the opportunity to network with professional game developers and gain connections to companies I was interested in working for. This was an interesting year for me because I learned how to make a 3D ball racer game from scratch. I worked with 7 other programmers and really enjoyed working on this game.
Our team was very motivated and we wanted to make a game to take to competition. I made it a priority to playtest the game weekly and reiterate on the build when necessary. I also took the initiative to make a prototype of the game over the summer to playtest right when school started in the fall. This was a smart decision because it really helped us iron out the kinks in our game design. Our game was later selected to go to IndieCade and IGF students to compete in the competitions.
My Last Year at DigiPen
After junior year was finished, I started looking around on job boards and networking with different companies. I wanted to get a sense of what game engines companies were using and what would be a good portfolio piece to show to employers. I decided to make a mobile platformer in Unity for my senior project. From prototyping my junior game, I had already experience in Unity and knew this would be a good platform to develop a mobile game. With many hours of hard work, I was able to create a fun mobile game that players would really enjoy.
As of last month, I applied to many game companies over winter break. I had revised my resume several times and went to career services department at DigiPen to practice technical interviews. Few weeks later, I interviewed with a casino game company who gave me an offer to work as a software engineer for casino games! This was a dream come true for me because I will be working on something I am truly passionate about. I will be moving to Minnesota in May and can't wait to learn about developing for casino games. All of my hard work at DigiPen was finally paying off and I knew I had chosen the right career path.
In conclusion, I learned a lot about myself and computer programming during my time at DigiPen. I knew how to better handle stress and push myself to the best of my abilities. I really enjoyed learning about how games are made and am very thankful I discovered a career that I will enjoy for many years to come. I am excited for what the future holds and becoming a valuable member of the game industry.
Working on a Unity mobile game
Over the last 4 months I decided to make a mobile game in Unity for my senior project. I learned a lot about mobile development and what components are the most important to a mobile game. From my experience on this project, I learned these concepts:
-User Interface is one of the most important elements in a mobile game
-The User Interface must be very simplistic and clear to the player at all times
- The controls can take several iterations to get something that players will be happy with
-It is important to take advantage of the phones features and add things like tilting and vibration
-Feedback is crucial to a mobile game and I discovered sound effects are a great option
What went well:
Within the 4 months of development, I was able to get some base gameplay. I had multiple enemy types, different level environments, and a couple of different mechanics that players really enjoyed. Since this was my first solo project, I was very happy with my time management and being able to meet milestone requirements for the game. I was also happy that I learned quickly how Unity works and being able to quickly create content. I received positive feedback from the playtesters and this was very satisfying. Making the big design change to allow players to chose powerups was a smart decision. Players were really excited to be able to chose how they want to approach a level and this allowed for more replayability.
What I would of changed:
If I were to do this project again, I would of started with the user interface first before working on gameplay. I spent a lot of time researching what makes a successful interface on the mobile device and knowing this before development would of saved me some time. Another thing I would of done differently was keep my outliner more organized in my Unity project. When I first started development, I wasn't grouping my gameobject in a organized way and this made it difficult for debugging. I have since reorganized my outliner to find objects easier. The final thing I would of changed would be to fully flush out the design of the game. At first I knew I wanted to do a platformer, but wasn't sure about what mechanics I wanted to go into it. I discovered new mechanics as I was developing the game throughout the semester. It would of been nice to have a clearer idea of the mechanics before starting development.
Overall I was pretty happy with my first 4 months work on A Universal Problem and learned a lot about mobile development in Unity. I discovered I really enjoy working in this editor and understand why it is becoming more popular with game companies. I also discovered that I like scripting and would enjoy writing scripts for a career. The component based architecture of Unity makes it easy to organize objects and made my experience much more enjoyable. I will be working on the game through April until graduation.
Gam 300 Facebook page
I recently made a Facebook page for our Gam 300 project Powerrr. Powerrr is a 3D racing multiplayer where players use elements to give them a competitive advantage. I will be updating the progress of the game on this page throughout the development cycle.
You can check out the page here:
Working in unity
I am a passionate programmer who enjoys making prototypes and learning about game programming.