A Silent Wood: What’s happening now…

It has been months since my last post. I was procrastinating writing this for a long time and decided to write this finally.

“A Silent Wood” became No 1 Top paid RPG app in Google play and made it to the third rank in top selling new apps as well.  It went up to 37th RPG game in Apple Store. (all in US stores) It has got 843 ratings with 4.33/5 as average.

Screen Shot 2014-06-10 at 11.53.11 am   Screen Shot 2014-06-16 at 9.43.51 am

Links: [A Silent Wood iOS ] [A Silent Wood Google play]

So, how much did A Silent Wood make? Am I millionaire? Hold your breath…. Here it comes…

Altogether, it made $5252.03 from all stores in last 5 months. 😀 (I am still laughing at the millionaire question. )

So, let see how much each platform made. Google play Paid Version made $4465.71 and the free version with Multilingual Support made around $5. One day during the peak of “A Silent Wood”, I sold 435 copies. It was the day, my app was featured by Tim-o-tato on Droid-Life. I am very thankful to him.

And, the paid iOS version which supports many languages, made $479.25 and the deleted free version made $307.07.

The Amazon app store made no money at all (Sold only one copy so far).

I spent around $450 on this app, for assets and translations. I used elance to find translators and proof readers. That investment on translation went totally useless. It had no impact on sales from the countries I targeted (which was almost nothing) .

I got the app translated into French, German, Spanish, Portuguese, Japanese and Korean and knowing the nature of the customers in those country I created a free app with in app purchase to unlock more content. And, the result is hilarious, because No one bothered to even download that app. That means, around $400 went down the drain. Anyway, I got some good experience in communication and delegation. And, I got to meet some hard working, nice people.

With this extra money in hand, I decided to do two things.

First, I concentrated on getting a driving licence. However, I  a wasted heaps of money on Driving Tutors and by failing the exams. After struggling over 10 weekends, I managed to get a licence. Now I want to help those new learners who make the same mistakes I did: Of course with some driving related apps. Let’s see how it goes.

Secondly, I bought a return ticket to my home country. Therefore, I am going to be spending some time with my family this Christmas, after 3 years. It will refresh my mind. Thank you all who purchased my games.

With the rest of the money I bough a Smart Camera and few Studio equipments (including professional Mic and lightings) to keep a youtube channel where I can post my learnings on Art and Illustration (That’s why I started this blog). I hope to start that soon because the requirement to produce content will drive me to draw often (I hope so).

My first two games went unnoticed, though I believe that they deserve some recognition. Then A silent wood made some money that is a good return for the time invested. However, I am not sure if I write a new game, will it make any money or not .

Anyway, please try my first games if you have time.

iOS: [ (Slayer Bird, Creepy Leg) ],

Android : [(Slayer Bird, Creepy Leg)]

And, let me know if you are an artist and have any game ideas where you would like to work with me. Cheers. 🙂

A Silent Wood 2.0 Update (android port of A Dark Room)

After I was encouraged to come up with my own story for my port, next morning, on my way to work on train, I came up with a cool story. It had a legacy portion as well as something which perfectly fit the current version. I was very happy about my creative part of my brain, which normally struggles to boot up. However, the story required new elements in it: that means more work. It took me solid 18 hrs to create the new version and I published version 2 of it in Google Play on  May 31st.

Before publishing, I made sure the new story doesn’t corrupt the game play of those who are already playing. I went through the game few times and then when I felt satisfied, uploaded the apk. On June 1st I received 3 bad reviews saying the update has screwed their game. Since I did not have any logs, I painstakingly went through the code for an hour to spot the culprit code. Once fixed, Everybody who gave bad reviews updated it back. Thanks guys, you are  awesome. Now the App has 4.1 average rating.

The updated story has 2 more elements which are important in the human history. They will make the game play totally epic and interesting. I’ll upload the iOS version tonight, so it should be available sometimes next week. There will be a paid version for those who like no ads, as well.

App is currently ranked 23rd in Top Paid New Apps in google play. A Silent Wood

A Silent Wood – Update

Yesterday, the App was downloaded 40 copies in paid version and was not making any money in free version. Therefore, I removed the free version from store. Received a mail about that in a few hours from a user. Felt bit guilty about it. And, someone put a 1 star review and brought the ratings down, and he/she did not bother about writing the reason. I should be worried.

It has been 5 days since I put the update of iOS version in the review queue and there is no sign about it being reviewed. Therefore, I pulled the current version from sale. It is not fair to have it more than this many days.

Working on the ‘A Silent Wood’ update at night times, while chasing a deadline coming this friday at work, feels stressful. I missed 2 gym sessions continuously and I am already feeling very bad about it. To add to my problems, I have a family dinner tonight. Keeping everything at balance is tough. But, I am determined to release the updated version this weekend. 

I’ll keep this blog updated about the sales and other news. Thanks for reading.

Download: A Silent Wood

from A Dark Room to A Silent Wood

I changed the name of the App from ‘A Dark Room’ to ‘A Silent Wood’. Because, I was notified that the name is being trademarked and waiting for the final files. It is something like Redhat. Redhat is open-sourced and you can release your own version of it. But, you can not use the name RedHat in your version. Though I was aware that It might take a long time for these trade marking procedure, I did not want to use the loopholes.

I decided to change the name, because I had already started to feel really bad about it. To be fair, that name doesn’t belong to me. I don’t want to earn bad karma. I could already feel the evil inside me.

Therefore, I changed the name and started to promote as ‘A Silent Wood’. App received good reviews and currently had approximately 250 downloads on paid version and 200+ in free version(google play). Free version made about $5 in ads. I received few mails and reviews which complained about grammatical mistakes and spelling mistakes. My English knowledge is very low and I am the only one who does the play testing. I find it very hard to publish something with no error.

I work full time (not in Game Industry) and game development is my hobby. I want to see lot of people playing the game and want to see more good reviews.

So, currently I am adding new elements and story lines to the game and hoping to publish that in the google play store.

I am expecting the iOS version of the game, which is totally disconnected from ‘A Dark Room’  to be released anytime soon. It has been 4/5 days already in the review queue.  iOS version has made around $150 from ads so far. So, I believe it will make $200 before it dies off.

If you are reading this, please checkout the next version this weekend in google play, it will have my own story and more elements added to keep the player engaged.

Download : Paid Version

It totally sad to see my app in google play ranks (top selling new 25th) and not selling many copies. 😀

Screen Shot 2014-05-28 at 4.45.05 pm


A Dark Room Status

Free Versions of ‘A Dark Room’ is now available in both Apple Store and Google Play.  It is 99% equivalent to the original version of it. We just removed the part where all your villagers are enslaved. We think it is good that we forget the dark past sometimes.

You should be enjoying the awesome sound effects and leaderboards which are additions to the original game. If you are stuck somewhere, feel free to flick a mail to ambusedu@gmail.com Or you can comment here.

We are thinking about removing ads in the update following the next bug fix update. Hope you will have fun.


A Dark Room for Android – How I Ported it.

5 weeks back, I saw a game in top of the charts in ios app store. It looked horrendously ugly based on its screen shots. I accused the developer of doing dirty tricks to get to the top of the charts and moved away. Next week, I check the charts and to my surprise the game was still there. The rating were all 5 stars. The iphone users must have gone mad, I thought. I googled “a dark room”, which was the name of the game and it directed me to an online game.

It was during office hours, so I was playing that game between work, and after a while, I realised that I couldn’t concentrate on work anymore. Totally shocked, I started searching more about this game. To my suprise, I found out that the code is open sourced under public licence. I pulled the code, read it and began to port it to android to play it on my good old Nexus 7. I asked my brother who lives in another country to download the game on his iPhone and send me screen shots. (my iPhone 4 is dead after iOS7 update 😦 ) That night he sent me screen shots and explained me how attractive the game was and how it differed from web version.

After 40-50 hours spread evenly over the 4 weekends, I managed to finish the game for Android. I played it thrice and found it interesting every time I played it. The game even surprised its own porter. I salute the original web version creator for creating such a magical thing.

The game gave me a weird feeling of travelling through the human history in just 1 hour. There were few lines about slavery. My programmer mind wanted to keep it. But, I removed it eventually. [ I watched ’12 years a slave’ 3 times and wanted to go back in time to shoot all those slave traders.]

If you really want an immersive experience:  A Dark Room 

Thank you.

ECTube – User Guide

How to Download a Video for offline watching?

Method 1

1. Tap and Hold on the Video you Like to Download

2. Then, drag it to Cache panel and drop it.

download1   download2

3. Select the Quality



4. Once it started to download you can go to Cache folder and do whatever you want.


Method 2:

While watching a Video, if you happened to like it, just swipe down to download it.



How to Delete a Downloaded Video?

swipe left on the video in Cache Panel.


How to Full-Screen / Minimise a Video?

Pinch Zoom in or out.

Step2   Step1

How to Close a Video.

Just Swipe Up



How to see whatever underneath the Currently Playing Video?

Just Swipe left / right.


Flappy Bird and the Game Developers.


trainyard_app_logo It all started with TrainYard, I think in 2010, when an indie developer got his simple app in the Appstore Ranked First. He said it was downloaded 30k times a day when it was at number 1 spot. All the developers were calculating how much money he could have made and started flooding into mobile development. To be frank, I also go into the programming thinking of money , earning millions of money. I had so many ideas for games with so many features and mind blowing effects for each of them. But, It did not take much time for me to learn that it is not going to work that way –  as an indie, you have to work on simple games with the only goal in your mind – Getting as many happy players as you can. If they share some happy experiences with you, it should be your reward and you should just be happy with that. That defines a game developer.



If you have watched “The Perfume” movie, you would know about the 13th note. I believe every addictive game has its 13nth note. When you develop a game as an indie, you might not have the resources to add all the first 12 notes. but, if you can add that 13th well, you might have a hit- Remember -” you might”. I have no idea what that 13th note is, and I doubt anyone have a formula for that, but you will feel it when you hit it.

images (1)  In 2011, with Tiny Wings, the hype started again. Though Tiny Wings was based on an ugly looking flash game, Andreas spent 8 month on searching for that 13th note. Because, if you are a programmer and if you think  a bird sliding on  hills with no purpose would make a hit game, your must be insane. Moreover, that concept is very difficult to fit in to most of the game design theories out there. But, Andreas managed to hit that 13th note. I felt it when I was playing that game even before it became a sensation. I was talking about that game with my friends and colleagues. What was that 13th note? Was it the Smoothness and happiness of that sliding bird or was it the lonely bird relating to us who are feeling left alone in this vast world? I don’t know. But, many of the Tiny Wing clones which came after that, couldn’t hit that extra note. Tiny Wing is still in the top charts raking at-least 10k a day for the developer. He is a real game developer, because if you look at his life before Tiny Wings, he never gave up whenever he missed to hit that 13th note.



Now, lets come to Flappy Bird. Dong Nguyen  took down his precious bird today from the stores. I feel very sad for him.  He has been working in this industry for last 10 years and never gave up. This flappy bird too failed him when it was released almost an year earlier. This qualifies him as a real game developer because he wasn’t there for huge money. I don’t know why he took down his game but, I am sure he will still be making 70k a day from through ads and thousands of his twitter followers will make his next game a hit the first day of its release. It makes me happy.

Flappy bird became famous because few people started a review war based on it. It is luck which made flappy bird to be selected as a game for that review war amongst the millions of mobile games out there. But, you should admit that, flappy bird was not not even close to the crappy loads of its clones out there.  It was a good game.



When I played flappy bird, I felt that it had the smoothness which would have kept me flapping for at least 10 mins if those pipes weren’t there. Those pipes added some gaming  and point systems to it. The hole size between the poles, the distance between the poles, the gravity applied to the system, the impulse applied on the tap – everything was perfect. And the developer knows colours really well too because, the graphics just looked right.  And, he designed that that the bird will just manage to go between the poles if the player taps when the bird is just at the level of the top of the lower pole. I believe it all added the 13th note to the game. But, 13th note is not enough to become success. Because, it would have gone unnoticed as the first perfume which was hiding in the Pyramid for thousands of years (Watch perfume.)

When a player accidentally or by repeated playing FlappyBird for while found should have found out the pattern and then he would have challenged his friends just to see them look amazed at him. And then his friends should have started the review war. But, why this game. I am sure there are at least 50 more games with 13th note lying at the the bottom of the app stores. Those 500 players who played those game would have missed to tune to the 13th note. But  how come this game emerged to from the bottom. I think I can call it “Luck”.

Everyday, thousands of people become millionaire by just buying lottery tickets. It is something like that. Do we envy them ? [ if they are our friends then may be yes, otherwise, No:  We forget about it the next day. But, I met many developers who were having a hatred like feeling towards Dong and his success. To be frank I also envy Dong, because he has the talents to be in the lottery pool. Not every developer can participate in the lottery, because you should make a game which has that 13th note to be part of it. I still don’t have those talents. But, this envy feeling drives me more towards making my first game, because I have never thought a simple game has a chance to get 50+ millions players. I want to make a game which at least could be played by 1000 people. And those thousand people should write to me that they played their game and loved it. So, I am making a simple game now. And, I thank Dong for making me doing that.


In summary, anyone who loves his profession and work hard deserves a success like flappy bird. But, I know the world doesn’t run that way and happiness comes only from appreciation. So, lets make games which will just make some people happy on their way home. 🙂

Quartz 2D : Overview

1. What is Quartz2D?

It is a 2 dimensional drawing engine available in iOS and MacOS  which canuse the pawer of  graphics hardware if needed.

You can use it for path based drawing, painting with transparency, shading, drawing shadows, transparency layers, color management, anti-aliased rendering and pdf generation.

It can easily communicate with core image, core video, opengl and quick time libraries.

2. What is this page concept in quartz2D?

It is like a painter’s canvas, the order you draw matters. A page can be a sheet of actual paper(print) or virtual paper(pdf) or image.

3. What is a Graphics context?

It is a opaque data type that encapsulates the information Quartz uses to draw images on anything,

All objects in Quartz are drawn to, or contained by, a graphics context.

You can draw the same image to different device(printer, window, layer, bitmap or pdf ) simply by providing different graphics context to the same sequence of Quartz drawing routines.

4. What is the difference between Bitmap Graphics Context and Pdf graphics context?

Bit map is a rectangular array of pixels and quality is tied to the resolution at which the bitmap is intended to be viewed. It is not the case for Pdf, the resulting image is optimised for the display characteristics of the device.

Pdf files can contain may pages.

5.What are Opaque data types? Example please.

Quartz 2D creates objects from opaque data types that your application operates on to achieve a particular drawing output.

– CGPathRef : Create vector paths to stroke and filter

– CGImageRef : create bitmap images and masks

– CGLayerRef : Used fr repeated drawing like backgrounds and patterns.

– CGPatternRef : Used for repeated drawing.

– CGShadingRef, CGGradientRef : Used for paint gradients.

– CGFunctionRef : Used when creating gradients for shading.

– CGColorRef, CGColorSpaceRef : Used to inform quartz how to interpret colours.

– CGImageSourceRef, CGImageDestinationRef : Which is used to move data into and out of Quartz.

– CGFontRef : To draw text

– CGPDFDictioanryRef, CGPDFObjectRef, CGPDFPageRef, CGPDFStream, CGPDFStringRef, CGPDFArrayRef

– CGPDFScannerRef, CGPDFContenStreamRef.

– CGPSConverterRef : NOt available for iOS

6. What is the meaning of Graphics state in Quartz 2D?

Quartz modifies the results of drawing operations according to the parameters in the current graphics state. (Just like OpenGL)

For example when you call a function to set the fill color, you are modifying a value in the current graphic state.

7.Explain the pushing and popping of graphic states?

The graphic contains a stack of graphic states. When Quartz creates a graphic context, the stack is empty.

When you call CGContextSaveGState function is called, all the state of the graphic context is saved into the stack.

When you call CGContextRestoreGState, the current state is replaced with whatever saved in the stack.

8. Could you please provide few samples of graphics states that can be saved to the stack?

– Current transformation matrix (ctm)

– Clipping area

– Line : Width, Join, Cap, Dash, Miter limit

– Color : Fill and Stroke settings

– Anti aliasing settings

– Transparency

– Color Space : Stroke and Fill settings

– Text : Font, font size, character spacing

– Blend mode

9. What do we have to worry about Quartz 2D coordinate system?

The coordinate system is upside down of what is in UIView. Therefore, we may have to apply a CTM matrix in the beginning before we draw anything in to the context.

However, If I use a UIImage to wrap the CGImage object I create, the UIImage wrapper automatically does these transformations for you.

10. How do we handle memory management when it comes to Quartz?

If we make anything with Functions which has “Create” or “Copy” or if use “CFRetain”, then we have to call their “Release” counter parts. That’s all.

Quartz 2D

Damn, it has been 5 weeks since I last wrote. I was really bored reading OpenGL for a while therefore I stopped and carried away with the WWDC stuff. While I was watching WWDC videos, I thought about having  a player where you can watch videos at high speed. Therefore I started to write a player app.

It is coming along very well. However, I have to come to a state where I need to write a custom control set which should be written in core graphics. But, I have zero knowledge in CoreGraphics. Therefore the new course begins now.

I want to log whatever I study, therefore I don’t forget everything I learnt after few months.

If we divide the whole document in to different sections, Overview is about 25 pages, Paths section is 24 pages, colors and color space section is about 9 pages, transforms is 9 pages, patterns section is 15 pages, shadows is 2 pages,Gradient is about 23 pages, transparency layers is about 2 pages, data management is exactly 4 pages, bit maps and image masks section is 30 pages, core graphics layer drawing is about 6 pages, pdf related code is 17 pages, and remaining 9 pages is  about text.

So, Overview, Paths and Bitmap sections are the huge chunks to swallow.

I am hyped. Let see how many pages I can finish by today.