The Game Developer Intern is dead…Long Live the Game Developer!
The day of reckoning is here and the GameDev Internship has come to end on this day December 28th 2020. Blessed are we to have participated in the program and fortunate are we to have learned the foundations of knowledge necessary to carry us forward on our Game Development quest.
Today the training wheels come off and it is up to us to continue our journey. No more the pressure to punch in each day, no more the pressure to fill up our progress reports and write medium articles. The journey forward is dictated by our own passion , discipline and determination.
Who of the chosen in the program shall continue trudging forward towards a distant glory that seems so uncertain from our remote island of Hawaii? Who will settle for something else, something safe and who will head the call for adventure and take the risk for something potentially greater?….only time will tell.
As painful as it is to see the program end, I am hopeful for the future. The GameDev team has built a great community in Hawaii through this program; together with its leads and the passionate developer interns that took part in the program I have much hope for the future and I am excited to see where everyone ends up.
As for myself, regardless if I am being paid or not I will continue the good work. For the first time in a long long time my mind and passion are ignited with purpose. Any opportunity I get I will continue to chip away at unraveling the mysteries surrounding Unity and C# programming.
Today I decided to jump in the 2.5D Platformer project. But before I did that I spent some time learning more about GIT. I wanted to get a thorough understanding of why GIT is designed the way it is and go deeper in the logic behind its structure.
Fun Fact:
GIT was created in 2005 by Linus Benedict Torvalds, also the creator of the very popular LINUX!
I found a great set of videos that total about 90 mins that gives a very good overview of GIT and serves as a nice complement to Jonathan’s crash course on GIT at GameDevHQ. Rather than rehash what was said in the video I urge everybody interested in learning more about GIT to go watch these videos on Youtube by David Mahler:
- Introduction to Git Core Concepts
Introduction to Git — Core Concepts — YouTube
2. Introduction to Git Branching
Introduction to Git — Branching and Merging — YouTube
3. Introduction to Git Remotes
Introduction to Git — Remotes — YouTube
After my Git Review I completed the Introduction, Character Controller and Collectables section in the 2.5D platformer (about 25% of the 2.5D game). I found the challenges pretty straight forward and felt well prepared to tackle them with my experience building the Space Shooter having taught me a lot of the core concepts already. The Character controller Component and its mechanics were the highlight so far in the course and I enjoyed learning about this new system and creating gravity without the use of the RigidBody component and adding a jumping mechanic.
I did make a discovery during the creation of the jumping mechanic that I wanted to share regarding Void Update. Void Update is dependent on how many frames per second your computer rig can handle. Since I have a pretty beefy system running an RTX 2080 TI my jump height was much lower and constrained from Jonathan’s when using the exact same velocity and gravity values because I can pump out a lot more frames per second and gravity hits me much harder. I realized at this point that the way we approached the jumping mechanic and gravity within Void Update is going to cause variances for each person depending on their Computer Rig performance. Rather than put wild values to recreate the same effect as Jonathan with lesser values I found a simple command to set the Target frame rate to a fixed amount. Since 60FPS seems to be a magic number in Gaming. I set my Target Frame rate to 60FPS for the platformer. Since its not an FPS or Triple A game 60FPS is more than adequate and should ensure consistent behavior on most rigs. I used this command on my player character under Void Start:
Application.targetFrameRate = 60;
Now I could jump higher and everything felt more natural. With that said, there is a limitation to quick fix, if someone has a rig that can’t run 60 Fps and runs slower, let’s say only 30 FPS, his jump height will be higher and he will fall down slower. I am sure there is a more elaborate solution by normalizing the frame rate somehow that solves these variances but for now I am happy with my quick fix since that would be outside the scope of this current project. Definitely something I would like to explore in the near future though when using the character controller vs. Rigidbody gravity.
Overall it was fun making the platformer and kept thinking of Super Mario Brothers and hearing the Jump “Poing” sound each time I jumped and the Iconic Coin collection sound! Watch my capsule in action below: