Friday, February 26, 2016

First Game Complete

Hey readers! This week was pretty awesome! As I'm sure you can tell from my first post title, I completed my first game today. It was not without its difficulties, but nevertheless, it is done. I'll be talking about the new things I learned this week about programming.

Well first off I learned about progressives. Progressives are basically jackpots that increase as time goes on. Go on a Facebook casino like Double Down and there are some games that have visible progressives, which actually shows the value of the jackpot at the top of the game. In the game that I helped to program, there is a sort of jackpot/progressive. When I programmed it, I made the game have a jackpot instead of a progressive that increments. Someone more skilled will go back and do that for me later, haha.

Additionally, I was shown some cool ways of thinking as far as programming goes. For example, I was reminded of how to change the inputs of a function in order to make a program more efficient. Instead of having to make multiple variable in multiple locations, you can make a function have one more input variable, and you won't have to constantly redefine it. I'm sorry if that made no sense, but to me, it was great!

For the data that me and Armin are collecting about the already existing Facebook casinos, now we are writing a document about the social aspect of each casino. By the social aspect, I am referring to the frequency a player will be shown the wins of another player in order to promote tournament play. We are supposed to finish analyzing all the games by Thursday of next week.

Challenges: On Thursday, I accidentally deleted all the work that I did on my game, so I had to finish the game all in one day. Being sick that week didn't help either. But now that I've done one, I think I will get faster at the next ones.

Victories: I now think I understand what I am doing! Honestly, in the weeks prior, a lot of time was spent staring at the computer screen pondering "What am I even supposed to be doing right now?" Now actually know a little!

Thanks for reading! Maybe one of these days I will post some pictures of what the office looks like. For now, just imagine the stereotypical office... Perfect. That's exactly what it looks like. Talk to you all next week!

Friday, February 19, 2016

A Little More Programming

Hello readers! Week two is complete and I am really enjoying the work that I am doing. I am still getting better at excel and the nuances of exporting text documents from it, but hopefully I will get better at it as I continue. This week my onsite supervisor introduced me to some more coding and programming, which I thought was really interesting. So, for this post, I will talk about the programming aspect of my internship, the actually-really-boring-at-the-present-moment data I've collected while playing games, and some of the challenges and victories from this week.

The programming is very much what I expected it to be. We take a game and we program the pay lines, the bonus games, and the reel strips so that what the game pays matches with what the mathematical design of the game intended. We are programming using C#, which is not that different from the Java that we used in AP Computer Science. Working with this made me realize that I love taking the time and finding the right code, kind of in the same way one might enjoy solving a math problem. As nerdy as it sounds, I just get a certain feeling of fulfillment after finding the correct answer. We are starting slow, so I should finish my first game on Monday. After I get the hang of it, my supervisor said he would just give me three of four games to finish on my own.

As far as the Facebook data goes, we collected a little more than half of it. And as I pondered how I was going to write my blog, I realized the data we collected really is not all that interesting. It's just how many spins I won out of the first 100, or how many credits did I start with, or how many ads popped up during time of play. Additionally, any sort of really interesting data or interpretations of data I can't actually publish since they are important for the company. What I can tell you is that you should never play as a guest, because it appears as if you win more when you sign in with Facebook. Hopefully when we retrieve all of the data, there will be something more intriguing to tell you.

Challenges: Reel vs. Real. For the first part of our programming lessons, my supervisor kept using the phrase "spin the reels," which was referring to pressing spin and watching the slots do their spinny thing. However, because of my time at BASIS, being exposed to such advanced math classes like Category Theory and Vector Calculus, I thought he meant "spin the reals." My mind was so blown! I thought it was one of those things like when Mrs. Bailey tells you to take infinity and bend it on itself, so negative and positive infinity are the same, and the linear reality of numbers becomes a circular one. Spin the reals?! What does that even mean?! Luckily, my confusion was quickly solved and I was on my merry way.

Victories:  I became acquainted with most of the staff during the lunch breaks this week. Usually I would go out to lunch, but lately I stayed in the lunch room and met everyone. They are all really nice people, and they are all quite funny! It's a wonderful environment to work in.

Thanks for reading guys! Here comes another week of fun and frivolity at the office.

Saturday, February 13, 2016

A Change in Plans

Hey guys! I finished my first week of my internship and it was pretty wild. I met the entire staff and they all welcomed me with open arms. Everyone there is extremely nice and respectful, and I can't wait to do more work there. However, the internship is taking a slightly different turn than me or my supervisor initially predicted. So in this post (which will have a similar structure to how future posts will look), I will describe a little bit of what we have been doing, discuss some challenges for the week, and express my joy about any victories that occurred. Let's get started.

So initially, we thought our contribution to the company would be from more of a mathematical standpoint, i.e. designing games and proving that the design is sound. However, the company's new focus has shifted more towards internet gambling and online casinos. For the first day, which was Tues 2/9, I mostly played some previously existing games online and gathered statistics such as frequency of hits, number of bonuses, and the recurrence of advertisements. I am so excited to be part of this process because it could ultimately provide crucial information on how the company should go about developing its games.But yes, if you're wondering, in simple terms, I just have to play lots of games online and basically just write how many times different stuff happens. Pretty chill. If you're interested in what trends I've discovered while playing and if they're helpful or not, there will be more of those in next week's post once I have accumulated more data. 

However, as I continued with the process, I was introduced to another important process: using excel. In hinds sight, I really wished I would have taken Mr. Mac's Excel term project (for those of you who attend my school, you'll get this). What we have to do, is read the game description of a new game, and copy code from other games that will make the new one run as designed. Now this may sound really simple, but it turned out to be really difficult and super detail-oriented. There were specific numbers I had to copy in specific places, and use a chart to turn specific letters into specific numbers, and then those specific numbers back into different specific letters, and specific orders that I had to do the specific steps in, and specific layouts the excel documents had to be in, or the programmers would have to specifically redo all the work and rewrite it in a specific way that suits their specific needs. And I had to learn it in a pretty short time frame, because everyone has work they got to do, so watching over my shoulder for every step was just impractical...

But it was alright. My supervisor has been very understanding and has told me repeatedly that during this transitional process, he will be happy to answer any questions I have. I am so lucky to be surrounded by so many patient and intelligent people. I do not want to let the team down, and I hope that my contributions will make a beneficial impact on the company. Now that I've talked about what I've been doing, I just want to take a few moments to discuss the challenges and victories--the highlights, so to speak. 

Challenges: I could not find the place on the first day! I knew this was a possibility so I arrived where my MapQuest told me to go 20 minutes early. But, as fate would have it, my MapQuest was incorrect. I parked in some free underground parking near the mall and wandered the area trying to find the office. Eventually, a yoga teacher in one of the suites noticed that I looked lost, and asked what I was trying to find. She had the directory on her iPad and pointed me in the right direction. Turns out I was at the wrong side of the intersection. 

Also, quite humorously I might add, when I finally got to the correct building and went up the elevator, the fifth floor was under construction. So when I was walking out of the elevator, I took a wrong step and had my right foot go partially through the floor up to my ankle. Luckily, my partner Armin was there to provide me emotional support after my embarrassing exhibition of clumsiness. 

Victories: My AP Statistics knowledge really came in handy when it came to testing games. Tests like z tests and binomial cdfs came up and I was so happy that I took the class in high school. I felt so accomplished being able to understand what my supervisor was talking about. I anticipate that other knowledge from my classes will also prove fruitful!

Thank you so much for reading my post! I look forward to letting you know more about my adventures. Hopefully next time I will have accumulated enough data to give some tips on how to win more while gambling!