It’s crazy how quickly these past few months have gone, especially in a year that seemed to never end. My experience at GameDev HQ has been nothing but positive and I truly hope the state decides to continue to fund this program. Hopefully, this pandemic has opened the eyes of Hawaii, that we can’t solely rely our economy on the back of tourism. Also hopefully this opportunity exemplifies the talent and brainpower in Hawaii to build the foundation for programmers out in the islands. In such a short amount of time, myself and many other lives have been touched and changed because of this program. Never did I think I would be able to learn how to create video games or code at the level I am coding at in a few months. But Jon and the leads at GameDev HQ have proven that they can teach anyone with the right mindset, the tools they need to learn how to code and create video games. I know I’m not alone when I say I really do hope the state realizes what type of opportunity it has to continue to change the lives of many. All things aside, I truly am blessed to have had this opportunity.
Anyway, aside from my rant, I wanted to do a quick recap of some of my highlights and the things I was proud of here at GameDev HQ.
Before I get started I just want to mention that I came from zero background or experience coding and so I was a complete noobie from day one. But anyway as I said, here are a few highlights from my short time here at GameDev HQ!
The clip above is a clip of the boss fight in my first ever Unity game. This was a simple yet challenging game to create especially since it was my first time ever attempting to create a game in Unity. Also, this was well before I ever knew how to use the animator in Unity, so everything you see in my Space Shooter is entirely scripted, from all the movements, dodging, and special abilities.
Some things I really wish I knew about before doing this game are abstract classes, singletons, and the use of the animator. Using abstract classes and singletons would have helped me to create many more enemies much more efficiently as well as to hookup any sort of audio or animations needed. Instead each and every enemy and boss has its own script with a lot of elements re-coded in each one. Also, this project taught me a lot about feature creep and how I am terrible at managing it. This is something I had to work really hard on especially during the NovaStar project.
The Great Fleece
This was the second project I worked on. This project is where I was first introduced to animations. I spent the first half of this project creating intro scenes, cutscenes, and end scenes through the animator. This was my first taste of the animator and to be honest I wasn’t the biggest fan of the animator at this point in time. I didn’t realize that the animator goes far beyond just cutscenes, but this is something I learn later down the road, during the NovaStar project.
Working through this project taught me that regardless of how simple the Space Shooter was, many of the skills I picked up through that game can be carried over and applied to many other games regardless of the medium. Trigger points, eyesight, and many other things can be created through the use of game objects and colliders, all things I had learned to use in the previous project. So as complex as some things may appear, I learned that a lot of times they are quite simple to create.
This project was also the first time I had experienced using singletons, although very brief but I saw how this would be a huge help in bigger projects and is definitely a tool I plan to continue to utilize.
Although I wasn’t the biggest fan of this project, it did teach me a lot. I feel like it further engrained what I learned from the Space Shooter as well as gave me a new perspective on how to create certain things.
This project had been put on hold for a while, but essentially is the start of my Mario-Esque platformer. I had only worked on this for a couple of days before being put on the project team to work on Nova Star, but I plan to revisit this here shortly as I’m sure there are plenty of things for me to learn from this.
For the most part, all the things you see are all the same techniques learned in the Space Shooter, they may look different but that's just because they were implemented a little differently.
One important thing I do remember is that on moving platforms it is important to parent the player to the platform otherwise they will most likely phase right through while it is moving.
This was easily the highlight of my experience. After having worked on a few solo projects, it was now time to get my feet wet on a team. This presented itself with all types of challenges and learning opportunities unique to working on a team. A lot of these challenges seem simple looking back but for a team of people that have only really had experience working alone many of these simple problems were overlooked.
From GitHub, to our scripts, to our assets, one of the big time savers would have been organizing from the start. A few days into the project, it seemed like the number of assets and scripts in our project had exponentially increased and before we knew it we had 100 scripts or assets unorganized within our project. This caused a few problems, one was that it made it extremely hard to differentiate which belonged to which thing since we had things like boss laser, laser, enemy laser, etc. The second problem, was that when we finally went to organize things, everything seemed to break. Unity does not seem to like when assets or scripts are moved around. So we ended up losing a lot of time reconfiguring everything and testing that it was all working properly. This would have been an easy fix had we organized from the get go, but at the same time the experience of going through this will stick with me far more than if we hadn’t.
The other challenge we faced early on, was getting acquanted with one another. I feel like at first our communication as a team wasn’t the greatest as we would get to meetings and find out people weren’t completely sure what needed to be done. But quickly we came together and reassured that if anyone was unclear to ask because we are a team and we are working on a strict deadline. After that our communication and efficiency seemed to increase exponentially.
There are two things that really come to mind, when I think back to what I learned on this project. One is using an abstract class, and the other is using the animator.
We unfortunately hadn’t really learned or implemented an abstract class until part way through starting this project, but in future projects abstract classes for things like enemies or anything that would benefit from this are definitely going to be created first. The amount of time that can be saved from only needing to code something once is priceless. I would have loved to know about abstract classes working on my Space Shooter as I feel scripting out each individual enemy took the most time.
Now for the animations, I know I mentioned getting my first taste of animations in The Great Fleece Project, but I would say this was truly my first taste with the animator. It was really the first time I was off on my own with the Animator. With a little guidance from Ryan to get started, and a lot of time playing around trying new things and redoing animations I wasn’t satisfied with, I started to really understand and enjoy the power of the animator. In a matter of days I felt as if my ability to animate had gone up 10 fold. I know I have a lot to learn still but it was extremely satisfying to look and see what kind of progress I made over a couple of short days. I will share some of the animations I created above.
As I have mentioned before, it is absolutely crazy to look back at where I was when this all started. Essentially zero knowledge of anything code related or Unity related, yet in a few short months through this unparalleled opportunity myself and many others were able to learn so much and grow even more as a developers.
I would like to thank Jon, Al, Joanne, and Austin for the opportunity, guidance and help through this journey! And to GameDev HQ and the state of Hawaii for making this type of opportunity a possibility! I really do hope this is something that will be continued going further!