29.02.2012

Programming and porting of mobile games

Amos Laber, an independent developer from Toronto, shared his thoughts on working on mobile games and porting them to various platforms on his blog. 

Platforms

First of all, it is necessary to decide on the platform,” Laber believes. – A beginner and an independent developer, as a rule, does not have a lot of funds, so if you want to make a really high-quality game, develop it initially for a single platform. If it becomes successful, you will always be able to port it to other platforms in the future.  

And then another question arises – which platform to choose to start with. Moreover, those who develop a casual two-dimensional game often rush not even between two or three mobile platforms, but meanwhile, whether it is worth making a desktop game for Facebook or a mobile project for iOS. 

In fact, both platforms provide access to a huge audience, both support both microtransactions and social functions. The only really big difference between the platforms is in the games that are popular on each of them. 

However, already now this line is being washed away, so that the differences between the platforms become purely technical. 

Porting

Porting even a great game can be a tedious task that will take a lot of time. Unlike AAA games, where, as a rule, cross-platform engines are used, which allow you to write one code for several platforms, casual and mobile games are often completely rewritten when porting. This is another reason why you should still focus on one version and polish it, and then start working on others. 

It often happens that a game that has become popular on any one platform is ported to another only six to twelve months after the original release. So it was with Angry Birds, Where is My Water?, so it will be, judging by the latest data, with Temple Run. 

In each of these cases, the developers spent large sums on creating the port, possibly quite comparable to the cost of the original. And, of course, as already mentioned, time. 

However, with a careful approach to design and careful planning, it is quite possible to release two versions of the game for the price of one. This is, let’s say, one of the approaches: initially, to make code fragments and assets easily portable from platform to platform (modular approach). 

However, in this case there are many problems. When programming the source material, you should immediately take into account all the variety of tools, systems, programming languages and, of course, the hardware on which you are going to run your game. It’s very difficult. In addition, there is always a risk that when developing a product suitable for all platforms, it will not work properly on any one. 

Of course, some of the problems can be solved by using tools like Unity 3D or Corona, which are suitable for several platforms at once, but in this case the developer sacrifices the flexibility of development. And sometimes the restrictions are very serious. 

So, ideally, you should develop one game for each platform separately: using native tools and libraries for it. 

Recommendations

Below are the key principles that you should start from when developing a game if you want to port it in the future:

– Use common data types (for example, bitmap, sprite sheet, etc.)

– Take care of good tools for the preparation of graphics and game resources

– Use an object-oriented programming language with strict typing and a development environment with a good debugger

– Take a well-established framework as a basis

Yes, when using Facebook Flash, it is better to use AS3 as a framework, and with Cocos2D – Objective-C.

Comments
Write a comment...
Related news