Day 15 with GameDevHQ

Eric Hankins
3 min readDec 22, 2020

“Minds are like Parachutes, they only function when open” -Finley Peter Dunne

Continuing down the C# survival guide, we went into “functions” and “Coroutines (IEnumerator)”. So now it has been roughly 3 days of doing the survival guide, and I’m definitely happy I came into this section. However, I believe its time to go back into the 2D development course and start building a game from scratch. The strategy is to utilize all I’ve learned in the first time through the course material, along with new aspects I’ve learned in the survival guide, to create the galaxy shooter from scratch. Along the way, I will incrementally accomplish the phase 1 and phase 2 coursework. By the completion of the game, I will feel confident in my ability to start my own project; or even work with a team to start developing. There will still be much to learn but seeing the possibility within reach is encouraging.

Starting with functions, we explored more in depth something I was confused on during the 2D development course. Functions were used often and oftentimes I was unable to follow on the initial pass; I had to go back through a couple of times to get my code correct. Taking a closer look, I was able to understand that functions are important in keeping your code clean. Instead of compiling everything in “void update()” we were able to simply name the function, then assign that function in the update method. This should be especially used when debugging a game; with appropriate functions, you can quickly find the code associated with what’s bugging. For instance, if you have some errors with your player movement, or want to make an adjustment to the code, the function “PlayerMovement()” will have all the code within it. So you simply find the function and make the appropriate changes without potentially affecting other coding within the update method.

When “coroutines” are needed was explained more in depth and gave a clear understanding as to when to use one. If there’s a moment in my game where I want the game to wait a few seconds before completing a function, I will need to use a coroutine. Within a coroutine, I can utilize “ yield return new WaitForSeconds(x);” and the game will stall for “x” amount of seconds. It is incredibly useful when doing where loops (or any kind of loop). Circling back into the 2D Development, I’ll be able to use these often with completing the challenges.

So after the “coroutine” section, I glanced down at the future material and found the rest somewhat irrelevant to accomplishing my 2D development course. Following my gut, I’m going to stop the C# survival guide for now. I believe it’s best for me to circle back into the 2D development course, and start from scratch. A speedy, second time through the course will further imprint the code and the logic. Complete understanding of every step of the way would mean I can continue taking my own steps, with a concrete understanding of what has been taught. The computer programming community is helpful and supportive of one another. With proper research, there exists an example of one way to accomplish a certain task. However, I can’t expect to get very far without a full understanding of the fundamental aspects of computer programming with C#.

I’m looking forward to going through the course work from A-Z again. I had a good grasp of everything the first time, and was able to complete a fair portion of the challenges before moving on. Of course, when you’re just learning, the first time it can be hard to retain all that information. I know my mind and believe this bit of repetitive effort will go a long way. I choose to be focused on the long hall that may be my career. Rushing through the beginning will only make things more difficult in the end.

--

--