Monday, June 16, 2014

Space Trap I- My new game on Appstore

Space Trap I


After a long time and hard work, finally launched my new game space trap I. This game is departure from my earlier games which were social games and had to be played between to players turn by turn.

This game is played individually by clearing multi-levels and episodes.

Story begins …

Space Trap starts with aliens with sinister design steals the earth magnetic field. Earth is on brink of disaster with entire world turn upside down.  ROCKA the super –hero is called in to save the Earth. Earth is put on life support on the local magnet providing the magnetic need of the Earth. Now ROCKA must travel to fight aliens’ and get back the earth magnetic field.

Aliens have put in the maze of hindrances blocking the highway to their homeland. Now, ROCKA must solve each maze by aligning the planets in vertical line to clear the highway.
The matrix of the planets though shown in 2-dimension is spherical with space-warp; planet moved further down re-appears from top and like-wise for horizontal.
The aliens try to defeat ROCKA with multiple tricks –
  1. Blocks – These are blocks which block high way movement. And restricts the alignment by blocking the movement.
  2.  Space Warp- there is special worm-holes created by aliens in middle of highway which warps the planets and further wraps the planet in middle.
  3. Skulls- These are like asteroid bombs by the aliens which ROCKA has to move out of the highway for alignment.
  4.  Hidden Planets – These are hidden planets which are revealing only after ROCKA can solve the stage 1 problem.
  5. High Speed Lanes- these are special lanes which moves double the speed than the other lanes. 
 

Further up …. Many more challenges….


ROCKA Powers

ROCKA has some super powers up his sleeves to defeat few of these challenges posed by aliens-
  1. Transformer – a magic power to transform the asteroid bombs into normal planet which can then be aligned.
  2. Shape Shifter- a power to change shape according to its surrounding; align with majority of the planet.
  3. Space Bender- A special launcher which create space warp by bending the highway in middle.

And many more powers….

The challenge of getting the planets to align along highway is a challenge ... The difficulty level is slowly sets in ....

After 25 levels, game gets very difficult to solve. Even for game addicts of puzzle solvers are finding it difficult to solve unless  they realize the trick. 

After 3rd episode, game is a real challenge even puzzle master solvers.   

The Trick

But there is a small trick (a small little secret) where the planets are aligned column by column should be aligned but the last row/column (which are kept for free movement). 
On solving the matrix but last row, i.e. last row is solved by bringing the last planets of last row in row order as in first row. This could work by moving the planets up in last column and bringing it down on same order as first row. 

Mode of Play

Space Trap is played individually without going online.  The game is without any kind of advertising. Facebook login is provided if you want to compare your friend’s progress against your own. Facebook API are also used for allowing you to request for your friends for life, episode unlock and moves for helping you to solve the levels.

Game was introduced to for beta testing to few game addicts during its pre-launch but only hard-core puzzle solvers could reach its level 26. After which it gets really gets tough with new twist and turns introduced on each level.

It needs smartness of problem solving and pattern recognising.  The game starts with all aligned planets and randomly shaken to misarrange the planets with series of complex vertical and horizontal moves (in range of 25-35). So ideally, person can solve each level in less than 25 moves.

Technical

Space Trap I is built in Objective C using XCode. It has been built using storyboard.  Use the ARC for memory management.

The major component used are:
  1. Facebook iOS SDK : For integration with Facebook
  2. Bug Sense             : getting crash reports
  3. Localytics             :  For analytics
  4. Google Analytics    :  For analytics
  5. AFNetworking        :  Server connections (data sync with server behind the scenes)
  6. ObjectAL               : Audio 

When game is played as a facebook user, the game records are synced with server database behind the scenes. This is in case the game is deleted from the device; the data game is synced back to device on re-login from the same facebook account.

No advertising in the game but we however advertise Space Trap in other games so for that we have incorporate Mobile Advertisement Tracker , Tapjoy, Charboost etc.

For Notifications, we use only local notifications.  




Next blog ... On life cycle of developing a Appstore game ... 

Friday, March 1, 2013

Starting out on your own business venture


Starting your business venture is very complex thing in India. There are various hurdles to be crossed before you can get your venture going. I started out in my venture for development of my software firm which will be developing solution for mobiles and web. Our first product was IPhone game WhatZOdd.

We started out with our business plan; choose our product model and financing options.

Technical

  •  Business Plan
  •  Business Model
  •  Financing Options

Business plan highlighted our entrepreneurial vision, describing the strategy and operations of the venture.  We thought about of our first product, and decided on our location of business. We also did an exhaustive research on our chosen product and the field to understand how are the product released in the market and revenue generated.

Business Model, we decided on venturing into the path of product making Social Networking products for Mobiles and Web. We decided not to go into service industry.

Financing options, we were self-financed.  My partner had experience in Investment Banking and decided to take on the finances, marketing and revenue area. I, with my experience in Software industry took on the Technical Role.

We also decided to keep our company lean with only experts.

Recruitment, is a very tedious process in itself.
But with professional web sites like Naukri, Monster the process of advertisement is now made easy. You can either do the one-time with Rs. 2000/- each ad or subscribe. We went in for one-time Ad paying Rs. 2000/ each time.

Response of the Ad is usually very good with more than 1000 resumes but the quality is generally very bad.


That was easy part….

Now comes the difficult part of running a company …  The regulation compliance.

Regulations
But along with technical aspects, we also need to draw up the comprehensive list of all the compulsory regulations which our business entity needs to follow. Ex- Registration of the Company, Taxation, Licensing requirements etc.

  • Registering the Company, 
  • Aquiring DIN
  • Shops and Establishments Act
  • Board resolutions
  • Opening Company Account
  • Round and Director Stamps
  • Tax Compliance, PAN, PTE, PTR

Registering the Company, first hurdle was incorporating our company, Siddbetter Pvt Limited registered. In India companies are governed by the Companies Act 1956. The Registrar of Companies (ROC) controls the task of incorporation of new companies and the administration of running companies. This process requires interacting with Ministry of Corporate Affairs (http://www.mca.gov.in/).

The laws are so complex that it is better to hire a CS (Company Secretary) for this purpose, as we did.

For purpose of record let me list of the procedure – of Registration

Our company was to be registered as Private Company, thus the Siddbetter Technology Pvt. Limited. It needs to have minimum of 2 members.

The following documents are required to be filed with the Registrar of Companies:

  • Memorandum of Association (duly stamped) and a duplicate thereof.
  • Articles of Association (duly stamped) and a duplicate thereof.
  • The agreement, if any, which the company proposes to, enter into with any individual for appointment as its managing or whole time director or manager.
  • A copy of the letter of the Registrar of Companies intimating the availability of the proper name.
  • e-Form No. 1 (with prescribed stamps) for incorporation of a Company.
  • e-Form No. 18, if desired for change of situation of registered office.
  • e-Form No. 32 and e-Form 32 Addendum

Acquire Director Identification Number (DIN) for all the directors of the Company.

Shops and Establishments Act, business entity is compulsorily required to register itself under this Act within 30 days of commencement of work.

For getting the shop act, document needed,
1.     PMC bill/ MSEB Bill of Rental place
2.     Registered Leave and license agreement (not only Notarized agreement) between rented place Owner and Company having clause that Company will use place for office use.
3.     OR No objection certificate from Owner of Rental place owner that he has no objection to use office for Company. This NOC should be notarized on Rs.100 stamp paper.  

This was our single biggest hurdle in our case due to not owning the place in our location of Business.
We took a rental with Regus which provides offices for rent.  

We entered into agreement with  comment section which they said while agreement are just formalities like –
Kitchen amenities charges per employee – Rs. 2500/ per month. While there is no kitchen and they also do not allow the use the pantry for lunch. Because they are selling that space for business. Calling "Business cafĂ©" , which we later came to know. Hopefully, they do not have “Business washroom” which is used only by their business for doing business.

After, our agreement was ending we were again sent the new bill,
Charges – Business Continuity @ Rs.5000 per month for 3 months, which they said you had agreed on during signing agreement.  Again this was in comment section (giving no understanding). Why do you force business continuity when the client does not want it. Cheats!!

Next Charge- Exit Clean @ Rs. 1000 psm. Rs. 9000 for us. There is no end to their charges under every possible ridiculous heads.

My advice to any Entrepreneur, read through the agreement 100 times along with your  legal advisory there is every possibilities of fancy looking words which goes without notice end up legal complications for you.

Every decision in a company like opening a Bank A/C , deciding on the office, loaning of assets etc. all require Board Resolutions with proper notice, proper attendance, and then formal resolution on the letter head of the company.
Get ready for board resolutions for each and every decision making.


Opening an Company A/C, opening a current Bank Account is mandatory. As soon as your company is registered. Entire world knows about it. You will start getting calls from Banks for opening the A/C.
Select a bank with proper care. Fill in the form yourself properly because if you do not they fill it Bank fill it themselves with any name, with any role which may later look very ridiculous. Like your name in Bank as developer etc.  

Making of Round and Director Stamp, round stamp of company is mandatory requirement  and  goes in for all legal works. Director stamp which is rectangular is broken at side.


Regulation Compliance kicks in for any change in company 
Plan and think about your company expense based on you company model.  If you are going to make changes in your company like adding new Director, increasing share capital.
Everything costs money.


TAX Compliance,

Income Tax
Ex- increasing share capital from 1 lac to 4 lacs can cost you more than  Rs. 10000 as fees.
Taxations, companies have to file their income tax returns. Companies apply for PAN and provided the PAN# just like us.

This PAN is used for filing income tax.

Payroll
Other than its own tax, company also has to deduct taxation of its employees Tax Deduction at Source (TDS). Submit the taxes in government treasury and provide the employees their Form-16 the end of fiscal year.  Paying salary, deducting taxes making pay slip is all part of Payroll process.

Professional Tax
There is one more tax, call professional tax which is pay to the government.

Company also needs Professional Tax Enrollment (PTE) under which the Professional tax of its employees needs to be submitted. The Professional tax is deducted for each employee each month and deposited every month, but return needs to be filed each quarter.
For non-employees, Directors who are not being paid salary give one time Professional Tax of Rs. 2500/- each year before June. And there needs to be Professional Tax Registration (PTR) for each Director.  For delay in payment, there is penalty of Rs. 2 per day.


 This has been my learning till now... I will keep posting as I learn and experience more....

Tuesday, December 18, 2012

WhatZ'Odd - Client Technology

WhatZ'Odd iOS Client is built in Objective C using XCode.  It has been based on storyboard, viewcontrollers etc. Use the Automatic Reference Count (ARC) for memory management.
The major component used are:
- Facebook ios SDK : For integration with facebook
- Twitter  ios SDK : For posting tweets.
- XMPP             : Chat and buddies
- BugSense         : getting crash reports
- Flurry               : For app analytics
- AdWhirl          :  For advertising in game

Next releases:
- Apple PushNotification : for notification to mobile devices


Experience: 
Objective C is quiet similar to C++ in programming style. The toughest part of coding in Objective C was thread management. The code extensively uses the background thread for heavy perocessing leaving the main thread to respond to the users.
- And with use of Core data  and background thread there is lot of  synch and management of htreads upding the core data
- Also difficult part was the animation while navigating to different views.

Still improving ...


Thursday, December 13, 2012

WhatZOdd - Securing purchases

Today, We got our first dose of hacked App Store purchase in WhatZOdd.

In App purchases are built in iOS device by sending the request of purchase to App Store along with purchase details. Appstore verifies the payment transaction and authorizes it. App Store sends back the purchase details among which is the reciept and transaction identifier.

Now, these is this  iAP cracker built by "urus" which is run on (jail broken) iOS device which  intercepts the AppStore request and sends back fake receipts back to the game.   The game on receiving these receipts assumes that payment transaction went through and authorizes the payment.

Game on client device can verify this receipt for its validity by checking with AppStore but again this appCraker intercepts the request and send the valid receipt message.    

This is quiet a  challenge for games running on client only model.

But, since WhatZOdd is a server model, receipts are received by the server and validated at server-side. This circumvents the crackers' interception of AppStore requests.

We also caught the culprits making these purchases and disabled their account.  The dubious purchases are easy to catch by looking at their identifier and making offline validity of receipt at AppStore.


Also created a twitter account for small tweets experiences -
 https://twitter.com/kapilsiddharth1

Wednesday, December 12, 2012

Making of my iOS based game WhatZ'Odd

For past few months I have been very busy setting up my company Siddbetter Ltd(http://www.siddbetter.com). We are a gaming company and would be making mobile games.

I released first version of  my game WhatZ'Odd in App Store  on 29th Nov. This is a social game and has architecture of client-server. 
Short preview of WhatZodd:
Client is iOS device off course. 
  - Game is built in Objective C , language for Mac development. 
  - Game interacts with Server using JSON.

Servers are hosted on Amazon Web Services. 
-  EC2 servers
-  RDS MySql Database instance
-  Ejabberd Server for jabbered based chatting.


In coming few days I would be blogging about my experiences and learnings in making this game. So keep watching ...


In simple terms if I had explain what can this game do-

Hider can change the image like 2 I did for fun  -



Using a simple editor which is touch based, I added a car, cloud and man walking. 


The objects to be added are chosen for vast library we provide in the game and can be cloned, swiped to vertical/horizontal flip.


The changed image is sent to the friend and friend has to tap on image object he thinks was not in original picture.  He has 5 chances to identify the 3 right objects. 

If taps on correct object the object disappears in  puff of smoke or else the is lightning for incorrect identification.

Visit http://whatzodd.com/ to learn about the game. 

Tuesday, April 24, 2012

Future Technology Trends


·         Collaborative Enterprises
·         Social Networking
·         Mobility Computing
·         Cloud Computing
·         Openness – Data, API, Services …
·         Smarter businesses
-          2.0 Conceptualizing for all businesses
-          Advance Actionable  Analytics
-          Smarter communication infrastructure (Connected, Monitored, Healed, Predictive Analytics)
-           Merge Access Channels
-          Standard Business Ontologies
·         3.0 Intelligence on Web
-          Semantic Lined Data across Web
-          Automation using linked data
-          Bigdata
  

Tuesday, April 17, 2012

Setting up Centre of Excellence



Why?
The IT landscape is vast and disruptive. The change is so fast and disruptive that technologies of today get obsolete and new innovative technologies emerge. Keeping up with change with the pace of technology change is a full-time job.

Recently several IT companies have started with the trend of setting up CoE for various IT Practices. These CoEs are organized as supporting group to IT Project Deliveries. These CoEs are usually maintained as shared corporate group to service the Delivery Groups which service the customers. They are also organized as horizontals which provide the cross-cutting expertise to the Delivery groups.

The main concept of CoEs is to build skills and competency on the shared line, which could be organized based on the requirement of exploring or change in the space, to sustain the execution of their initiatives in projects. The CoE brings to the table their competency to provide guidelines, principles, methodology, best practices and architecture decision support.

Types?
CoEs can be of many types.

·         Technology specific
-          Area specific: Application Server, Web Servers, Databases, Data warehouse, Cloud … are organized keeping in mind the products of similar types are usually similar although from different vendors. The best practices of a product in one space usually apply to all products.
-          Vendor specific: Oracle, Microsoft, IBM,  … these CoE try to leverage the accumulated experience of resources working on specific vendor products due to mapping with customer product specific requirements.

·         Service specific
-          Project Lifecycle
o   Developers, (Java,.Net or LAMP) which brings the development best practices to the project. These CoEs explore the new frameworks in respective languages, train and keep the resources up-to-date, and maintain the best practices in development methodology these platforms. They promote the optimum and right way of using the technology, its tools and associated product in the development life cycle.   These CoE may be only academic providing the training and guidelines or may support staff augmentation.
o   Testers, from Testing CoE community, brings the experience of testing. It could bring in the expertise of testing space- automation, manual, tools for functional, performance testing etc.
o   Architecture, from architecture CoE community, brings the experience of Architecture creation. This CoE
-          Datacenter, Infrastructure and Networking  Services
-          Solution & Strategy Services


Setting up
·         Charter
o   Strategy & Vision, Setting up a Mission statement, charter, and goals clarify the purpose and scope of the COE. Ensures the vision of COE aligns with business strategy and maintains a set of key technology themes for their line. It defines various business problem will the CoE solve.
o   Establish broad  scope of activities
o   Establish and monitor standards setting process, and a means of communicating those standards, a way of monitoring adherence to the standards, and a process by which standards can be challenged and evolved
o   Mode of working, define establish procedure for relationship with other CoE, SME and Project groups
o   Governance and Monitoring - Establish and effective governance process to ensure CoE provided guidelines and standards are being applied
o   Evaluate tools, products, and architecture making recommendations and incorporating approved items into the IT standards and guidelines and fostering its usage promoting development of a Centre of Excellence in IT standards and governance

·         Secure Sponsorship and funding from Senior Management
An initial investment invisible support, time and funds are necessary for any cultural change in an organization. Setting up of CoE is no different and needs continual support from senior management to push CoE agenda through; this could be in form of initial mandate or incentive to use the CoE services.
Aligning the other departments favorably towards new CoE helps in the evolution of CoE and building its credibility.
Many of CoE have failed due to-
-          Lack of visible sponsorship from senior management
-          Lack trust with various departments
-          Political issues like existing department refusing to let go

·         Selecting Leadership and Organize the COE
Some other top reasons for failing of a CoE initiatives:
-          Weak leadership leading to ineffective decision-making process
-          Not anticipating and proactively solving people issues
-          Not right skilled people are involved

Hence, selecting a right leader and supporting him to set up a CoE is the top most reason for failing of CoE initiative. Leadership selection must be based on skill rather than based on political affiliations.

·         Making CoE Operational
(specific to CoE)

·         Governance
Any process without monitor can provide last minute surprises.  With CoE operational and a defined time frame provided before CoE can start providing its returns, a governance team may be set up to monitor the CoE working as per its charter. This may be a forum to thrash out start-up issues like inter-departmental issues, people issues, infrastructure to support (with the appropriate tools and training), and transfer of activities to new CoE etc.

·         Marketing the COE
CoE is like an organization or separate entity and may require some marketing by its team to spread awareness about its strength, a rich repository of frameworks, case studies, which promotes is usefulness to the other departments.
After initial, setting up support from senior management, CoE competency and credibility will carry it forward. CoE may also use its marketing material to sell its service directly to an external customer based on its maturity for advisory support and consultancy in addition to supporting project teams.

·         Measuring CoE performance
Any planned organization initiative needs to prove its ROI to be continued. This cannot be successful without baselining/metric/system to measure progress. Hence, before the start of CoE based on decided realizable benefits metric needs to be agreed upon to measure the success of the CoE initiatives.
This metrics system should be in place for any CoE initiative to measure it own initiative success measure.

·         Optimizing CoE
This step completes the CoE cycle of PDCA plan–do–check–adjust. CoE with measuring its performance and its various initiatives should analyze the outcome and optimize services based on its working.