Java, Flash, .net Games For Pandora?


bawjaws

Still Fresh
Joined
Oct 6, 2008
Messages
16
There's a nice informative thread about Open Source games that you can play today, and will probably show up on the Pandora sooner or later.

There's also an active thread recording interest of indie and homebrew developers in porting their closed source games across to ARM/Pandora.

I was wondering if people had favourite Java, .Net or Flash games and if people had a rough idea of which are likely to work on the Pandora.

There's a few Java options at the moment, there's Mono for .Net, and Gnash and Swfdec for Flash (and possibly even official Flash either bodged from Maemo or via Adobe's recent talk about getting serious on ARM. I think they've also dropped the fees they used to charge so more and more likely). Not all of these solutions are 100% perfect, not all games are 'pure' Java and may have Windows dependencies even if the main game code is Java, some may be too resource intensive, others might require a larger screen than the Pandora provides. But enough of the negatives, what *might* work and is worth checking out if it does?

edit: here's one to start, and it's entirely web based, a keyboard driven anagram game, much like others you may have played, but I think the simplicity and keyboard interaction lift it above the rest.

http://tromey.com/Swirl/ (Watch out, backspace may get grabbed by your browser, works fine in Firefox though.)
 
Last edited by a moderator:
C/C++ and many others are compiled to machine bytecode. This means native ARM instructions.
Python, Perl, Javascript, and many others are nterpreted. The script remains in human readable form until executed, and is interpreted on the fly to machine code by an interpreter.
Java, C#/.net, Flash are compiled to virtual machine (VM) bytecode. A virtual machine runs on your computer, translating from VM to machine code.
Each has it's advantages and disadvantages, but for the most part, OSS projects are written in C or C++, because of ideology, history, and for performance.

As of this time, gnash and swfdec Flash alternatives pretty much don't work at all. Flash has been one of the few things that I found annoying about running entirely Linux on all my machines. Adobe only releases versions for x86 Windows, PPC/x86 OSX, and x86 Linux. Only a week or two ago did they release a 64 bit version for Linux, and people have been ranting at them for years about 64 bit support for any architecture/OS, even Windows. An ARM version would be a good move on their part, given how much the embedded/mobile/ipod/portable market is growing, but don't expect that it will happen soon.

Java is a mixed beast. You gain portability but you suffer a hit in performance. The language is well designed and there are a lot of developers out there doing Java. However, the performance loss is a major detraction in gaming, a field where you usually have to wring every drop of processing power out of the machine to keep on the cutting edge of the field. C++ is usually the tool of choice for game development. With how fast newer computers are getting, it's not unheard of to have people write games in Java, or even in Python or other interpreted language. I'm not sure how well OpenJDK would run on Pandora, but it might not be too bad. The memory requirements usually are the killer, as I've got 2 gigs of memory on my dekstop and I use half a gig of memory and half my 2.6 dual core processor cycles when running Eclipse, which is albeit a very large program. Eclipse bogs down horribly on the pitiful 512 MB 2 gHz Pentium 4 I run at work, though if I run a stripped down Ubuntu with Fluxbox I can keep enough memory available to actually run my applications. Java is nowhere near as slow as it used to be, with improvements made in the VM and Just in Time compilation. On the other hand, Java has proved to have its place in a number of places, but it's closed source nature up until last year kept a lot of OSS developers away from it. It is the language that is being taught in CS departments now instead of C++, and has huge marketshare in enterprise settings, but just not that much in games.

C#/.Net are a Microsoft thing. The language itself is well designed, and usually weds the good things from C++/C with the good things from Java. The reason they developed it pisses me off though. As Java bytecode could be run on any machine (with a proper VM) without recompiling, Redmond didn't like threats to their monopoly. They couldn't get Sun to bend, so they decided to make their own proprietary thing. Microsoft's implementation is actually pretty good in terms of doing what it is supposed to. The Mono project was created to make open-source tools to work with C# and implements the ISO and EMCA standard, but it does lack things that Microsoft make part of it's included packages, some of which even have patents. I don't recall seeing any OSS projects using C# lately, because the kind of people who use C# are Windows developers and Linux/OSS people usually stick with C/C++l. Being another virtual machine compiled language, you suffer the same pitfalls as Java in terms of performance, and Java is probably faster due to more interest in the community placed on Java. C# is gaining some place in gaming due to Microsoft pushing it as a language to develop XBOX360 games, but that's not the same market, and you cannot simply grab Windows code and expect it to run on Mono.

Check out this page for the best set of language benchmarks I've seen: http://shootout.alioth.debian.org/
You'll notice that C and C++ usually get the best scores in everything. Python is also really fast for an interpreted language, and Java and C# Mono do well. However, these aren't for programs like graphics processing and games, and you need to take the results with a grain of salt. Read the FAQ for info about the benchmarks.

Your Swirl game is actually Javascript based, not Flash. I have seen a Flash version of that game, though I don't know what it is called. Running the Javascript would be up to how fast Firefox or your other browser could handle it. Manipulating the DOM like that isn't too hard on your resources, so it should be fine. Reimplementing the game to run outside the browser would be better though.

On the kind of platform we are running, every little thing counts, and excesses that can be excused on a machine with lots of extra RAM and a processor cycles will bog you down. I'm of the opinion that Java in general is feasible, but probably impractical for large scale applications. There don't even seem to be very many games in Java or C# compared to C/C++. Python is really becoming the higher order language of choice for many OSS projects, even in games (Frozen Bubble, etc). Flash is definitely a big market, but we are still tied down by incomplete OSS implementations and no proprietary solution.
 
Pandorra said:
Some Googling revealed a forum thread where N800 users are listing Flash games that work on their devices.

They have the same resolution and touch screen as Pandora, a slower processor but also official Flash.

http://www.internettablettalk.com/forums/s...ead.php?t=14317



Hi, the files that the n810 uses for flash have been extracted from the latest n810 os, see here;

http://www.gp32x.de/board/index.php?showt...39800&st=15

The problem seems to be more to do with licensing than anything, however adobe have shown an interest in porting flash to arm processors, if that means linux support on arm or genuine windows mobile advantage support remains to be seen.
 
Last edited by a moderator:
Adobe has shown Flash running on an Android-powered G1, so there's more hope for linux, ARM, Flash support.
 
Java is very important because of cell phone games and might become more important with Android/Dalvik. Any idea what it would take to get cell phone Java games and Android Java games running on the Pandora? Would simply porting Dalvik be enough for most stuff?
 
Question: Would it be legal to distribute a "patcher" that would make the n800 files pandora compatible, if you had to get the files yourself?
 
Kyosys said:
Question: Would it be legal to distribute a "patcher" that would make the n800 files pandora compatible, if you had to get the files yourself?
Sure. It would be a similiar situation like with emulators and ROMs.
I think nobody would get sued anyway, because Adobe is planning to release their Flash 10 for free as I understand it.
 
Last edited by a moderator:
I don't think a patcher would be required. It should work OTB as it's just a flash plugin for Firefox and other browsers compatible with that kind of plugin.
 
OrR said:
Java is very important because of cell phone games and might become more important with Android/Dalvik. Any idea what it would take to get cell phone Java games and Android Java games running on the Pandora? Would simply porting Dalvik be enough for most stuff?
For Android, I'd just make a Dalvik/Android runtime environment for Pandora for the apps alone if possible.
For Java based games (See Tribal Trouble, Bang! Howdy, etc...) you'll just use the release runtimes just like you would on a Linux x86 machine.


mali said:
I think nobody would get sued anyway, because Adobe is planning to release their Flash 10 for free as I understand it.
Never, ever presume this for that reason.

If you're not licensed to distribute something, you are still going to be held actionable for violating the rights holder's right to control publication and distribution of a protected work. In this case, unless you've got explicit permission from Adobe to be spreading it around, you can bet your bottom dollar that they'll send attorneys to your door quick as can be and sue you for statutory damages if they feel they need to.


Etinin said:
I don't think a patcher would be required. It should work OTB as it's just a flash plugin for Firefox and other browsers compatible with that kind of plugin.
As long as they use the same basic .so's or statically link the binaries for the N800 should work. Getting them is another matter (you can't distribute them without Adobe's explicit written permission...) but it should work.
 
Last edited by a moderator:
Svartalf said:
mali said:
I think nobody would get sued anyway, because Adobe is planning to release their Flash 10 for free as I understand it.
Never, ever presume this for that reason.

If you're not licensed to distribute something, you are still going to be held actionable for violating the rights holder's right to control publication and distribution of a protected work. In this case, unless you've got explicit permission from Adobe to be spreading it around, you can bet your bottom dollar that they'll send attorneys to your door quick as can be and sue you for statutory damages if they feel they need to.



It wasn't meant like I would ring member's doorbells offering the files ;) If someone drops them in the internets, Adobe couldn't care less IMO
 
Last edited by a moderator:
QUOTE
Java is very important because of cell phone games and might become more important with Android/Dalvik. Any idea what it would take to get cell phone Java games and Android Java games running on the Pandora? Would simply porting Dalvik be enough for most stuff?


For those of you who don't know, there was in fact a port of the cell phone java for the Gp2x. I think it would be fairly easy to port to the Pandora.

Here is the link
 
Last edited by a moderator:
OrR said:
Java is very important because of cell phone games and might become more important with Android/Dalvik. Any idea what it would take to get cell phone Java games and Android Java games running on the Pandora? Would simply porting Dalvik be enough for most stuff?
Most J2ME games should run within microemu on a normal JVM.
Dalvik depends on some libraries that may need to be ported as well, but it is feasible.
 
Last edited by a moderator:
Back
Top