Tag Archives: blackberry

Reasons not to play a game on mobiles

I was looking at my devices today and tried understanding my game playing behaviour.

Out of the devices I use, my iOS device has more games than any other device. Next comes the Android and Symbian devices where I have some games installed, but have never played them (don’t know why!!). Out of all the current 100 iOS games, I only play around 4-5 very regularly and another 4-5 occasianally.

So what is it that gets me to download a game but not play it? I thought through some of the points and this is what I think.

1. Creative Inspiration – So we’ve played Fruit Ninja, Angry Birds and Cut the Rope on the iOS platform. Now, do we really need a game with the mechanics of Fruit Ninja, bird characters from Angry Birds and a name inspired by Cut the Rope?.
If you’ve played “Cut the Birds” and you’ll know what I am talking about (the game is now taken off the App store and has another version Cut the Birds 2). One of the primary resons why games fail to connect with users is that they lack originality and just end up being poor imitations of successful IPs.

2. Herd Mentality – Farmville created history with online social gaming, but then more games decided to follow suit with farm themes or similar “Click and Collect” mechanics. And were they successful? Probably yes, but for how long is the real question! I don’t remember the last time I played a Facebook connected game because of the “Follow the Herd” mentality used while writing concepts.

3. Game Tutor – As a casual game player, I really don’t like a casual game constantly throwing pop ups at me to teach me how to play the game. It breaks the flow and can be very obtrusive. I think a casual game should be self explanatory or atleast with minimum non-obtrusive teaching.
Help pop-ups may sometimes be necessary for games, especially strategy and time management games, which are competitive and require a learning curve to progress, so I’m not completely averse to them.

4. Forgotten Icon – Many times when I reach out for my device to play a game, I notice installed forgotten apps. And then when I recall them after looking at them, I wonder if it makes sense to ever play them again.
Forgetting to play an installed app is nothing but a result of an average game-play, designed to be non intuitive, and not great enough to get us engaged after the first couple of minutes initial play.
Prototyping and testing an idea with people trusted for feedback is the best way forward. Being open to criticisms is only getting better at designing and developing a better game.

5. User Experience – I was playing a turn based game against the computer AI recently. I won’t name the game, but the mechanics were as simple as Tic Tac Toe. However, everytime I was to play a turn or the AI was to play a turn, I would have a big popup message thrown in front of me informing me that it was my turn or the computer’s turn to play.
This is an example of a terrible User Experience design because it ends up irritating me/the player with constant reminders during every turn. A definate reason for me not to replay the game.

6. Buggy Pop-ups – What happens when I am playing a game (Chess for example), and I play my turn before the game can alert me of my turn. Now the game logic gets stuck at this point where it has my turn pop-up to display on screen but knows in the background that it is the AI who will play next. My game hangs at this point and I’m stuck staring at a game screen where I can’t progress. I have to shut down the game and restart it.
Will i play this game again? Only if it has an addictive game-play and value for time.

7. Noisy Screechy SFX – One usually plays a game when they want to take a short break in-between or after work or sometimes as a part of their learning process. Poor sound effects or background music really make me shut down the game even if I really need to play it.

8. Where’s the Entertainment – Some games just lack entertainment. And I can’t define this any further. Game development is a coordinated process and going wrong in any of the phases can lead to a non entertaining game.

9. Non accessibility of content – Today most games are sold through mobile app markets. iTunes gives the easiest access to download games irrespective of the iTunes version or the device OS. Similarly Android too offers ease of use of the Android Marketplace. For the others, it’s not been very easy at all times.

Mariam

PhoneGap Framework for Mobiles

I recently spent some time studying the PhoneGap framework with the purpose of creating content for Android devices. PhoneGap is an Open Source Mobile Framework that allows developers to author native applications with web technologies such as HTML, JavaScript and CSS. PhoneGap currently supports 6 platforms including Android, iOS, Blackberry, Palm WebOS and Symbian WRT (including QT).

Working with the framework made me realize how easy it is for any web developer to target multiple mobile platforms without having to write the native code, and yet achieve cross platform compatibility with the same content.

In other words, the content layouting is flexible and can run across different screen sizes and platforms without having to change the any part of the core code.

The framework usage is very simple and well explained on the website. Once you are setup with the framework within your preferred development environment, the only effort goes in writing your HTML files and compiling the builds with the HTML assets to test on the actual device. PhoneGap also has its own API functions which makes use of features such as Network, Accelerometer, use of Camera, Events, Data Storage etc.

Performance wise, it is good, but animating too many objects around the screen drops the framerate. I tried running a game and got a FPS of around 7-8 on older Android devices and around 12 on the newer ones such as the Nexus One.

Perhaps the biggest challenge was integrating jquery for database interaction, where network calls constantly failed. It was later understood that PhoneGap takes a little time to load, so if the device is not ready and the API calls to the network are made, then the network calls fail.

 

From the code above it is noticed that in order to use PhoneGap we have to load the phonegap.js script into the HTML file. This is one of the 2 code bases required for calling any PhoneGap functions (the other code base is native and is compiled when building the device build).

When the HTML loads, the first function called is the onLoad() function which checks whether PhoneGap is fully loaded. This check is done using the onDeviceReady event.

When the device is ready, an onDeviceReady event is fired. The next step is to check for network. This too is done using the PhoneGap functions – NetworkStatus. If the network exists, then the network related calls using jquery are used, otherwise an alert is sent to the user informing of no network.

I’ll soon be uploading a PhoneGap Android app, and will share the link for downloading when ready.

Mariam