Quote of the day: “Hi, I’m [Insert Name Here]” – Basically everyone
Welcome to Angry Skull studios (also known as Spydersoft, also known as Proper Villains LLC. Not confusing in any way). I began my “first” day at about 9:30 a.m., which is apparently about 4 hours earlier than anyone else shows up. I put first in quotation marks because I’ve actually been coming in after school 2 days a week for the past month to familiarize myself with the space and the work I’ll be doing. So, like I mentioned, there was almost no one else here when I arrived, which meant I kinda just twiddled my thumbs and began to slowly slog through the documentation I need to read for my project this week. On the plus side though, it meant I was able to get some good pictures of the office while it was still empty. here they are:
That desk on the right in the second picture is mine (the one with the photogenic bright friggin blue windows login screen). It’s a pretty sweet setup, lot’s of space and fancy computer things. Here’s a more up close picture (Whoa, that picture has this blog post open on it. Inception-y):
I get 2 monitors, which is insanely useful for coding and game design, because you can have your engine, the thing you actually use to build the game and make things work, open on one monitor and your code open on the other so that you can cross reference. Although today, I used the second monitor mostly for google so that I could always have my helpful 50 (you think I’m exaggerating. Ha.) web pages of reference open so that when I inevitably broke things (which happened a lot, I’ll talk more about it in a bit) I could easily look up what the hell I had just done to cause my console to explode into an angry red wall of error text.
Anyways, now that the tour of spaces is over and done with, we can get into me actually doing things. Eventually, Danh came over and tasked me with getting Steam achievements and leader boards up and running. Steam is the largest online marketplace for games, and is a kind of all in one hub where you can buy, play, and sell games, along with having a social media aspect that let’s you play with friends very quickly and easily. More info can be found here: http://store.steampowered.com/. After reviewing some documentation for a few minutes, everything seemed easy enough. Just set up some test achievements, copy in these couple of blocks of code, and bish bash bosh there you go you have achievements right? Yeah, no. While the documentation was actually very straightforward and pretty simple, the issue arose with the fact that it was written with games that have been programmed in C++ in mind, whereas Minibotz is built in Unity (the engine), which uses the C# language (coding).
Here’s a brief rundown of what that means for those of you not familiar with computer programming: There are multiple languages that one can code in, similar to how humans have multiple languages that we use to communicate. Every language has some advantages and points where it’s weaker than others (Except assembly. Don’t ever use assembly), but overall there are 5-6 well known and most used languages- Python, C++, C#, java, HTML, and SQL. HTML and SQL are primarily for web-based coding, python is a sort of generalist language often used for backed applications, java is an older language used in a wide variety of programs and also if you want to kill your RAM, and C++/C# are used for more intensive programs, especially games. C++ is the most commonly used language, but C# is just as good and also widely used.
Now that that’s out of the way, back to the snag I was hitting above: you can’t program something in one language and expect it to magically work in another language. It would be like if I were to go to Mongolia and say “I would like some chicken” and expect a Mongolian speaker to give me chicken without questioning what I had just said. So what looked easy at first became much more of a headache than I had anticipated. Thankfully, this is something that has been encountered time and time again, as Unity is one of the most popular game development engines on the market. So, using a nifty (I like that word by the way, expect to see it a lot. I also like these little parenthetical excerpts, if you couldn’t tell) program called Steamworks, I was able to create and utilize what’s called a “wrapper” class, which takes all of my beautiful C# code and makes it understandable to the C++ coded Steam. Bish bash bosh yet? Not quite.
Actually coding in achievements is quite hard. You have to have a ton of parameters that are being checked constantly, in case an achievement is triggered at any point during play. You also have to send that data to Steam when an achievement is triggered, along with downloading your achievement data every time you launch the game in case the user has earned an achievement on a different computer (Steam has cloud based game saving). So, after breaking things and fixing them only to break a few more things for about an hour, I felt like I needed a break and some noodles. Here are my noodles:
This is probably the most interesting photo in this post, as it is a picture of my lunch. I love the way the color of the kung pao noodles comes together with the rich chocolaty brown of my protein bar and the nutrition info on the back of my coke, all accentuated by the flat matte black of my desk. After spending 3 minutes writing that description, I have come to realize that I have no clue why I took a picture of my lunch. but here you go, here’s my box of thinking break noodles. They were rather delicious noodles. I like typing noodle. Noodle Noodle Noodle.
Anyways, back to working. After lunch, I made a breakthrough! Or, to be more accurate, I found someone else’s breakthrough online and changed the variables so that they work for me. Today user forums have become my favorite thing. As I write this I am in the process of troubleshooting and editing all of this code to (hopefully) make something that will give me a nice little achievement. That’s where I’ll leave it for today, a sort of cliffhanger for all of you loyal reader(s) (Hi Mr. Winkelman).
If When I break things I’ll fix them, and this project might have to move to tomorrow. For now, I have volleyball practice in an hour and am enjoying listening to Alex’s (very loud) Eminem across the room. God I hate rap.
If you made it this far, congrats, you put up with me for like 10 minutes, which is about twice as long as most people can manage. See you tomorrow!