This post comes to you from one of BA2‘s programmers, Jacob! He is going to give an awesome walkthrough on some of the work he does for the game!
Pōsōh (Hello)! Thanks for stopping on by at our humble little blog, we really appreciate your interest in our game, Shepherd’s Sky. In an effort to keep you all updated on the progress of the game, I have been asked to write the next DevBlog. In this short little update I’ll give you a quick look into my role as a Gameplay Programmer. Lets get started!
Firstly, what is a Gameplay Programmer? Essentially, I help develop our game’s mechanics. These can range from the way the player moves and interacts with the world, to creating a system that manages all the interactive objects in a level. My major focus has been on developing the fishing mechanics in the game; allowing the player to catch a sheep or object, and either throwing it or attaching a balloon to it to keep it safe. Creating this required writing out everything we wanted the fishing mechanic to do and creating a state machine that guides those actions. The next step is to put it in a computer, which is the hardest step.
The best way to deal with the second part is to break the program up into chunks. The way I did this was by separating the hook script and the target script. Cozy volunteered to take target and develop it while i looked into the hook. Following the diagram that I had generated (and with the help of Unity’s online documentation), I was able to program a hook that was sent out from the player’s fishing rod and grab up a sheep. When Cozy and I brought our code together, we were able to fish in the game immediately (INDUSTRY TIP: Always design first, otherwise things won’t go to plan).
Anyways, that was what I did for the first semester, this semester, my focus has been split across multiple micro projects. Firstly, I worked on standardizing our controller input using a lovely piece of middle ware called InControl. This required going in to all of our input driven code and changing certain aspects to pull info from InControl. Secondly, I’ve been working on allowing players to invert their camera controls and allowing those preferences to persist no mater what scene the player is in. Lastly, I have been working on implementing our throwing mechanic, so that players can throw rocks, wolves, and sheep around the level. and that’s where I am at now!
Congratulations, this is the end of my DevBlog. If you’ve made it this far, I just want to thank you for reading through my processes for the last couple of months. I tried to keep it fun and interesting without going too deep into the programming. If you want to see our updates in the game, feel free to check out our Twitter and Facebook page as we will now be updating those somewhat consistently until the Stout Game Expo. We’ll be sure to update y’all when we find the date for that.
Wāēwāēnen (Thank you!)
Thanks for reading through our developer blog posts! Be sure to check back in the coming weeks for even more content from the awesome people working on this game!