Wednesday, January 13, 2016

Moving Your Game Server to Amazon Web Services



This week, Riot Games, legendary developers of the hit MOBA game League of Legends, released a blog post framing their move from in-house data centers to the Amazon Web Services (AWS) cloud.

The benefits of moving to Amazon's virtual machines are countless, but in my opinion here are the 5 biggest points:

  1. Dynamic, Scalable Solutions: AWS is a scalable solution that is pay as you use. Do you have a highly dynamic user base? An in-house solution would normally be setup to always be ready to service those heavy loads, and would be extremely wasteful during off-peak hours. In comes AWS, where you can spin off new instances as your load increases, and remove those instances as traffic decreases. By dynamically handling these requests, and only charging you for what you use, introducing AWS to your technology stack can save you a surprising amount of cash while adapting to unexpected loads.
  2. 24x7 Support: With clients such as Riot Games, Rovio, Ubisoft, and Lung, it can be assumed that the support staff at AWS is readily-equipped to solve problems that you and your team may not have run into personally. Of course, it can be assumed that lower-paying customers receive less support, so your expectations may have to match. If you can trust Amazon like these established companies do, then I can guarantee you're in for a treat from their experienced firefighters.
  3. Security: AWS offers a large suite of security features that would normally have to be programmed by your development team. On top of regular security concerns, one of the best included is single sign-on.
  4. Data: One of the most expensive parts about an in-house server is the data storing. If you plan on introducing higher granularity data for your team to do analytics on, it might be the right time to move to AWS. Riot cites a problem where they once had to reduce their data backups to a scarily-low 2 instances. AWS will allow you to host more data for cheaper, and offers solutions to backup that data without a sweat.
  5. Cloud Computing: I am guilty of doing a lot of my heavy analytics and computing tasks on my local machine. Amazon offers a lot of computing resources in the cloud, allowing your analytics and simulations teams to offload their heavy tasks to the cloud. AWS lets you easily spin off new machines that run these tasks on the same production data with relative ease.

If you haven't checked it out already, the Riot engineering blog is full of goodies about their struggles. Those familiar with League of Legends will know that Riot is infamous for writing spaghetti code leading to hilarious in-game bugsThis post in particular highlights a lot of the changes their developers are making to actively solve this problem.

Want to learn more? Check out the AWS YouTube page which hosts a number of talks from the 2015 AWS re:Invent, including the Keynote talk by Andy Jassy.


ST Math

ST Math, also known endearingly by students as JiJiMath, is a learning game that is improving the future of the next generation by equipping them to be able to solve tomorrow's problems.



Cisco just recently released a video highlighting ST Math. Produced by MIND Research Institute, this game emphasizes learning without words. It provides students with an alternate avenue to learn and prove their knowledge in math outside of the standard template. It also gives students a fun way to learn actively.

Learn more at MIND Research's web portal.


Star Wars: Galaxy of Heroes

Star Wars: Galaxy of Heroes is a new mobile game released for iOS and Android. Following standard Star Wars video game practice, it copies a proven model from games like Heroes Charge and places it in the Star Wars universe.

In line with the hype produced by the new movie: Star Wars: The Force Awakens, the support for Galaxy of Heroes has been strong. Obligatory Palpatine reference. The subreddit devoted to this game has daily activity and, at the time of this posting, over 3,000 subscribers. There is also a community website devoted to exposing the data of the game: SWGOH Cantina. On top of all of this, there are also many YouTube which provide information, gameplay, and guides to players, such as Tiny Grimes Games.



If you're a fanatic Star Wars follower like me and want an easy to pick up mobile RPG, Star Wars: Galaxy of Heroes is your go-to game. My only warning is to watch out for those pesky in-app purchases! Starting out you may feel weak, but over time your squad will grow in strength. This game promotes Luke's achievement of balancing the Light Side with the Dark. In-app purchases are extremely helpful, but they do not prevent free-to-play players from achieving rank #1 on their PVP server. There is some gating, but in my experience you can get at least 2 hours of playtime each day. You really can't ask more from a mobile game.


Friday, January 17, 2014

Computer Graphics 1 - Mesh Simplification

Models can take a lot of time to render. They are made of thousands of triangles, and some times that level of detail is not necessary when the model is far away. Mesh Simplification is used to reduce the number of triangles in the model, creating a lower level of detail model. The number of triangles is reduced by grouping multiple triangles into one triangle. For example, a head model composed of thousands of triangles could be combined into a cube. This lower level of detail model is then used when the camera is a far away from the model, and swapped out for the existing higher level of detail model.

My algorithm can be seen here and the corresponding gameplay can be viewed here.

Thursday, November 28, 2013

Video Game Guides

I recently wrote a guide for League of Legends, which can be viewed here.

Guides are a unique piece of literature and I had fun writing my first one. It's a way to share your experience of a game with others, and is aimed towards improving others' experiences.

It was a new exercise for me as I've never written something like it. The classic literature elements are all there. It is essentially and informative piece, but there is little support for citations. There is room for passion, and it comes out as you describe your experience.

Writing a video game guide is something I recommend to anyone who thinks they have a unique perspective of a game and wants to share that. In terms of video game development, I think it is important for a game to have social aspects. I cannot play a game that is not social, because it makes me feel lonely. If a game does not have social elements in-game, I think a good alternative is through forums where people can share their experiences with others.

Wednesday, November 13, 2013

The Zynga AMA

This post is devoted to my analysis of this Reddit Ask Me Anything by a Zynga Developer.
2 currencies - 1 can be earned in game easily and can unlock most content. Easy reward to give players. The other could be earned in tiny amounts, and bought in large amounts. The most successful games were fun without the second currency, but made plaeyrs always want it.
I love that they mention this. This is my favorite part of a Freemium model to analyze.
various things over time - serve the game in limited bites, and make the player come back for more. this will create a lasting relationship with the customer, which is vital since players very rarely pay anything on the first day they play a freemium game.
This quote connects so much with my previous blog post.  Making the player come back for more is closely tied in with the two currency model. This is accomplished by slowly rewarding them with currency over time.

I partially disagree with the second half of this quote. Getting a player to pay for the game doesn't have to be through repeated and throttled play. Zynga games benefit from the gated gameplay through energy/stamina/require x number of friends, but that isn't the only way to do it. For example, League of Legends is free to play and allows for unlimited play. This makes the second currency more invisible to those who don't wish to pay. This is an important component towards making a game whose intrinsic value is within the gameplay itself.

Monday, October 28, 2013

Free to Play: Part 2 - Keeping the Game Relevant

The free to play model usually includes daily or weekly rewards for playing the game. This reward is usually comprised of free in-game currency that substitutes paying to play. These rewards support the free player community in a game that would otherwise be overrun by pay to player gamers.

This model is obvious. Free to play games need a way to keep players who don't pay for services (skins, levels, etc.) to feel like they are still getting the whole experience. That effect of daily rewards is obvious. Without daily rewards, free to play gamers have no way of free progress (unless there is something else built into the game). There's a subtle side effect here that isn't so obvious.

Providing daily rewards keeps the game relevant. The user is rewarded for playing the game every day. Users don't want to miss out on their rewards, so at a minimum they will log in and play to get those rewards. This forces the user to play in a situation when they would not otherwise. By forcing the player to play, the game has a better chance at keeping a larger player base. This larger player base attracts users, which means more players are talking about the game. A combination of larger player base and more play time keeps the game relevant.