Saturday, March 26, 2016

Week Six

Hello hello, week six was just lovely!

First off, I finally finished that horribly frustrating game from the previous weeks, only to move on to another even more challenging game, ha ha. This time, however, we are taking a slightly different approach. This game was actually assigned for me and max to work together on, since now we not only had to write the code to make the game function, but we actually are working on the math involved that will eventually make the game pay however much we want it to. To clarify, for the other games we’ve done, all the math and every detail about the game was already done by someone else, and we just had to write the code that accomplished whatever the game said to do. Now, most of the game has already been coded, and we actually have to find some way for the game to pay in a specific way that appears exciting to the player, even though on average they’re losing money. This involves a lot more math than coding, as we have several different points that we can tune to make slight changes in how the game works. At this point, there’s honestly more guess work at play than anything else, but it’s definitely really fun to take this approach. Sorry if what I just explained didn't completely make sense, feel free to ask questions in the comments so I can clarify wherever there's confusion.

As for the Facebook game data, there wasn't much to do this week, so I guess we got a break from it for a little while~~

With this latest game, I’m really starting to get a feel for how the games are really designed and how they accomplish the goal of appearing profitable to the player while sneakily taking all their money (essentially). The bonus feature of this game is designed to make the player feel like they’re progressing quickly by giving them higher chances to win big while they have  a low score, as well as they are almost out of spins, but as soon as the player begins to get close to the jackpot scores, the chances quickly drop to where it is almost impossible to actually achieve it, giving the player hope without granting them any reward. In the process of figuring out the math behind this process, I felt almost like an evil mastermind, trying to find the best way to give people hope without them ever having a real chance... and I kinda enjoyed it… ;)

Sunday, March 20, 2016

Week Five

Hello once again ladies and gentlemen, and welcome to the halfway week at Design Works Gaming with your host, me!


Another week of programming and Facebook gaming, another week I ponder my existence. New stuff this week on the Facebook front however: now we are taking note specifically on how many ways and how many credits someone can earn daily just by logging in to any given casino. This information is pretty unique, as it shows how much free stuff a game is willing to give to the players before they expect them to spend their own money. Many casinos rely on players running out of credits, that way they need to purchase more to continue playing, but if they run out too fast, they could very easily just lose interest in the game and never play again, so these daily rewards are key to having returning players.


As for the programming side, I’ve been working on the same game, and it has proven pretty challenging with all of the small mini games that are new to me. One particular problem I had was with figuring out why the last part of the mini game was paying wrong. Basically, the game has three possible stages, and you can move on from one to the next by randomly landing on the right symbol. In the code, there are three different sections to determine how much is paid for each of the three stages. When I examined each of the three sections separately to make sure they all work, everything seemed OK, but when i put them all together, there was a small issue that made it pay slightly low. This would indicate that something is wrong in the section of code that determines whether or not you move on to the next stage, yet no matter how hard I looked I could not figure out where that mistake was. Evidently, the problem did not lie in a flawed section of my logic, but rather in word choice. To note the part of code that determined whether or not the player advanced, I labeled it “Continue,” as that would make it self-explanatory what the code is doing. However, it turns out that “continue” already existed as a method in the code, and thus is made some odd errors when I implemented it. Needless to say, this was an incredibly frustrating error to solve, but at least it's behind us now!

That about sums up the week for me, tune in next week for more exciting news over here, behind the scenes of casino slots machines!

Saturday, March 5, 2016

Week Four

Hello again everyone! A lot went on this past week, including me finishing my second game, starting on the third, and also going back and fine tuning the first game as well as adding a few things. First off, the second game was, at least on the surface, much more complicated than the first. While the first game only had two features (free spins and a bonus wheel), this game had 4: free games, bonus credits, credits multiplier, and bonus wilds. The main difficulty of the two additional features was figuring out how to code the feature that actually changed what symbols appeared on the reels. The bonus wilds basically changed a random number of spots to a wild symbol to increase your chances of winning, but I haven't had experience with that before. After searching for examples of this in other games and numerous questions to my supervisor, I finally found a way to code this feature into the game. Hooray!

As for the third game that I also started, one of the features actually brings up a sort of mini game, so that will be fun to start figuring out next week. I mentioned going back to the first game and making some edits; this was mostly done by my supervisor, as he has much more experience and found many areas in my code that could be adjusted to make the whole process much more efficient, though we were expected to be able to do this ourselves in the future. Hopefully as I see him make these edits I can use the new code to help with future games with similar aspects. Another edit we had to make was actually fixing the comments found within the code. For those who don't have much experience with coding, when writing code the programmer will often make small comments that are indicated by double slashes “//” and help anyone else reading the code to decipher what is going on and what each line is trying to accomplish. We were basically tasked to make sure all the necessary comments were written in the code, so if anyone wanted to go back and change something later, it would be easy to figure out where the change should be made. The last of the edits we made was something called a “gaff list,” which basically creates a menu setting for developers to be able to test all of the features of the game. When you activate whatever feature you want from the gaff list, it sets the game so that the next spin will be guaranteed to land on the corresponding symbols that trigger the feature, so the features can be tested without having to spin countless times to get it to trigger naturally in the game.

As far as the studying Facebook games go, Max and I finished gathering the data from the most popular casino apps and put them all on a spreadsheet to compare them. Funny story with that: after we finished gathering the data, we were compiling them into one list so they could all easily be accessed at once. I figured it would be easier if I just put my excel file onto the server so Max could copy it onto his computer rather than having to retype everything. Sadly, I made the mistake of deleting the file on the server rather than copying it (sounds stupid I know, but this was after several hours of mindless spinning so I wasn't in the most aware state of mind). Normally, you would be able to access your recently deleted files in your recycling/trash bin on your computer, but since this file was saved on the server rather than on my desktop, it wasn't added to the bin and presumably was just lost forever, so we had to go back and do a few of the games again.

Anyways, that was my week for you, see ya next week ~~