Skip to main content
GameDev.net gamedev.net
🔒 Locked

becoming a mobile game programmer,where to start?

Started by jimywang Oct 18, 2004 at 4:36 PM 18 replies 3.2k views
Original Post
jimywang
jimywang
I am not a beginner to game development.I have recently finished my own DOOM clone in C++ with directX, and my main career object is to become a game programmer.but since there is too much competitation for getting into PC game industry,I think it will be better for me to aim at mobile phone game industry.I hope all the professional here can give me some advice on where I shall start.I know there r 2 main SDK for mobile application,BREW and J2ME.which one shall I learn first?also I want to get some experience in this field ASAP.What will I need to do?Thank in advance for any help given. regards
jimywang
jimywang
BTW,is assembler any important for mobile game?
Guimo
Guimo
Hi,

The eternal question... OpenGL or D3D? Windows or Linux? In this case Brew or J2ME? AS always the answer is... which one you feel more comfortable?

It looks like you are skilled in C++, then get Brew fromthe Qualcomm website. If you have experience with Java and love Java programming, then get the J2ME from SUN.

At the end, its all about which one do you prefer? C++ or Java?

Luck!
Guimo

pinacolada
pinacolada
Quote:
Original post by jimywang
BTW,is assembler any important for mobile game?


In BREW, it's possible to use ARM assembly, but it's uncommon. I think the stuff in BREW that you would really need to optimize is stuff you don't have access to. In Java I guess you can use bytecode, but I'd be surprised if anyone actually does this.

I've found the biggest bottleneck in phones is in drawing the graphics onto the screen (that applies to both BREW and J2ME). So if you want to talk optimization, you'll get the biggest bang for your buck if you a) write a dirty-rect system (something that keeps track of what screen elements are 'dirty', and only redraws those), or b) pre-draw elements in off-screen buffers. (the latter is something you can only do in J2ME).

As far as comparing those, the big factors are that BREW gives you better performance and J2ME is more friendly to indie devs.
jimywang
jimywang
Thanks very much or the replies.although I have quite experience with java,I am more comfortable with C++.but I have read a thread here a couple of days.it says BREW is not very popular with manufactures.is that true?also I think I am going to start to apply some of the jobs like this.what is the best way I can do some nice sample for them quickly?

regards
Woody FX
Woody FX
Hey Jimmywang,

If you want your game to be avaiable for most phones go for J2ME!

There are more costs to develop in Brew while you can develop in J2ME for free. Since you are based in the UK it makes more sence as there are alot of J2ME Development studios there. So if you want to break into the industry j2me will the language most popular there. Though there is a demand for Brew programmers to port J2ME games across to Brew.

I'd say go with J2ME. (Brew is meant to be horrible anyways)

Brian
kooktroop
kooktroop
Go for j2me.
One thing, sure the PC market is saturated but the mobile industry is becoming quite saturated as well. Just be carefull of your reasons for coming over to the mobile industry. If saturation is your only reason take another look at everything.

You do sound like a good programmer so saturation shouldnt be a problem...

Go for j2me!!!

Best of luck
Do not remove a fly from your friend's forehead with a hatchet.Chinese Proverb
jimywang
jimywang
well,the reason I wanna try mobile game is that most of the pc/console game companies require you to know lots of 3D stuff,meanwhile mobile phone is mainly in 2 or 2 and half dimensions, which I am quite experienced with.so I think I will have better to get into mobile industry.another thing I would like to ask you guys is if I can use directX in J2ME or I have to do all the rendering myself.Thanks very much for help
darookie
darookie
There's no such thing as DirectX in J2ME. You will have a set of gfx related functions, however, that are all 2D only. Some vendors offer proprietary APIs, too. But AFAIK all of them are 2D. Sound is very limited, too as long as you stay portable. Same goes for input.

Forget about all your PC related multimedia APIs alltogether if you start with mobile programming. This is not WinCE.
pinacolada
pinacolada
Quote:
Original post by jimywang
it says BREW is not very popular with manufactures.is that true?


Maybe not as popular as J2ME, but there's still a lot of them. For example, I believe *all* of the Verizon phones are BREW phones (Verizon being the current largest US carrier).

But, you're in the UK, do they even have BREW phones in the UK? BREW is a CDMA thing, and my understanding is that CDMA is a US-only thing.
shmoove
shmoove
CDMA is not just a USA thing. We have one CDMA carrier in Israel and it's also quite common in the Far East, and as you said it has about 50% penetration in the US. But in Europe that wast majority (all?) of carriers have GSM networks.

And BREW is not really a CDMA thing. It just so happens, since Qualcomm, the makers of BREW, also make the chipsets for 99% of CDMA phones. So they of course push their own technology in there.

But I agree that if you want a quick start into the business then J2ME beats BREW hands down.

shmoove
cbenoi1
cbenoi1
I suggest you enter the OpenGL ES competition for both the Khronos Group (www.khronos.org) and Qualcomm (http://www.gamedev.net/community/contest/qualcomm2004/). Not only you get SDKs for free, but you also get premium support for this endeavor, not to mention the chance to get prizes and get your title shown to publishers.

> the reason I wanna try mobile game is that most of the
> pc/console game companies require you to know lots of 3D
> stuff,meanwhile mobile phone is mainly in 2 or 2 and half
> dimensions,

Don't be put off by 3D on mobile. Mobile phones are much simpler devices than the latest 3D gear. Besides, you really want to be aligned with the future for a career, not with the past or the present.

-cb
dark_logik
dark_logik
Hi there,
one other option you may want to investigate is Symbian, there's an increasing number of devices available based on this OS from all the main manufacturers.
Some points on the OS:
Pros
- Development is typically in C++ (though it also has support for MIDP1/2 to hide away all the Symbian nastiness ;o)
- Get out of the sandbox! Access to the majority of the functionality available on the phone (no need to worry about whether some phone ships with a particular JSR)
- The latest feature pack from Nokia has OpenGL ES support and you can expect the other manufacturers to follow suit) - Note only one availble is currently near to shipping with support for this but you can expect more to follow)
- It's relatively simple to port between different UIs running on Symbian based handsets
- Series 60 (which is the main stream UI used on Nokia/Symbian handsets) is licensed by half a dozen other manufacturs (near to no porting required
- It's native - it has the capability for much higher performance than J2ME games (note that several high quality 3d engines are commercially available that are native c++)
- Proper networking available (BSD style sockets - support for UDP etc)
- SDKs are freely available to get you started for both S60 and UIQ based handsets
- Phones based on Symbian OS are typically much higher specced than most J2ME only phones (not sure about BREW) - Think 100-200MHz CPUs, 12Bit+ Colour, megabytes of RAM as opposed to KB and memory cards for persistent storage - I just think it gives you many more options when it comes down to game design

Pro & Con - Handsets are typically mid to high end devices - meaning they cost more than your run of the mill J2ME phone, the good thing (I think - purely personal opinion) is that the audience for your games will have more income to spend and will be more willing to spend on 'quality' games rather than the 1000 other low quality scroller/space invader clones

Cons
- Steep learning curve - some things are done very differently on Symbian OS (2 stage construction, living with the Cleanup stack, ActiveObjects instead of threads - though you can use threads if you want too)
- Huge amount of APIs - there's a huge amount that you have access too, this adds to the learning curve but once you have "the knowledge" things become much easier
- Documentation leaves much to be desired (it's available for the majority of the APIs but even this tends to be very much just a plain description of a class and it's functions etc - not so much in the way of HowTo's - Though both Nokia and SonyEricsson have many more examples and the Symbian developer site has some good resources available)

Very happy to listen to any feedback you guys have on the relative merits of J2ME or BREW devices over Symbian OS.

Best of luck in whichever you choose
kooktroop
kooktroop
Quote:
Original post by cbenoi1
I suggest you enter the OpenGL ES competition for both the Khronos Group (www.khronos.org) and Qualcomm (http://www.gamedev.net/community/contest/qualcomm2004/). Not only you get SDKs for free, but you also get premium support for this endeavor, not to mention the chance to get prizes and get your title shown to publishers.


The SDKs are free anyway. Its testing on the actual device, and support that actually costs money.

Avoid Symbian it isnt as widely used as j2me and i havent heard many positive comments about its API. Stick with j2me until you are comfortable with mobile development then start branching out into BREW or Symbian.
Do not remove a fly from your friend's forehead with a hatchet.Chinese Proverb
serg3d
serg3d
If you are not comfortable with 3D/3D math you better start with PC development. Mobile games are moving to 3D very fast, and 3D on mobile usually considerably harder then on PC : you have to do a lot of low-level optimization which is abstracted into SDK for PC, and hardware constrains a lot more difficalt to do with.
evelyn
evelyn
Developing 3d mobile games are not cost-effective yet for most mobile developers. There are still too many low-end h/sets in use that need to be catered for, so, imo, I would get into j2me programming asap and forget about 3d stuff for now.

cbenoi1
cbenoi1
> The SDKs are free anyway. Its testing on the actual device,
> and support that actually costs money.
> ...
> Developing 3d mobile games are not cost-effective yet for
> most mobile developers.

Guys, we are talking about an individual interested into becoming a game developer, not about the Gamelofts and JAMDATs of this world. This fellow won't have to handle 100s of SKUs spread across 4 continents, 75-odd carriers and 9 languages.

-cb
jimywang
jimywang
Thanks for all the reply.I am really appreciated for the help from everybody.I think I will go for J2ME for the time being.and the last question I would like to ask is that which book I shall get as reference for my situation.I have been look up on amazon.com.and I have found some books about J2ME game development.but the problem is those books are all kind of focusing on game programming rather than the API.I am looking for something that tells me how to use the API effectively and and how to make faster code on mobile phone.Thanks very much.

regard
jimy
fatjaba
fatjaba
get a copy of the wireless tollkit from java.sun.com and have a play with that, the API's are all documented in there and there are some great sites out there that are dedicated to optimising your code for mobile phones. ill try and post some links tomorrow that i have found, if you have any questions about optimisations though, just post and im sure someone can help. Being a j2me developer myself I can try and help you as much as you need.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.