Tag Archives: Apple

The Ups and Downs of HTML5

I’ve been off writing for a while mostly because most my time had been taken up with work. If I did get any time off, I preferred spending that time away from the desk. But lately I’ve been missing writing, so thought of starting off with a short article on how I view the platform I’m investing my time in – HTML5.

Rewinding back by four years

It all began in April 2010 when the then CEO of Apple, Steve Jobs issued a public letter titled “Thoughts on Flash” dismissing it as platform no longer relevant for web based content. All of a sudden it sparked debates in the media and developer circles with HTML5 by being pitted against Flash, threatening to topple it down. The general opinion was that HTML5 is King and will change the way people look at content on mobile, as Flash will languish in oblivion.

As time passed, the glory of HTML5 starting fading a bit. In 2012 Mark Zuckerberg was quoted saying at the Disrupt conference that his biggest mistake was “betting too much on HTML5 as opposed to native”.

In 2013 LinkedIn too switched from mobile web-based apps to native because of performance issues and crashes.

In 2012 at the Intel Developer Forum, Intel admitted that HTML5 was over hyped, while continuing to be a strong developer supporter for HTML5 development even today.

HTML5 games was a small, almost non-existent market.

Back to recent times

Times are better today. There is still a constant conflicting debate on whether HTML5 is sustainable in comparison to native or platforms like Unity.

Native and web based apps can never be compared because they both work differently. While a native app runs on a mobile’s OS and machine firmware, HTML5 apps run within a browser. It is upto project stakeholders to decide whether their product is best designed for native or web.

SpilGames and SoftGames have the largest catalogue of casual HTML5 games. They have built this catalogue to target their casual game audiences that play games on the web. They along with FGL are encouraging developers with an ecosystem that includes monetization across platforms. Amazon too has started excepting HTML5 web apps.

GREE, a Japanese social games company recently announced a shift of focus from HTML5 to native apps. I don’t see this as a news that will damage the current HTML5 ecosystem. It is known that HTML5 can never compete with console quality games, especially on mobiles. What HTML5 can provide though, is quick access to games when a user visits a website without having the pains of connecting to app stores, downloading content or paying for it. HTML5 is best suited for quick game-plays and easy discovery through web browsers.

What I also loving about the platform is its community. The community is responsive and constantly building and improving frameworks to make the process of HTML5 development easier.

So to sum it up, the adaption of HTML5 has been like a wave curve. It’s seen adaption and  abandonment. The platform is yet evolving, and it’s only going to get better, while mobile phones will get more powerful.

If you have thoughts on the HTML5 ecosystem please feel free to share it. I to hope continue sharing more articles on developing games and apps using HTML5.

Also check out

Chrome experiments; they have some fantastic work but never tested them on mobiles

Mozilla Developer Network

Mariam

Stop That Silly Chicken game for iPad

Stop That Silly Chicken

With the successful release of “Stop That Silly Chicken”, it is heartening to say that the game was developed using Adobe AIR for the iOS platform.

Stop That Silly Chicken is currently available on the iPad and iPhones. The game uses Milkman Games native extensions for social media and advertising. It also uses a native extension for in-app alerts.

Silly Chicken is a character owned by 9X Media, a brand providing entertainment on television through their various music and cartoon channels.

The game concept revolves around Silly Chicken who runs around a kitchen table in a quest to steal and break the eggs kept safely in a bowl. The player has to tap Silly Chicken before he reaches the table. The player can collect game coins from piggy banks and use them to make purchases from the game store that will make it easier to trap Silly Chicken. The game has 2 modes – Survival and Time mode and both are easy to understand and play. The game is completely free using an advertising model with Admob.

I’ve been reading the comments of the players since its release and glad to see it being liked. It seem that the idea of tapping Silly Chicken and seeing its reactions through different animations is funny for many.

Please download the game if you haven’t already and spread the word about it!

Mariam

The story of Adobe AIR and game development

Will Flash ever be able to get rid of it’s tag of being a quick prototype and animation tool? In India where we have a large developer base working on small games and animations for the web, the stereotype that a lot of people hold about Flash will probably always stay true.

Whenever the word Flash appears, people expect magic and quick turnaround times with development. At such times, the fact that “Flash” is going to be used for a more a sophisticated development on limited memory devices is completely ignored.

Whenever we begin work on a game on iOS or Android, my first suggestion is that if technology is not a restriction, we can provide game development services using the Adobe AIR platform. Most of the times there is never an argument on that because we are trusted to know our work well and deliver projects according to the brief given to us irrespective of the framework or tools.

The trouble comes when I explain what Adobe AIR really is. The fact is that Adobe AIR is a cross platform runtime using Flash and AS3 to write applications across platforms. But on hearing the word “Flash”, there is an instant expectation of quick results even for complex games.

So I’m sharing a list of of points that I felt kept coming up during AIR development on mobile/tablet game.

  • Development with AIR may be familiar ground because of AS3, but the development workflow is the same as with other technologies, especially with good OOPs practices.
  • There are plenty of frameworks available which provide support to Adobe AIR to enhance game development. A developer who wants to give the best to the project considers the time he/she will be spending on including those frameworks in the game.
  • Development of game logic or controls is not about copy pasting code from different places. Each game logic has its flow and limitations which cannot be solved by existing code (unless if it is a port of a game owned by the developer).
  • Mobiles have limited memory. There is a possibility of the game taking up too much runtime memory thus leading to crashes and low frame rate. Optimization of code and graphics is top priority when developing for non-web platforms.
  • Sprite sheets, no matter how much fun they may be to work with, are not easy for replacing the graphics in a game.
  • Compilation of game for devices take time. The workflow of deploying and debugging a game on devices is a time consuming process.
  • Comparison to an existing game is fine, but assuming that the game could have been developed in 2 days and wanting the same time frame for a new game development is an unheard story.
  • Any existing game code of a web game cannot be picked and pushed on Adobe AIR. If the game was developed using AS2, the process of converting the code to AS3 is tedious. What’s even more tedious is optimizing badly written code.

I’m ranting about the way game development with AIR is thought of by some people in India and it really saddens me to think they take it for granted. I know this will change over time, but till then we have to bear the brunt and keep educating people about it.

Mariam

Adobe ships Flash Player 11.4 and AIR 3.4

Adobe has released the new version of the Flash Player 11.4 and Adobe AIR 3.4. The runtimes have a list of new features, enhancements and bug fixes. Adobe has also upgraded the technology behind the AS3 Reference for the Adobe Flash Platform (ASDoc).

The updates to the runtimes are very critical, especially for mobile development. I had filed a bug about using the Adobe Native Extension (ANE) with Adobe AIR 3.3 on iOS some weeks back. Hoping the new release would be easier to work with ANE.

Flash Player and Adobe AIR Feature List

ActionScript 3.0 Reference for the Adobe Flash Platform

Mariam

Store Wars for the Game of Phones

Apple iTunes and Google Play together dominate consumer attention for application downloads. But when pitted against each other, they can get quite competitive!

App Store Stats

Stats say, Japan is amongst the top 3 countries for app download and revenue on both the stores. It is also amongst the Top 3 for the fastest growing markets for revenue. US and UK are also amongst the top 3 countries.

Google Play considers Brazil to be amongst the topmost countries to tap in terms of revenues expecting 88% growth.

India even with its large population would take some time to build a profitable market for smartphone apps because we still have a majority of our people using feature phones/low end phones.

Mariam

Book Review – Introducing HTML5 Game Development by Jesse Freeman

HTML5 Game Development

The Introduction to HTML5 Game Development has been one of the most easygoing readings I’ve had in the recent times. Written by Jesse Freeman (@jessefreeman), the book has language which is simple and crisp, without being over-the-top technical. It comes with well written examples and steps to take you through the process of game development.

When I first read the introduction, I was curious to know more about the contents. The book was small with just over a 100 pages, so I was sure that reading it would not take me more than a day or two to complete it.

The book takes you through all the steps that are typically followed in a game development cycle. The good part is that it covers the entire cycle with a single game giving more emphasis on learning techniques rather than writing game logic. Infact I was very glad to learn about the process of creating sprite sheets in Adobe Photoshop using scripts (something I had never attempted before).

The book speaks extensively about the Impact JavaScript Engine for HTML5. The Impact engine has many pluses including running on almost all HTML5 capable desktop and mobile browsers. The only minus is, the engine is not open source and there is no trial version available. The engine is priced at $99.

Personally, I have never been a fan of any engine or framework that is not community driven, but some of the games created by Impact are very impressive. Developers who want to invest in writing high quality games across browsers should consider it. There is information in the book on setting up the development environment to get you started.

Overall, the book is well written but more suitable for developers who have some knowledge of writing games. The book can be downloaded from the link below –

Introduction to HTML5 Game Development published by O’Reilly

Some other useful links –
appMobi Game XDX
Point of Impact – Resources relating to the Impact Game Engine

Mariam

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