Earlier this week I was in a last minute scramble as I prepared for my first ever live coding challenge, with the hopes of being accepted into an 8 week intensive with GameDevHQ. Before I tell you about that lets first look back at how this all started.
Two months ago I didn’t even know such a thing existed, let alone what C# was or Unity for that matter. I had and still am a life long restaurant professional and had only toyed with computers off and on my whole life. I did take a class once in HS where I got to build a computer, but lets be honest, it was HS and like most of my friends I spent more of the class time messing around than I did learning. Then in late October I received and email from the ACI program stating they would like to interview me for a unique opertunity with GameDEvHQ. I went and looked up the compnay website and remember thinking to myself “this looks really cool” as I would be building video games and learning how to create code and programing logic from scratch. Little did I know at the time how much I would enjoy this form of thinking and creativity, but I can say I sure do love this. Fast forward to Monday this week, and many hours of stressful frustrations wondering if I was indeed ready to embark on this new step of the journey. Have I indeed learned enough to start this course, and what would my mentors think of the code I was writing. At this point I had spent roughly 300+ hours learning everything I can about C#, Unity, and what it takes to be a successful programmer. I was feeling uneasy, but confident I could create logic and solve the presented problem. One thing I had not planned for though was the time constraint of 15 mins. Up until this point, my “learn at your own pace” sometimes snail speed process had merely been about just that, making sure I learned the material even if it took forever. I had the blinders up and was in full tunnel vision, not taking advantage of some very key assets that GameDevHQ has provided. But ready or not the time was nearing closer. As the hours turned into minutes something started to happen I had not expected, maybe its because I felt some of the other exams I have passed were more difficult than the 15 minute test I was about to experience. Or maybe because like many I have become slightly jaded to human interaction as we have all been forced to stay at home and or even work from home. This has changed the entire dynamic of how we interact with each-other, and all of the sudden I was nervous. I took a few minutes to take a quick walk and clear my mind, as I have many times before a difficult exam and for the life of me could not figure out why I was so nervous. After all the person watching me write code was not even in the same building, but someone else on this island, and I would not be able to see that person either. But none the less the nerves set in….
As the zoom call started I tried to think about what I had accomplished already and that no matter what, I was further than I thought possible in this unknown industry, but the nerves were creeping in like the tide ebbing tide towards the shore. And then I heard the voice on the other end of the call “Hey Joe howzit” and for a moment the nerves were gone. That casual greeting reminded me that there is a real person on the other end of the line who at one point went through the same thing. I opened up my Unity Editor and located the test project on Filebase. Once downloaded I read the instructions which seemed easy enough. Then the voice said “you may start whenever you are ready”……..
Looking at the picture above Woody’s face is exactly how I felt in that moment haha, one part of my mind was saying “You got this” and the other part “I have no idea what I am doing”. For a moment I froze just looking at the instructions with my mind racing and wondering if the person watching me had already made up their mind “Nope hes OUT!”. Then I started to put things together, I created a C# script to attach to my GameObject, and copied the instruction so I could put them in my script as a comment for reference. Then once again everything went blank, and I couldn't help but wonder if I had not prepared enough or if I just wasn't ready. But I carried on and started to work through the problem, creating a coroutine and linking all the parts to my script would work. By the time I had finished ….30ish minutes later I did indeed have a program that worked as per the specifications, and I only needed a little help in creating it. I was proud that for my first timed challenge I was at least able to successfully complete it, even if it took me twice as long as it should have. My mentors who had helped and were watching my process both agreed that the logical thinking part was there, but the confidence and time needed a little work. They asked if I was able to do a second interview later in the week just to make sure I was ready before accepting me in.
I then spent the next 3 days preparing and reviewing everything they had given me, with hopes that I could achieve the expectation on my second interview. For my second interview I was going to be challenged by one of the founders of GameDevHQ and I will say that this is and was a little intimidating, even though he has been so incredibly nice and helpful. The intimidation comes from his expertise in the work of coding, and Unity. I mean this is the guy who wrote the program I am taking, and he makes this stuff look as easy as walking. Putting my insecurities in the back of my mind I put in some long days, averaging about 12 hours a day of writing code and trying to solve various problems. Having learned from my first live coding challenge I started timing myself and pushing myself to work faster, so that way even if my code was not as optimized as it could be, I would assuredly make it within the time limit. it also felt really good to write code almost as fast as I could think about it. Finally the time was here for my second interview, and even though I was not as nervous, I still felt a little unprepared. This might have been because I had just been stumped by one of the practice challenges and my thoughts were “If he gives me this challenge I’m Screwed”.
I loaded the challenge and took a look at my instructions. The game screen showed a level platform with about 25 white cubes on it, and the instructions were to change the color of the cubes to a random color, and then when a certain key was pressed to change the color back to their original color. “YES!!!” I know how to do this! I quickly created a C# script and determined the best place to attach it was to the main camera where I could add all the logic needed. Then I created an Array of GameObjects so I could reference all of my cubes, and also an Array of MeshRenderers I could assign to each cube. I then used GetComponent to say that each MeshRenderer was = to one of the cubes. I created a custom Method to handle all my GetComponents, and a custom Method to control the color change aspect. I then put my cubes Array into a for loop and told it to change the color of each cube to a random color. My heart was starting to pound as I felt that this was going very well. I had now written logic and code for roughly 25 game objects in a matter of minutes and knew that it was going to work. I pressed the Play button………….. and YES IT WORKED, every single cube changed its color to a random color. It was this beautiful rainbow of different cubes. Now I did need a little push with the last part due to time and I had not practiced changing GameObject back to their original colors, but with a little hint I was on my way to completion. After I had finished I heard the sweet words of “Congratulations” and then even learned a more efficient way to write the code I had just written. I am so stoked and so very proud to say with all the hard work and time I have invested so far I have now been accepted into the 8 week intensive program at GameDevHQ. The next 8 weeks are going to be nothing but eat, sleep, and breath all things programing as I take this next step towards the end goal, becoming a self taught computer programmer and getting employed in this field.
Here is a quick little video from one of my favorite challenges I did last night around 1am when I thought my brain was no longer working lol. Mahalo for reading and as always Mahalo for your support.