Progress

Progress

Any progress is a good progress. Even if it just a small step, for me this is a good one. Now I have 37 downloads in windows store, plus 29 downloads in Google play. Even it is a small number this gives me a motivation for continue my work. I already made a lot of changes since I publish that version in both markets, and I know with the new version more people will like it.

Advertisements

Google App Engine in games

In my first post I talked about the interesting services that Amazon provides, in this one I’m going to talk about what Google has to offer.
Just as Amazon, Google offer a wide range of different services, but the there is a particular difference between the two of them, GAE (Google App Engine) has a “free” limit that you can use without using any kind of credit card or payment method. So you could publish an entire application without a single penny.

Right now I have an API for the Whack-a-mole game that stores the players scores. One advantage from the cloud that I will be using is that; since I will be testing this at the beginning and then decide if I will choose something different, like backend instances. GAE has a very interesting concept called backend instance. which is nothing more than an application running continuously waiting for a request (like a server). The difference between that and a typical application in GAE, is that the typical applications are sleep. and only run if there is a request. This is useful if your application is intended to work in this way. Since the game is not continuously communicating with the API (only when saving or getting scores). The typical application is perfect for me, because whenever a player wants to store their score an instance of the scripts will be initialized start the quota process the score and then die and stop counting toward the quota. So this keeps the quota low. Since I will not be continuously running the application. Also the typical application schema help me deciding at runtime how many instance I should be running to keep the experience smoothly. Which is something that I really want to keep encapsulated.

Thinking on this scenario:

A player initializes a request to the application to store an score, and by that time another player wants to store an score also, the application will simply initialize one instance for the first one, and then the second one will use the first instance of the application. If the first instance is too busy to process the subsequent requests it will initialize another instance of the application, in this case both instances will count towards the limits defined. But the free limits in GAE are fairly enough, because they have a free limit of 28 hours for a single instance running continuously, and that limit resets every day. So you can run 1 instance continuously the entire day and another instance for a couple of hours, you can see more about limit in this page: https://developers.google.com/appengine/docs/quotas

Hope this gives you an idea of how GAE can be used. Let me know any comments or ideas that you have.

Zylv3r’s 3D whack-a-mole

Building a game is not an easy task. It implies a lot of task to be done and done correctly.

All needs to be taken in consideration when doing it, and the players are the most important ingredient of a game.

Here is the first sight of this new game, I’m building it to be deployed on web, but since I’m using Unity, later I can deploy it to any mobile platform.

First Web Version

Coming soon on:

Windows Store

Google Play

First Post! – AWS

Today I was reading some articles on the Amazon site, these are about their web services, in other words cloud computing services. When I heard about cloud computing 5 years ago, I was thinking; why cloud computing? the web is on the cloud right? why are we going to use other approach for web?.

I was like; what cloud computing can offer us that is different than what we have right now?, well today after all those 5 years and after a lot of development work done, I can see why this is important, and what is out there that will help us develop more powerful systems.

AWS (Amazon Web Services) is a set of services that can be hired and will be very helpful when they are used with wisdom, I think the first and most important part of these services is the scalability.

For example if we develop a game that will be played just by three people, does it needs such a complex infrastructure?. At the first sight we could say: No!
But think more, what happens if you start with your own server, and then this game starts being popular, or better; viral. what happens when the game start lagging due so much players in it? well at this point you can buy more RAM, a better processor. But think! what is the first thing that you need to do in order to add this to your server?

Shut down! and this will not make your user happy right? they will need to log out and stop playing for that period of time. This is not good for the business. Maybe for three people is not that important, but imagine if your game is being played by 10,000 players at the same time, and you decide to increase the power of your server, this is a worst scenario.

But, with cloud computing you can stop thinking on this infrastructure. You can let IT professionals handle this for you. Now imagine that the same 10,000 players are very disgusted by the performance of your game, and this is because you have a Pentium III assigned to the game server. And you decide that you have the enough budget to buy a twice powerful processor. And you only say to the IT guys that you will pay for more processing power. And then magically those 10,000 players start playing the game more smoothly. And there was no downtime. This is very nice, don’t you think?

So cloud computing is a really good infrastructure. And there is more! another pillar of the cloud computing is storage. And this becomes more important when you want to deliver static content. Now imagine a MMORPG (Massive Multi-player Online Role Playing Game) that needs to deliver map content to several, let’s say a HUGE amount of players. And when this map is going to change? well let’s suppose that the map is going to remain the same forever (so boring!), but well… this is just an example, so supposing this we have this static map, we can split this map in several areas, done this we need deliver each part of this static content to players, and let’s add something interesting, this is only going to be delivered when they visit that specific area. So they only need that data, when they step into the area. But all the players needs this same content. We can deliver this with a CDN (Content Delivery Network), when we build such a good infrastructure we can achieve better game response. And also we are delegating the responsibility of deliver content to other entity, this reduces the processing of the main game server(s).

Well these are some of the benefits of cloud computing, and this is only my point of view, there are a lot of approaches and a lot of applications that can use these services better, but I’m going to be focusing on mobile game development.

And this is the end of my first post, I hope you enjoy the reading, and I’m here for any comments that you have. Thanks! Stay tuned!