So you want to be a games programmer? The only thing better than playing games in my opinion is writing them Whilst it can be hard work learning to write computer games, it is also incredibly rewarding.
Where Do I Start?
There are many possible languages for developing mobile games. From my knowlwdge, my personal advice is J2me or Brew. I chose J2me right from I started on mobile programming coz there were more resources online to help me. so the next step is to get a good understanding of the language and its device support. First decide on what is your goal(the game). then look in to the resources you need. now you are in the way to choose the language where you getting everything for your game.
Decide on which Language.
Now deeply try writing some code with the API's the language supports. if you are going to write a platform game, try some code with Layermanager, Layer, Sprite, etc. if your are going to write a 3D one then try with JSR184.
Know yourself as Mobile game developer:
We all learn differently. Some of us learn best by reading books, others learn best by example. Find out how you learn and use this knowledge in your choice of learning materials.
Don't give up! There will be points where you will be ready to give up. You are bombarded with so much new information that it can seem too much. However stick at it, break problems down into smaller steps, and one day your name could be on the next big release - good luck!
Now How to start a new game?
This is the one important thing to be decided and well planned before you start a new game. When it comes to game programming , the engine archietecture you design is the most important and effective one. I have had times when I have to rewrite all my code from begining because of some small issues. first design the archietecture for the game engine class. then take it to some forum and find if it is ok for your game. if you think not to release your idea on game engine. you should dare to recode from scratch at anytime. amy be if you are interested, I can give you an advice or review on your design.
Essentials for mobile game programming:
To start with mobile game programming, you must need one of the following development tool kits for corresponding platforms.
No Platform Foundation IDEs
1. J2ME java Eclipse NetBeans.
2. Symbian C++ Many choices.
3. Python Python Eclipse with plugins.
4. BREW C, C++ Visual Studio
5. Flash Lite ActionScript Macromedia Flash
I prefer J2ME since you can get a lot of resources and sample code, and clear your doubts easily. You usually get emulators with the IDE. In case of J2ME, you get a good Emulator. But in most cases, for commercial release of any games and applications, you cannot depend on the Emulator alone. You definitely need to test them on the exact mobile series. A good recommendation for testing is to outsource it to another company for commercial use. Coz, if you think it's important to add up your number of products, it's a tough job for you to concentrate on testing. If you are a beginner trying to learn on mobile programming, you can do with one Series 60 mobile probably a Nokia 6600 will do a good job.
Now After getting used with this, you need to decide on these things before you really start coding:
1. Basic Game Design.
2. Coming Up with the Basic Idea.
3. Developing the Storyline.
4. Establishing the Play Modes.
Getting into Coding:
1. First Job is to explore the API given. Without the complete knowledge of the available APIs of any platform, it is not good to start with coding. Coz, you will end up with coding 1000s of unnecessary lines instead of using a simple API function.
2. Understanding the devices that the code is going to be supported, and their specification: screen size, Processor speed, Image Format support and Audio format Support.
3. Building the Skeleton Program.
Effectively using javax.microedition.lcdui.game:
GameCanvas a new package which was included in MIDP2, has the most effective and smart base class for 2D game developers. The effective usage of this package is very important in 2D game development in J2ME. More the inbuilt APIs you use, the more is your code efficiency. GameCanvas package contains the following classes:
GameCanvas - The GameCanvas class provides the basis for a game user interface.
Layer - A Layer is an abstract class representing a visual element of a game.
LayerManager - The LayerManager manages a series of Layers.
Sprite - A Sprite is a basic visual element that can be rendered with one of several frames stored in an Image different frames can be shown to animate the Sprite.
TitledLayer - A TiledLayer is a visual element composed of a grid of cells that can be filled with a set of tile images.
Since there is much more good specification and introduction about these classes online, I leave this chapter with this. You can read the suns spec to know more about these class.
Mobile Game Development and Solutions.
Mobile Game Developer
Blitz Technology Solutions