×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

A Look at Java 3D Programming for Mobile Devices

ScuttleMonkey posted more than 8 years ago | from the programmatical-tower-of-babel dept.

Java 196

An anonymous reader writes "IBM developerworks is running an article that describes the Mobile 3D Graphics API and introduces you to 3D programming for Java mobile devices. Sony's PSP has shown the graphics power you can put into a mobile device and mobile gaming. Although the average mobile phone is technologically behind this specialized game machine, Java seems to be helping to drive the market in a very definite direction."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

196 comments

Linux is hard to install (-1, Offtopic)

Anonymous Coward | more than 8 years ago | (#13772201)


Linux is *not* user friendly, and until it is linux will stay with >1% marketshare.

Take installation. Linux zealots are now saying "oh installing is so easy, just do apt-get install package or emerge package": Yes, because typing in "apt-get" or "emerge" makes so much more sense to new users than double-clicking an icon that says "setup".

Linux zealots are far too forgiving when judging the difficultly of Linux configuration issues and far too harsh when judging the difficulty of Windows configuration issues. Example comments:

User: "How do I get Quake 3 to run in Linux?"
Zealot: "Oh that's easy! If you have Redhat, you have to download quake_3_rh_8_i686_010203_glibc.bin, then do chmod +x on the file. Then you have to su to root, make sure you type export LD_ASSUME_KERNEL=2.2.5 but ONLY if you have that latest libc6 installed. If you don't, don't set that environment variable or the installer will dump core. Before you run the installer, make sure you have the GL drivers for X installed. Get them at [some obscure web address], chmod +x the binary, then run it, but make sure you have at least 10MB free in /tmp or the installer will dump core. After the installer is done, edit /etc/X11/XF86Config and add a section called "GL" and put "driver nv" in it. Make sure you have the latest version of X and Linux kernel 2.6 or else X will segfault when you start. OK, run the Quake 3 installer and make sure you set the proper group and setuid permissions on quake3.bin. If you want sound, look here [link to another obscure web site], which is a short HOWTO on how to get sound in Quake 3. That's all there is to it!"

User: "How do I get Quake 3 to run in Windows?"
Zealot: "Oh God, I had to install Quake 3 in Windoze for some lamer friend of mine! God, what a fucking mess! I put in the CD and it took about 3 minutes to copy everything, and then I had to reboot the fucking computer! Jesus Christ! What a retarded operating system!"

So, I guess the point I'm trying to make is that what seems easy and natural to Linux geeks is definitely not what regular people consider easy and natural. Hence, the preference towards Windows.

nGage called... (0, Insightful)

Anonymous Coward | more than 8 years ago | (#13772202)

...it wants its bloat back.

You know what would be nifty instead? A scripting language....

if (received_SMS_number == mom_number and time_of_day > 23.00 and time_of_day 6.00):
            sms (mom_number, "I'm still at my friend's house")

Hello World (4, Funny)

deltalimasierralima (922001) | more than 8 years ago | (#13772203)

Wow! Finally I can code 'Hello World' in full 3D glory with realistic 3D shadows!

Re:Hello World (1)

linumax (910946) | more than 8 years ago | (#13772362)

Wow! Finally I can code 'Hello World' in full 3D glory with realistic 3D shadows!
Well, since it's written in Java you'd better code 'Hello judgement day' , you must have heard of Java running soooo fast!

Re:Hello World (4, Insightful)

Jekler (626699) | more than 8 years ago | (#13772699)

It's a common myth that Java is slow. Modernly, Java applications are (on average) only 10% slower than an equivilant C++ application. With appropriate optimization, that margin is even smaller. Even then, when it comes to 3D rendering, the application is usually running at the speed of the hardware, with the Java code not really even coming into play. In a 3D environment you could say the performance margin can be less than 1% difference.

3D Handsets (5, Interesting)

seanellis (302682) | more than 8 years ago | (#13772218)

Quite a few handsets already support M3G, among them the Siemens S65, Motorola E680, E1000, V980, SonyEricsson V800 and K750i, and the Nokia 6630 and 6680.

M3G is a lot lighter weight than Java3D, has high and low level APIs, and has its own compact file format for efficient packaging of assets.

I've been developing M3G technology, both engines and games, since day 1 (I was our company's representative on the expert group), and I am happy that Slashdot has at last highlighted it.

If you think retreads of "Mr. Do" and "Snake" are going to cut it in the Java space from now on, think again. You might like to look at Superscape's site [superscape.com] for a taste of the kind of 3D games that are already out there.

Developers might also want to visit Benhui.net's 3D Developer Forum [benhui.net].

Re:3D Handsets (2, Informative)

Agret (752467) | more than 8 years ago | (#13772280)

There is just no comparison between the PSP and a mobile phone (using your links and the psp comparision in the original summrary)

http://www.superscape.com/games/title.php?SB_3D,sc reens [superscape.com] Phone basket ball game with "amazing 3D"
http://www.1up.com/do/media?cId=3142148 [1up.com] PSP Basketball game

Re:3D Handsets (3, Insightful)

seanellis (302682) | more than 8 years ago | (#13772436)

The comparison with the PSP was in the original link, not my post. These are very different games on very different platforms.

On the one hand, we have the PSP - an ultra-slick, hardware-accelerated, single-purpose device which is excellent at playing action games.

On the other, we have almost-ubiquitous Java handsets (here in Europe, anyway), with enough processing power to run simplified versions of the console games. That is a niche begging to be filled.

The hardcore g4merz will have a PSP. And probably a GBA, a GBM and an Atari Lynx just in case. Everyone else will have a cellphone. They are very different markets and will have very different expectations and different needs.

Re:3D Handsets (1, Troll)

mwvdlee (775178) | more than 8 years ago | (#13772299)

OMFG! 3D Extreme Bowling. That is just SOOOOO much better than Mr. Do and Snake.

Seriously, these games look like something a Sega Genesis would be able to do.

IMHO, the only games that really work on mobile phones are games which do not require any timed action, because the controls on phones just totally suck! This still leaves a lot of genres like RPG's, turn-based (and perhaps slow real-time) strategy games, puzzle games, adventures and board games, sims (think tamagotchi/nintendogs), yet we see VERY little of those. Odd, considering the vast majority of phone users (even the fanatical phone users) are not typical gamers with typical gamer tastes.

Re:3D Handsets (1)

dreamchaser (49529) | more than 8 years ago | (#13772333)

Odd, considering the vast majority of phone users (even the fanatical phone users) are not typical gamers with typical gamer tastes.

I don't know what you're smoking but I want some! Every 'typical' gamer I know has a mobile phone, and many of them are also into games on their phones.

Re:3D Handsets (1)

somersault (912633) | more than 8 years ago | (#13772485)

I'm a gamer, and my last phone didnt even have games.. when they got Doom on mobiles I was pretty impressed, but I wont actually start playing games on them till they're around Quake level. I've thought the same thing about gameboys, which is why I've only just bought a DS - because it can handle a decent level of games

Re:3D Handsets (1)

glesga_kiss (596639) | more than 8 years ago | (#13772772)

I wont actually start playing games on them till they're around Quake level.

Pocket Quake [pocketmatrix.com]

Or, you could try Quake III [noctemware.com], which is pretty new. Only 5fps at the moment, but they are starting to add support for GFX chips, that ought to bring it up to spec.

Not a fan of FPS on the mobile to be honest, mouse beats joypad, and joypad beats phone keypad. Gimmie Tetris on the gameboy emulator, or perhaps Age Of Empires for most of my mobile gaming.

Re:3D Handsets (1)

somersault (912633) | more than 8 years ago | (#13772834)

I also agree about the controllers, but must say that in the demo of Metroid that comes with the DS, the touchpad works very well as a mouse replacement.. obviously not exactly the same, but for fighting computer opponents, or other humans using the same control system it will work great. Thanks for the link to that Pocket Quake site, though what I meant was one that would run on most phones (I'm assuming that Doom was a java version? or maybe it only ran on similar higher-end phones rather than 'everyday' type Java phones). I do love tetris too, though am not much into strategy games, etc, and I guess until phones with dual touchscreens or at least touchpad and screen come out then they're gonna suck for FPSs heh.

Re:3D Handsets (1)

glesga_kiss (596639) | more than 8 years ago | (#13772917)

Mine is a touchpad actually, and the FPS's do use it for control. I'm not really a fan of that approach, perhaps practice is key? Doom, I dunno if it was out on Java, the one I had on my phone was a native binary. Cough cough Windows Mobile, yah, it's MS, but they make the best phone OS unfortunately. It's essentially a pocket computer, not much you can't do on it.

Re:3D Handsets (1)

somersault (912633) | more than 8 years ago | (#13772992)

An actual touchpad that was separate from the screen? Didnt know they had those. I dont think practice is that important, I got the hang of it pretty quickly, though I'm now an old hand at FPSs, been playing CS for 6 years or so.. I agree that Windows Mobile is pretty cool compared to other phone systems, but again I dont have any use for it. If I was a road warrior then I'd maybe consider one, but would more likely just stick with a laptop.. no doubt we'll all end up with some kinda of MS/Linux/Google phone in a decade or two though ;)

Re:3D Handsets (4, Interesting)

mwvdlee (775178) | more than 8 years ago | (#13772488)

Yes, I know most gamers have mobile phones.

Did you also realize that practically the rest of the civilized world also has mobile phones?

Gamers are but a small percentage of the mobile phone users.

Especially when using "gamer" in the popular interpretation as one who primarily plays games in the popular (racing, FPS and sports) genres.

I consider a fanatical phone user, a person who will frequently use SMS, MMS, WAP, built-in cam, built-in MP3 and in general know more than the manual does about the phone. By definition, these are people who are more "on-the-road" than a typical gamer and thus less likely to be a gamer. Apparently conventional popular game genres did not attract them enough to shift from being a hardcore phone user to becomming gamers. Logically, this means that such games would not attract them on their mobile phones either.

Perhaps you should refrain from smoking anything for a while, might help you to actually understand what you're reading. ;)

Re:3D Handsets (1)

Tim Browse (9263) | more than 8 years ago | (#13772428)

If you think retreads of "Mr. Do" and "Snake" are going to cut it in the Java space from now on, think again. You might like to look at Superscape's site for a taste of the kind of 3D games that are already out there.

Looks like poorly disguised retreads of Qix [superscape.com] are fine, though?

Oh wait, it's got a hot girl in a bikini in it! Feel that innovation! Tssssssss!

A very definite direction (1)

dajobi (915753) | more than 8 years ago | (#13772224)

Yeah the direction of crummy little Java games - now in crummy 3D!

Re:A very definite direction (2, Insightful)

@madeus (24818) | more than 8 years ago | (#13772375)

A new way to make EVEN SLOWER crummy Java games indeed! Because playing Rayman at really low res @ 5-10 FPS on the N-Gage was just so much fun, everyone should be able to re-create the experience!

Java is in no way driving 3D games development - on mobile platforms or otherwise, this is just a bizarre article. It comes as no surprise to me the IBM/SUN employee who submitted this article wishes to remain 'anonymous'.

There are currently zero mobile Java games available that compare even remotely favourably to a decent GBA title, let alone with any titles available on the DS or PSP.

Typically, the frame rates are awful, the interfaces are not responsive, the sound is often out of sync and of poor quality (as are the often tiny sprites). Even something like a Java based chess game with a slow and unresponsive interface can be frustrating to use.

Mobile devices are constrained by battery life, which in turn means they tend to be fairly modest devices. They simply don't have time to waste on a JRE and titles need to be heavily optimised on a per-platform basis, even for very simple games (because games software in particular has to be responsive, or users will very quickly become frustrated).

Of course if your writing reasonable code in the first place, it shouldn't be all that difficult to keep it portable (something that most game developers manage without too much trouble anyway).

Re:A very definite direction (3, Insightful)

LarsWestergren (9033) | more than 8 years ago | (#13772440)

Java is in no way driving 3D games development - on mobile platforms or otherwise, this is just a bizarre article.

They don't have to "drive" 3D games development, they just have to be fun enough that people with mobile phones want to play them.

There are currently zero mobile Java games available that compare even remotely favourably to a decent GBA title, let alone with any titles available on the DS or PSP.

Oh, I agree DS or PSP games are more fun, it would be strange otherwise since they are dedicated gaming machines. Thing is, there are many millions more mobile phones sold. Not all people are hardcore gamers who are willing to pay for one of those devices. Some just want a few minutes of diversion while on the bus. A Sudoku puzzle or similar. And this article shows that these games are getting better and better.

Typically, the frame rates are awful, the interfaces are not responsive, the sound is often out of sync and of poor quality (as are the often tiny sprites).

That is just FUD. I have played plenty of fun and responsive Java games. Still, it must be said that more developers should focus on making addictive puzzle games or similar rather than action games. As you point out, the processor, the screen and the input possibilities are by necessity rather limited.

Just reminds me (4, Insightful)

olddotter (638430) | more than 8 years ago | (#13772232)

I have a freind who used to work at a major cell phone company. I remember him telling me people would NEVER use java or linux in embedded products because the memory foot print was just too big.

Ah, Moore's Law, what isn't practical today will be in 18 months (or 36 months, etc.).

He is a smart guy, he just doesn't have the vision to look out that far into the future.

Re:Just reminds me (2, Interesting)

IamTheRealMike (537420) | more than 8 years ago | (#13772409)

To be fair to your friend, many phones (Symbian, BREW) don't use Java but provide their own C++ API. Many people who have used Java on mobile phones have found that performance and memory management are extremely poor and not really competitive next to C++ (though this is the technology I'm talking about rather than the footprint).

Motorola now use the "JUIX" operating system which is a combination of Linux and Java so while he was definitely wrong, his mistake was simple enough - assuming that technological superiority would win out over mass-market/buzzword appeal.

Re:Just reminds me (3, Insightful)

LarsWestergren (9033) | more than 8 years ago | (#13772496)

Motorola now use the "JUIX" operating system which is a combination of Linux and Java so while he was definitely wrong, his mistake was simple enough - assuming that technological superiority would win out over mass-market/buzzword appeal.

Ease of development, maintainability and porting are also forms of technological superiority, and in this case perhaps more important than pure performance?

Re:Just reminds me (1)

IamTheRealMike (537420) | more than 8 years ago | (#13772888)

Java is reasonably easy to develop for, I'll give you that. But, wait until you start trying to write large, real world apps or games. You will suddenly find yourself knowing more about the internals of garbage collectors than you thought.

Maintainability - nearly all widely deployed Java apps are riddled with #ifdefs done using a custom pre-processor, because phones vary so wildly in bugs and capabilities that you have to produce many JARs from the same source code. Java the language provides zero help with this real world problem.

Porting between what? With Java you write to specifications, not a single implementation. While this can be great when it works, with J2ME it doesn't work. You end up spending your time porting apps between different phones, except instead of obvious API differences the problems are more like "Nokia 6680 uses 40x20 icons whilst SonyEricsson use 16x16 and the exact sizes aren't documented anywhere obvious". OK I forget the exact pixel sizes but you get the idea ...

Opensource 3D on every phone ? possible (*caugh* ) (2, Interesting)

rzr (898397) | more than 8 years ago | (#13772527)

Just to let you know, that 3D is possible on most java phones
with my embryonic diet3d library :
http://rzr.online.fr.nyud.net:8090/java.htm [nyud.net]

OK lot of work to be done to be M3G compliant... (btw, i am open to contribs)

But what is bugging me : is J2ME the only alternative to WinCE or symbian ?
since most Linux handset doesnt not provide other API (beside QTopia and his friends)

Re:Just reminds me (3, Insightful)

Bogtha (906264) | more than 8 years ago | (#13772618)

I remember him telling me people would NEVER use java or linux in embedded products because the memory foot print was just too big.

Java was designed for embedded products. [wikipedia.org]

He is a smart guy, he just doesn't have the vision to look out that far into the future.

Or the past, apparently.

Re:Just reminds me (0)

Anonymous Coward | more than 8 years ago | (#13772996)

What I actually said was stop staring at my GF tits, and get out of my house, you stupid nerd.

3D programming and multiple screens on my sony (2, Interesting)

jurt1235 (834677) | more than 8 years ago | (#13772254)

So will I see the frontside of the object on one screen, and when I turn the phone around to watch the other screen, the back side of the object? That would be pretty cool!

Re:3D programming and multiple screens on my sony (-1)

Anonymous Coward | more than 8 years ago | (#13772414)

Think of the pr0n possibilities!

Bad Idea! (3, Insightful)

Agret (752467) | more than 8 years ago | (#13772256)

3D Java Games? Anyone re-call the N-Gage?

This seems like a bad idea to me. Instead of trying to make a phone compete with a gaming console they should be looking for more innovate things that they can make phones do.

Re:Bad Idea! (1)

seanellis (302682) | more than 8 years ago | (#13772347)

The original expert group included Nokia, Vodafone, Sony Ericsson, Siemens and Motorola. They were willing to bet some pretty hard cash that it is not a bad idea.

3D games are not necessarily console games. 3D, like vector graphics or color screens, is another tool for the game developer to use. And you use the tools you have to get the best out of the platform you're on. More tools at your disposal should be better for the game developers, and that impacts consumers positively too.

Re:Bad Idea! (1)

biraneto2 (910162) | more than 8 years ago | (#13772661)

You should read the comment about moore's law and the 18 month thing. In the future we may not have computers or game consoles because we already have a cell phone.

How much would a phone.. (4, Insightful)

CyricZ (887944) | more than 8 years ago | (#13772257)

How much would it cost these days for a phone that did not have any unnecessities like 3D graphics, address books, calendars, clocks, and so forth? I'm talking about a cell phone equivalent feature-wise to your typical 1960s telephone. How terribly cheap could something like that be produced for? I'd almost be inclined to think that you could find them in vending machines.

Re:How much would a phone.. (3, Insightful)

eneville (745111) | more than 8 years ago | (#13772271)

ebay for the nokia 8310! It's still one of the smallest and useful phones.

Re:How much would a phone.. (1)

seanellis (302682) | more than 8 years ago | (#13772302)

I had this from my mother-in-law recently. We went into town to the Vodafone shop. A small handset with all the latest features, on a pay-as-you-go tariff was about £40 ($80). Vodafone also do a "simply" range of handsets which just do phone, text, and nothing else. The cost? £70 ($140).

Actually, this isn't really a fair comparison - the simple phone was bigger and had a much larger screen, which is a big part of the material cost on a phone.

Re:How much would a phone.. (1)

Da Fokka (94074) | more than 8 years ago | (#13772310)

How much cheaper is a 8088 than a Pentium 4? It wouldn't make a lot of difference, if any.

Re:How much would a phone.. (1, Interesting)

Anonymous Coward | more than 8 years ago | (#13772663)

What? There are a lot of current 16 bit processors out there that cost less than 1% of a pentium 4, so your comparison is flawed.

Just consider the power requirements for an advanced phone vs. a simple phone. Talk time is determined by the radio, but in standby, the other 'features' of the phone start to dominate. Add a high resolution screen and a camera, plus fancy sound chips and the price easily doubles. Fancy displays require fancy backlights, that drives up the cost. Add bluetooth for the headset and it goes up further. Oh, and speaker phone capablility? Add more parts and more power. Up goes the cost. All of these features require more firmware, require large FLASH and more RAM. $$$ And those fancy connectors on the bottom for docking? $$$

I thing the original poster was talking about a phone (just a phone) with at most a simple power jack, and maybe (just maybe) a headset jack. No docking. No Bluetooth. No color. Just a phone, with buttons to dial the number, and a simple monochrome display to show the 'antenna bars', number dialed, minutes used, etc..

I have an old qualcomm from 1997. It basically matches that description except for the docking connector on the bottom that never gets used for anything except recharging the battery. It just plain works, even after eight years.

Re:How much would a phone.. (1)

Otter (3800) | more than 8 years ago | (#13772417)

How much would it cost these days for a phone that did not have any unnecessities like 3D graphics, address books, calendars, clocks, and so forth?

Given a display, number keys and telephone connection, which most people would regard as necessities for a mobile phone, you basically get the address book, calendar, clock and Tetris for free. (How long do you think it takes a devloper to code a calculator or an alarm function?) I suppose that if you were willing to ditch the display, you could save, oh, four dollars? As for 3D graphics, you can easily get a phone without 3D graphics.

Re:How much would a phone.. (1)

torpor (458) | more than 8 years ago | (#13772423)

i've been using an AUS$45 cheap motorola cell phone as my main phone now for a year. its not fancy, it doesn't do 3D, color, or Java, but man does it work well as a phone ..

and yes, you can buy cell phones in vending machines now. i've seen them in tokyo, i've seen them in germany .. heck in germany you can buy a cell phone at the local Tschibo coffeeshop [boo Euro-starbucks clone, boo!]

Re:How much would a phone.. (1)

shadow_slicer (607649) | more than 8 years ago | (#13772435)

They would cost about the same.
Modern cell phones do most of their signal processing in software, so they have to have fairly beefy processors to begin with. So they basically already have the hardware to handle everything you mentioned. They're just trying to get the most use out of the hardware.

I don't know about GSM but with CDMA the clock needs to be accurately sync-ed to the network for communication to occur. So they just wrote a small program to display the time.
3D graphics could be easily implemented with the DSP chip the phones already use for communication (this chip isn't that busy when you're not talking on the phone..)...

Address books, and calendars are extra, but not hard to implement.
The biggest fluff on modern cell-phones are cameras, but those only add a ~$5 part.

Re:How much would a phone.. (1)

IamTheRealMike (537420) | more than 8 years ago | (#13772469)

A series of very cheap phones like the ones you propose are being prepared by major manufacturers for use in the third world. That said, there's a lot of cool stuff you can do with modern mobiles - really we've only started to explore this space. Java gaming is not the best mobile developers can do. Many useful, dare I say .. killer? .. apps can be written that exploit the varied nature of mobile phones. Just wait and see.

Re:How much would a phone.. (1)

chrismcdirty (677039) | more than 8 years ago | (#13772472)

I have a Motorola V66 (? extremely thin, B&W display) that my girlfriend gave me when she tired of it. It's at least a year old, and probably can't be bought anymore. But it makes calls, and that's about it. It also has a standby battery life of close to 1 week after being at least a year old.

Re:How much would a phone.. (1)

LS (57954) | more than 8 years ago | (#13772687)

"unnecessities"? Isn't a mobile phone itself an unnecessity? People got along fine before them. They planned ahead in advance, instead of "playing it by ear" so to speak. Ok, so it makes life easier. Wouldn't a 3D GPS-coordinated map also make life easier? Yes.

LS

Re:How much would a phone.. (2, Informative)

Tryfen (216209) | more than 8 years ago | (#13772823)

Nokia 1100.

Does nothing but voice and SMS.

Costs ~£20 on PAYT. That's ~USD$40.

Re:How much would a phone.. (1)

cerelib (903469) | more than 8 years ago | (#13772866)

Then the provider would not be able to possibly sell you extra features like text/pic/vid messaging. So no, really nobody wants to sell that to you.

Re:How much would a phone.. (1)

LnxAddct (679316) | more than 8 years ago | (#13772904)

I'd like a phone that resemembles something like an ipod shuffle. Small, slim, no screen, just enough buttons to dial a number and answer the phone. I think something like that could be extremely cheap and pretty cool looking at the same time, maybe program it so it speaks the number that called you or something if caller ID is a big issue. I'd bet it would catch on more than most people think.
Regards,
Steve

And queue the Java-being-slow comments... (3, Insightful)

MaestroSartori (146297) | more than 8 years ago | (#13772260)

...even though back in 2000 I wrote a 3D software engine in Java that was more than acceptably fast enough to run Wolfenstein-quality gfx on a P75. And I knew fairly little about optimisation in Java, so that could probably have been faster. Throw in hardware acceleration, and you can bet these'll be fast enough for at least ok game-level graphics. Beyond games, I don't know what use this would have...

Re:And queue the Java-being-slow comments... (1)

CyricZ (887944) | more than 8 years ago | (#13772270)

Would it be possible for you to release the source code to this engine that you've written, so we can verify your claims?

Re:And queue the Java-being-slow comments... (1)

MaestroSartori (146297) | more than 8 years ago | (#13772340)

If I still had my uni course stuff, I'd be glad to. But alas, those days are long gone...

Bear in mind I didn't claim it was well designed, extendable, or remotely worth using for anything other than a demonstration... ;)

Re:And queue the Java-being-slow comments... (1)

LnxAddct (679316) | more than 8 years ago | (#13772972)

The Netbeans IDE has a very nice J2ME feature set, including a gui for designing cell phone interfaces using drag & drop, and it comes with a variety of phone emulators so you can see how it functions on many different systems. Anyway... they have a few J3D samples for phones and they are pretty impressive, the one is a skateboarder going back and forth on a half pipe, the other is a kangaroo bouncing around on a pogo stick in a field. They both run really well on every cell I've tried (all of them have been sony ericsson or motorola phones), which I wasn't expecting (I thought maybe the emulators that Netbeans came with were being a little too generous to the cell phone). So as far as the capabilities of J3D on a J2ME go, I'm more than convinced that there are plenty of oppurtunities for really cool stuff.
Regards,
Steve

Re:And queue the Java-being-slow comments... (1)

Agret (752467) | more than 8 years ago | (#13772294)

So you can run 8 year old GFX (well in 2000 it was 8 years old anyway) and you call that 'ok game-level graphics'. Maybe you haven't realised but that game is in a totally different generation to todays games. Most people would just look at your game and say "That has crap graphics" and not play it. That's how todays gamers are. I'm old school though and will play anything :) I'd like to see your engine.

Re:And queue the Java-being-slow comments... (1)

MaestroSartori (146297) | more than 8 years ago | (#13772383)

My point wasn't that Wolfie 3d graphics are acceptable. It's that I'd guess that acceptable graphics are possible given what I had running *without* hardware acceleration a few years ago. And thanks for the interest, but my old code is somewhere on a uni machine if it exists anywhere. If anyone at Strathclyde Uni finds it, they can post it if they want :)

Re:And queue the Java-being-slow comments... (0)

Anonymous Coward | more than 8 years ago | (#13772358)

Yeah, Java is fast if you have a JIT. Do phones?

Re:And queue the Java-being-slow comments... (2, Interesting)

IamTheRealMike (537420) | more than 8 years ago | (#13772457)

Most phones use the "KVM" micro virtual machine which does not do JIT compilation (imho a very stupid thing to do on a phone anyway), instead relying on a pure interpreter approach. It does practically no optimisation and has a very simplistic garbage collector. It is by no definition of the word fast. Sun now provide a JIT micro VM that implements HotSpot but even then, as we saw in an earlier Slashdot story basic optimisations like stack allocation are beyond it and most phones don't seem to use it anyway.

Unfortunately the javac compiler doesn't do any optimisation either. So you're left running unoptimised code exactly where you need it most. One of the things I want to experiment with next time I have some spare hours is using GCJ instead of JavaC to produce class files for phones. I suspect there would be an improvement.

It would have been smarter IMHO to embed a static compiler into phones (like GCC) and then use that to produce native ARM/whatever binaries at install time using the full range of optimisations possible. It would take longer to install apps, but this is a one time cost, and you could mostly eliminate the startup overhead of the VM and the speed penalty of bytecode interpreting.

Re:And queue the Java-being-slow comments... (1)

badfish99 (826052) | more than 8 years ago | (#13772547)

The problem is that the Java language was designed to be interpreted. Compiling it into a fast native executable requires a lot of effort. I've tried using gcc on an i386 and it doesn't do the job well.

Sun must have put a lot of effort into the hotspot compiler, but its performance gains come at the expense of a lot of memory usage.

Re:And queue the Java-being-slow comments... (0)

Anonymous Coward | more than 8 years ago | (#13772421)

Wolfenstein-quality gfx on a P75
Excuse me! You call that fast? I don't want to break your heart, but I used to run the oringial Wolfenstein on my 20Mhz 386sx at full speed. You tell me how faster is a P75 compared to that!

Re:And queue the Java-being-slow comments... (3, Interesting)

vidnet (580068) | more than 8 years ago | (#13772540)

For a taste of what java can do, try Jake2 [bytonic.de]. It's a Quake2 engine written entirely in java (easily started via webstart, on both linux and windows, and automatically downloads the Quake2 demo files if you want).

You would never be able to tell that it's java.

Re:And queue the Java-being-slow comments... (1)

sgt scrub (869860) | more than 8 years ago | (#13772600)

I thought about this when John Romero http://en.wikipedia.org/wiki/Id_Software [wikipedia.org] was said to be starting a "hand held gaming api" or something to that effect. It made sense on a dedicated system but a phone? Who has a phone that would keep a charge while pumping out high quality 3D images?

Re:And queue the Java-being-slow comments... (1)

deander2 (26173) | more than 8 years ago | (#13772787)

WOW. where to begin?

first off, i love java, and its use has employed me for >5 years now. and i agree that with modern JIT compilers, the language itself is pretty damn fast. not C fast, but pretty damn close to C++ fast. that being said:

for graphics, it still sucks. Swing is slow. SWT is better, but not great. JOGL is coming along, but immature. use java for server-side programming. that's where it kicks ass.

second...wolf3d ran on my 286! in 1990!!! arguing that java isn't slow by claiming this speed can be matched by a P75 is asinine! please quit advocating on java's behalf. you're doing more hard than good.

unless, of course, you're just being a troll. in which case i congratulate you, for winning by getting me to type this response. :-P

Re:And queue the Java-being-slow comments... (0)

Anonymous Coward | more than 8 years ago | (#13772840)

What?! Wolfenstein launched intended for a 386 - and now you're saying that Java isn't slow because you made a 386's game run on a Pentium 75?

Explain this to me (3, Insightful)

RootsLINUX (854452) | more than 8 years ago | (#13772276)

Why would I want (or even care) to have 3D graphics on my mobile phone/device? The screen is already tiny. I'm sure 3D graphics are more computationally expensive and power-consuming than traditional 2D graphics. And in the end, I'm still just looking at a 2D projection of a 3D image. Its not like I want to be playing Half-life or another FPS on my cellphone. I'm sorry but this just seems stupid to me and I get the feeling that the only people who will want this "feature" will be the hard-core tech gadget geeks out there. Does a 3D API bring *anything* useful to the mobile table???

Re:Explain this to me (2, Informative)

CyricZ (887944) | more than 8 years ago | (#13772320)

Do you or I need it? Of course not. We'd get a phone to increase our productivity. But that's just because we're into getting work done.

They've reached a point where basically everyone has a cell phone that does everything they _need_ it to do. Now they need to start throwing in gimmicks like this to get people to upgrade. This is especially true for the "teenyboppers" or "hardcore gamerz" who are easily amused by gadgetry such as this. Chances are there'll be many 13-year-old boys and girls begging their parents for a phone with 3D graphics support, even though it has very little practical benefit.

Re:Explain this to me (1)

seanellis (302682) | more than 8 years ago | (#13772330)

Well, obviously, 3D games aren't going to be for everybody. There are some people who are quite happy playing "Snake", thank you very much.

One of the things that the M3G group was very careful about, though, was to ensure that it wasn't "just" a game engine. It's a fully-featured 3D engine which means that developers can use it for whatever they want.

Obviously, games are likely to always be the most popular application, but others are possible.

Re:Explain this to me (1)

tomstdenis (446163) | more than 8 years ago | (#13772475)

Yeah like screwing up the phone.

My V220 won't boot anymore [never hooked it up to the USB] after I deleted the annoying backgrounds/java games/etc off the phone. Me thinks it deleted something more important... I'd rather have simpler phones that are less likely to screw up in this way.

And of course, there are a million "rogers" booths [my provider] in every mall, corner plaza, etc. Except when you go in there their only mission is to sell you NEW PLANS. They don't care about service or maintenance.

Well, maybe this will work for the rush, but I can imagine 5 years from now all these locations will be closed up after people "already have" cell phones.

Tom

Re:Explain this to me (0)

Anonymous Coward | more than 8 years ago | (#13772399)

I think people are too locked into thinking "Java on a cellphone" = "games". Even those who develop things like this 3D engine probably envision that its main use will be in games. Which will never be a good idea for various reasons, the main one being "a phone is not a gaming device".

I'm suggesting that people need to get out of the "game" mentality and look at other possibilities for Java on a phone. It's a programming language, not a game language. What sort of programs are you missing on your cell? Grocery list, T9-enabled notebook apps, todo-list, a social network generator [wikipedia.org] using data from your SMS inbox, alternative user interfaces, whatever. Get out there and be creative! That's what's needed, not another crappy game.

Re:Explain this to me (1)

lightversusdark (922292) | more than 8 years ago | (#13772614)

I, for one, welcome any developments in 3D capabilities for mobile devices. There are many examples of applications that require 3D that would be desirable on a mobile device. One example that I have worked on is in hospitals, where doctors and nurses can pocket a small terminal that is capable of displaying not just a patients medical records, but also MRI, CT & PET imaging, and manipulating the data sets in three dimensions. Previously this was achieved with a render farm pumping full-screen bitmaps over the wireless network to notebook form factor thin clients. Not only is there a central point of failure, but also masses of data-traffic, and an unwieldy device to cart about. Providing staff with phone style devices is a cheaper hardware investment, particularly considering the wireless-ready capabilities of the phones, and can supply several levels of fall-back networking capability (802.11 -> UTMS -> GRPS -> GSM, even Bluetooth: does your notebook have this much support? How much would it cost to add?). Java *does* provide a secure enough platform to handle confidential data on a consumer device, and the patient (in this example) is likely to have access to a similarly capable device to view the data at their leisure - how many Java implementations are there in your house? (Hint: more than you think). I could expound further, but while the games market doubtless drives the nVidia/ATI development cycle, there exist many more uses for 3D visualization than just games. And besides, all the best games are 2D anyway..

Re:Explain this to me (1)

JensLudolf (807529) | more than 8 years ago | (#13772691)

Why people would want 3d on their phones: It looks and sounds cool, and the marketing-people told us so! *must do what those ads told me to do*

I'm sure there are some practical-uses for it as well as entertainment, I know some unnamed car-makers (or at least sub-contractors of car-makers) were looking into 3d-projections of maps on dashboards, and I'm sure it could be cool on a mobile-device (handheld, gps, mobile-phone).

Anyway, having 3d available on mobile-devices need'nt be a bad thing even if it's a power-consuming beast, it's a possibility and I'm sure as it will spread, people will find both cool and useful uses for it. Hopefully there will still be mobile-phones with less gloss available for those that want.

As for power-consumption, it's partly beeing addressed by developing spezialized hardware for 3d-graphics, where one of the design-goals are low power consumption. Having worked as a SA for Falanx Microsystems http://www.falanx.com/ [falanx.com] which are designing an IP-core conforming to the OpenGL ES http://www.khronos.org/opengles [khronos.org] standard/API, one of their chief design-goals are minimizing power-consumption. I'm sure NVidia, ATI and others designing 3d-hardware, are considering the constraints of their target-platforms. (If my memory serves me right, NVidia has some interests in the mobile-market, and I'm sure the other actors on in the 3d-market are looking at it as well).

-- Kjetil Joergensen

Re:Explain this to me (1)

clonmult (586283) | more than 8 years ago | (#13772989)

I've got an old Siemens SX1. 120mhz ARM cpu, it does 3D gaming very, very nicely. Midtown Madness plays very nicely.

Look at something like the Orange SPV C550 - its running a 220mhz CPU, has a 240x320 resolution screen of a very decent size/quality. Things are developing.

Mobile gaming isn't about playing games with the same depth of play as their desktop equivalents. Its nice to be able to play something like this whilst stuck in the queue at the supermarket, or just bide away a little time during slack points in the working day.

And as other posters have said, it doesn't have to be games - use your imagination to use the 3D engines in other ways.

What is mobile 3d (0)

Anonymous Coward | more than 8 years ago | (#13772288)

Does it mean OpenGL is too fat? Why can't I have a lightwigth and fast API on my mobile notebook?

Gaming on the Phone !? (2, Informative)

betasam (713798) | more than 8 years ago | (#13772324)

One of the early companies focusing on Mobile Phones was Fathammer [fathammer.com]. Initially they started out with a ports of Doom engine based classics; now seem to have a nice collection. I believe the stronger driver of applications on phone platforms is the phone hardware. Java 3D API is one more trial at luring in more applications by providing easy-to-use API. But even if Handspring and Palm were to provide 3D programming API for their Treo series (or anyone else does likewise), it still depends on the hardware. Things one would be bothered about would be battery times and audio which actually adds on to gaming experience (and already no one wants to hear loud ringtones everywhere!)

Nokia airs an ad in India which almost drives in a message saying "phones are for talking" while showing a model with a vidcam and video playback. I wonder how many people find time to use the "other" applications on the phone apart from a PIM (Phonebook/Calendar). Further, with 3D games what about an added issue of people getting something akin to Doom Induced Motion Sickness(DIMS [slashdot.org])? I have found controls for a 3D game (on my Treo) pretty difficult to use for a 3D racer game, which kind of kills the experience. I wonder how many people play 3D games on their phones comfortably, and where they get them from!

Neat article (3, Interesting)

LarsWestergren (9033) | more than 8 years ago | (#13772335)

I have some friends who are working with developing Java games. So far the big money is not in developing titles for phone companies portals (or even worse trying to sell them to the end user yourself) but to develop ad games for companies who make them available for free downloads, usually as a part of a competition.

From what I understand, the best part of the job is that since graphics on mobile phones and other limited devices are so cruddy development focus tends to be on addictive gameplay rather than eyecandy. It is also still possible to be a small independent game studio, no need for a big art studio to render hours of CGI, etc.

Worst part is that just about all phone developers are very sloppy when it comes to implementing the J2ME standards and all models tend to have their own quirks. Sony Ericsson and Nokia are probably the best, but that is not saying much. So in this case, it really is "write once, debug everywhere" type java.

Mobile gaming is really taking off, I read on GameDev [gamedev.net] for instance that mobile game developers Gameloft increased their workforce from 432 to 1375 employees.

Re:Neat article (1)

XMunkki (533952) | more than 8 years ago | (#13773112)

Worst part is that just about all phone developers are very sloppy when it comes to implementing the J2ME standards and all models tend to have their own quirks. Sony Ericsson and Nokia are probably the best, but that is not saying much. So in this case, it really is "write once, debug everywhere" type java.

And this actually really says it all. Most of the effort of doing a J2ME game seems to go on making it work on various devices and conform to operator wishes (and they are plentiful and vary a lot). This is even more so if you really try to stretch the device (as making fun and good looking gameplay may take more power since you're likely doing more under the hood).

And it really doesn't help that many firmwares and phones really handle things differently. Both in performance and compliance. This is why these mobile gaming platforms have really emerged. Still a lot of effort to get a small game done. I'd much rather spend my time honing the game than using 30% of the budget just trying to get it to run on 30 different devices.

Java! That's the answer! (2, Insightful)

MBCook (132727) | more than 8 years ago | (#13772391)

There! That's it! Java is the solution!

There are so many people (me included) who would love to be able to program for the PSP, but they won't open it up for various reasons (fear of piracy, mostly).

So why not give people a Java sandbox (J2ME would be fine) to play in? That way they can make games and other fun things, but they won't be able to use it to boot pirated games off memory sticks and such (unless they REALLY mess up the JVM). Seems like a perfect solution.

They sold the Net Yahorzee, why not give us this? Download a copy today (tied to the PSP's serial number to prevent copying?) for only $20! They'd make a fortune.

Re:Java! That's the answer! (1)

tomstdenis (446163) | more than 8 years ago | (#13772449)

Because java is a waste of time and effort? Because the device runs MIPS processors with limited memory? ???

If anything they should open the platform up. Not like people are not going to buy things like GTA PSP or whatever just because a tetris clone exists. It would get more people in contact with the PSP which will drive up the demand for it.

If course you have to think outside the box for that...

Tom

Re:Java! That's the answer! (1)

MBCook (132727) | more than 8 years ago | (#13772597)

But when you truely open it up, then people can use homebrew code to launch copied games and other things Sony doesn't want them to do. Java prevents that.

As the processor and memory, they will take a hit from running Java but it would still be WORLDS ahead of what even high end cellphones offer. More than enough for most homebrew games and platformers and other fun stuff. Plus you've got the fast 3D hardware which could be exposed (either though Java3D, or a JNI thing for better performance).

I thought of truely opeing it, but we all know it will never happen. I think something like Java would be our best bet. The other option would be to let us run homebrew native code, but keep it in a sandbox/managed environment so people couldn't play copied games/etc (like the did with PS2 Linux). I could see that happening too.

Re:Java! That's the answer! (1)

tomstdenis (446163) | more than 8 years ago | (#13772620)

If people want to go out and manufacture UMDs on their own dime, so be it.

Even in the GBA scene most people don't pirate games despite the fact it's very simple. In fact of all the places I've been *I've* been the only person with a flash cart. All the peeps in airports and on trains I've seen have had legit games.

The homebrew scene is just that, hobbyists. When it comes down to it the vast majority of people still go out and buy games.

Tom

Re:Java! That's the answer! (1)

MBCook (132727) | more than 8 years ago | (#13772899)

I agree, I have a flash cart too which I have used to play and develop home-brew games. But when the suits are probably saying "No" to anything that even opens up the remote possibility that one day someone might use it to steal a game, the "safety" of Java might make it "OK" by them.

It's not an issue of reality, it's an issue of business.

But like I said, they could also give a managed environment like the PS2 had with Linux.

Intersection of these two subjects (1, Funny)

dwalsh (87765) | more than 8 years ago | (#13772404)

Here is a Venn diagram showing the interest in Java on mobile devices e.g. phones (MIDP) and Java 3D and the intersection between them:

     _________    _________
    /         \  /         \
   / Java On   \/  Java 3D  \
  /   Phones   /\            \
  \            \/            /
   \           /\           /
    \_________/  \_________/

Hope both of those guys enjoyed the article!
 

Who uses their mobile phone for games? (1)

digitaldc (879047) | more than 8 years ago | (#13772441)

The article is interesting and is very informative.
My only objection is that I do not like playing games on a tiny screen using tiny buttons. Since most games nowadays are not just 'steer and shoot,' the complexity of the controls and intricacy of the graphics plays into the overall fun of the game.
I applaud the efforts to get better 3D graphics for mobile devices, but I don't think I will ever be wasting my time playing games on my cell phone. It is much more enjoyable to play a console system on a large projection TV. But of course that is just MY opinion.

Re:Who uses their mobile phone for games? (1)

JensLudolf (807529) | more than 8 years ago | (#13772842)

Agreed that the gaming-experience are much more fun and enjoyable on consoles or computers. Consoles are after all designed with a good gaming-experience in mind (at least to some extent). The regular cell-phone isn't designed to be a gaming-platform, it's mostly a phone. The exception may be nokias N-gage, tho I don't have any personal experience with it.

I am however guilty of playing some of my cell-phone-games, when I have nothing better to do, and nothing at all available to fiddle with. While i.e. forgetting to bring something to read while taking a dump or sitting on a bus.

I don't think mobile-phone-games will be a good "replacement" for console-gaming or pc-gaming anytime soon, but they serve their purposes.

--
Kjetil Joergensen

PSP Whoring? (0)

Anonymous Coward | more than 8 years ago | (#13772444)

I move to strike the "PSP" comment from this posting... this post has nothing to do with the PSP by its own admission. This is just gratuitous PSP-mentioning.

John Carmack (2, Informative)

vasqzr (619165) | more than 8 years ago | (#13772508)

He made a comment a while back:

"The biggest problem is that Java is really slow. On a pure cpu / memory / display / communications level, most modern cell phones should be considerably better gaming platforms than a Game Boy Advanced. With Java, on most phones you are left with about the CPU power of an original 4.77 mhz IBM PC, and lousy control over everything."

Re:John Carmack (0)

Anonymous Coward | more than 8 years ago | (#13772877)

Oh, the Prophet has spoken. I guess that settles everything...

Re:John Carmack (0)

Anonymous Coward | more than 8 years ago | (#13773199)

Amen!

Ha! 3D... (1)

GiorgioG (225675) | more than 8 years ago | (#13772509)

I'm still waiting for a sub-$200 phone that'll integrate with *SOME* calendaring system from Sprint.

java (0, Flamebait)

Muad'Dib129 (868864) | more than 8 years ago | (#13772510)

i hate java. yes, it's is organized. yes, its the best OO language out there. However, until you can get it to perform as fast as (C || C++) && (asm) that pathetic language can eat my a$$. Just because it is free it doesn't mean it's the greatest thing since thong underware for women. Don't forget...in the Tech field, you get what you pay for.

Commodore games would be better (1)

aphaenogaster (884935) | more than 8 years ago | (#13772513)

Just get all of the old commodore 64 games on the phone and you would make a ton of cash. M.U.L.E. for starters. Archon, Ultima, hell they are still better than most modern games.

Right Tool for the Job (1)

Ranger (1783) | more than 8 years ago | (#13772567)

It's all about choosing the right language for the right job. 3D Java would be perfect for that 3D glacier screensaver I had in mind. You'd be able to watch it travel down the mountain and melt. Don't worry. Java is fast enough to still be realistic when you take global warming into account.

The problem with Java... (1)

amightywind (691887) | more than 8 years ago | (#13772735)

Perhaps I have misunderstood, but I thought that Java 3D made OpenGL calls under the covers. Is this the case. Java's fatal flaw has always been that it must use low level NMI modules written in C or C++ to get anything done. When Jim Gosling choose not to have pointers he basically decapitated the language. Therefore, all Java programs that need to manipulate memory mapped registers are a kludge by design.

Last meaningful Java UI advance? (1)

galtenberg (646020) | more than 8 years ago | (#13772885)

When was the last time Java made a meaningful advance on the UI front?

I guess I'm still jaded from the 3 years I spent in the Java applet paradigm, trying to bring a vision of mine to the web, only to find I was working in the "last gasp" of client-side Java - an era marked by the release of Swing and then... nothing.

Real Need (0)

Anonymous Coward | more than 8 years ago | (#13773170)

Forget about Java 3D on cell phones. What we need is a Java interface to DirectX and OpenGL. I'd do it myself if I thought there was actually still any way to make money by developing software. Today all the money goes to CEOs and not developers, so I have no incentives to spend the time doing this myself.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...