Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (499)
Games in Android Showcase (118)
games submitted by our members
Games in WIP (568)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2 3 ... 5
  ignore  |  Print  
  Lots of doors are being closed for Java  (Read 17949 times)
0 Members and 1 Guest are viewing this topic.
Offline gouessej
« Posted 2011-02-07 12:37:59 »

Hi!

WebOs uses OasisJVM based on Harmony but its uses is reserved for internal operations, applications are not allowed to use it which means that WebOs has no Java support and I don't forget that OasisJVM is available only in command-line and without support of AWT & Swing. Google seems to prioritize native development kit for Android and it says that native applications are awesome. There is still no official and legal JVM on IPhone. The future is quite dark on Windows Phone too. Lots of devices using SoC (system on chip) have no pre-installed JVM, tablets (except those with Android), ADSL/SDSL set top boxes, ... The situation is even worse on video games machines. Which interesting platforms have some sort of Java support except computers? What can we do to improve this situation?

Offline JL235

JGO Coder


Medals: 10



« Reply #1 - Posted 2011-02-07 12:55:23 »

There now seems to be a new 'java is dying' type thread every month here on JGO. Maybe this trend tells us a lot more about Java's popularity.

I still maintain Java is hugely popular; just only server-side for big enterprise software and web-apps. Outside of that, non-server-side Java development is slowly becomming a niche.

Offline CommanderKeith
« Reply #2 - Posted 2011-02-07 14:41:05 »

Android is more like a new vehicle for java, hopefully this litigation between oracle and google doesn't put google off java the language. As someone said here before, it'd be great if google put out an android dalvik vm for PC's with applets and web start, but done properly...

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec

JGO Kernel


Medals: 391
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #3 - Posted 2011-02-07 15:14:25 »

I think it'd be pants if Dalvik took off any more. I think what'd be best is if Oracle start being a bit less twatty about distributing their ARM JVM.

Java has always been niche on the client. So no change there. Odd considering how good it is at general application development.

Cas Smiley

Offline hishadow

Senior Newbie





« Reply #4 - Posted 2011-02-07 16:06:27 »

Java has always been niche on the client. So no change there. Odd considering how good it is at general application development.
Wasn't that only until recently? Java applications used to be associated with ugly user-interfaces and poor performance. Applets only became useful (atleast for me) since update 1.6.10, which was probably a last-ditch effort by Sun to remain relevant on the desktop. It's a shame it took so long.

I think this Oracle lawsuit is a good thing. It will motivate Google to work on their Portable Native Client technology, which I think can be quite exciting for all kinds of platforms. At the very least, it'll give Oracle some competition as a browser vm (I dont find Javascript + WebGL + canvas particularly convincing).
Offline hishadow

Senior Newbie





« Reply #5 - Posted 2011-02-07 18:52:22 »

deleted: wrong button
Offline princec

JGO Kernel


Medals: 391
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #6 - Posted 2011-02-07 19:56:46 »

JS+WebGL+Browser is exactly everything applets should have been. It's awesome. Just unfortunately a bit slow and prone to all the other problems OpenGL has always suffered, not to mention all the problems that are going to arise by browsers all being a bit different. It's all probably too late anyway: Unity and Flash are doing it perfectly just right. No real room for much else any more.

Anyway - Java on iPhone => Colossal win. Java on PlayStation or XBox => Colossal win. Java on Android => Colossal win. But none of these things has happened because of Sun's inept management. All too late now. I'm looking at GCJ to see if I can figure out the iPhone dilemma. I wish GCJ had a fast GC.

Cas Smiley

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #7 - Posted 2011-02-07 20:03:30 »

JS+WebGL+Browser is exactly everything applets should have been. It's awesome. Just unfortunately a bit slow and prone to all the other problems OpenGL has always suffered, not to mention all the problems that are going to arise by browsers all being a bit different. It's all probably too late anyway: Unity and Flash are doing it perfectly just right. No real room for much else any more.

While WebGL is great in theory, JS is still too slow and IE is unlikely to ever support it and even if they added it today, it'd be years before it'd be widespread enough for mass use.

Agreed that that Unity and Flash do it brilliantly, no love for LWJGL/JOGL applets? Smiley
Offline princec

JGO Kernel


Medals: 391
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #8 - Posted 2011-02-07 20:06:09 »

LWJGL applets are pretty much as good as any Unity stuff. In fact capable of being so much more. The problem is the "capable" part. No-one has delivered an integrated toolchain for getting content out there built on these technologies. Unity could have been that toolchain but they got wise to the fact Oracle/Sun won't let Java run anywhere (irony, thy name is Java) and made their own client instead.

Cas Smiley

Offline woogley
« Reply #9 - Posted 2011-02-07 20:49:48 »

While WebGL is great in theory, JS is still too slow and IE is unlikely to ever support it

I think you're behind the times. 3 megacorporations have been investing into incredibly fast JIT compilers for JavaScript. v8 in particular makes you forget you're running JavaScript. But that's not even the point - WebGL forces you to write all graphics processing in shaders, which execute on the GPU. JavaScript is only responsible for moving things around and user input.

IE, along with others, have also incorporated hardware acceleration into the 2D Canvas context (regardless if you use WebGL or not). So I think IE is more open to implementing HTML5 features than ever before. But again, that doesn't matter if they do or don't, because their usage has been slipping (below 50% these days) and people have had no problem telling users to download FF/Chrome/etc.

As much as I hate relying on multiple browser implementations, I actually feel better than developing against Oracle's whim.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gouessej
« Reply #10 - Posted 2011-02-07 21:04:08 »

There now seems to be a new 'java is dying' type thread every month here on JGO. Maybe this trend tells us a lot more about Java's popularity.
That is not what I mean. I don't say that there is no solution and I'm not pessimistic, I still use Java for all my projects.

Android is more like a new vehicle for java, hopefully this litigation between oracle and google doesn't put google off java the language. As someone said here before, it'd be great if google put out an android dalvik vm for PC's with applets and web start, but done properly...
In my humble opinion, J2ME implementations were often crappy but Android DVM is slower than J2SE For Embedded. I prefer real Java.

No-one has delivered an integrated toolchain for getting content out there built on these technologies.
Java has a lack of WYSIWYG tools to build games, that's the point, I agree with you.

But again, that doesn't matter if they do or don't
I think you underestimate MSIE even though I don't like it. If IE does not support WebGL, it won't kill this technology but it will be an obstable to its massive adoption.

Which solutions are the most viable to put Java on consoles and embedded devices that have no JVM? GCJ? OpenJDK? XMLVM? Language conversion tools (based on ANTLR?)? 100% native implementation of the Java API like NaJa? AOT compilers?

Who would be ok to put some means (time, money, ...) onto the table to do this?

Offline pjt33
« Reply #11 - Posted 2011-02-07 22:43:50 »

Which interesting platforms have some sort of Java support except computers?
Blu-ray players.
Offline tberthel
« Reply #12 - Posted 2011-02-07 22:47:06 »

Lots of doors being closed?

My Estimates:

1.2 Billion J2ME Phones
1 Billion Android Phones by 2012
1 Billion PCs/Laptops/Netbooks with J2SE browser plugins

That is basically one Java device per person that can afford the device.

Sure we lose out on the following:

200 million Apple devices (You can still install it if you don't care to adhere to Apples shit)
20 million WM (WM7 I believe actually have J2ME installed)
~12 million WebOS

Apple is the only relevant player that is hard on Java.  The rest are pretty meaningless.

Although, I admit J2ME and J2SE need a more friendly market place.  Many of the best Java programs get converted into a native build now days because many of the stores don't like Java.

What we need is cheap AOT and on all platforms.  That would solve the rest of the problems.

So, I would say that Java has it's doors wide open.  Just because Apple, Intel, and others have gatekeepers doesn't mean you can't deploy.

Offline tberthel
« Reply #13 - Posted 2011-02-07 22:58:50 »

Just in case you didn't realize.  Apple, and others are not going to change unless they are forced to change with AOP or code/bytecode converter.  Your probably not going to get them to add Java without it.

How long do you think AOT or code/bytcode converter for J2ME would take per platform?

I would say one man year for each of the different platforms not wanting Java.  What platforms really need this Apple and the browser?  What else?  I think that is pretty much it.  We already have XMLVM and GWT so both are already partially solved.  Sure you don't have Swing or AWT support so what.  The rest is mainly there.

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #14 - Posted 2011-02-07 23:07:26 »

I think you're behind the times. 3 megacorporations have been investing into incredibly fast JIT compilers for JavaScript. v8 in particular makes you forget you're running JavaScript. But that's not even the point - WebGL forces you to write all graphics processing in shaders, which execute on the GPU. JavaScript is only responsible for moving things around and user input.

I'd say you're ahead of the times Smiley, its all exciting stuff but as we've seen time and time again, it just takes way too long to catch on (if ever) and technologies like Flash are always one step ahead, work better and are just a more practical choice.

One recent example of the fate of a popular HTML5 game, Cardinal Quest.
Offline princec

JGO Kernel


Medals: 391
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #15 - Posted 2011-02-08 00:13:45 »

I don't even want Apple to support Java on iOS! I just want fecking Oracle to license me a fecking VM so I can put it on iOS myself, embedded into my games! Like I do already on Windows, and will in the not too distant future also do on the Mac.

Cas Smiley

Offline princec

JGO Kernel


Medals: 391
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #16 - Posted 2011-02-08 00:19:27 »

Also all the XMLVM stuff etc etc. is all well and good except that it's painfully shit. As in slow. The reason I use Java right now is because it's pretty fast and easy and strikes a great balance between fast and easy. To get faster I need C++, but everything gets very hard; to get easier I need javascript, but then everything gets slow. I can't really do "slower" because I'm already pushing the limits of Java as it is. Maybe my code could be a smidgen more optimised but then things aren't easy any more.

Cas Smiley

Offline tberthel
« Reply #17 - Posted 2011-02-08 02:43:27 »

princec, I have seen your code and you could get a considerable performance boost if you need it.

Look at MiniSpaceWars on BlackBerry to give you an idea of Java performance on very little hardware.

XMLVM was slow last time I checked, but that can be fixed.

You don't need C++ or JavaScript.  Or for that matter Flash or Unity.  I however do think we will all need HTML5 and a distributable VM or AOT compiler.

Offline CommanderKeith
« Reply #18 - Posted 2011-02-08 02:57:05 »

AOP compiler.

Just wondering, what is an AOP compiler?

Do you mean an AOT (Ahead Of Time compiler such as Jet http://www.excelsior-usa.com/jet.html). Googling AOP seems to just turn up Aspect Oriented Programming which looks like a different idea...  Huh

Offline tberthel
« Reply #19 - Posted 2011-02-08 04:38:29 »

Sorry yes AOT.  I did it 3 times.  AOP is good too  Smiley

Offline cylab

JGO Ninja


Medals: 50



« Reply #20 - Posted 2011-02-08 08:28:18 »

AOP is good too  Smiley
for shooting oneself in the foot Wink

Mathias - I Know What [you] Did Last Summer!
Offline JL235

JGO Coder


Medals: 10



« Reply #21 - Posted 2011-02-08 08:50:33 »

I think you're behind the times. 3 megacorporations have been investing into incredibly fast JIT compilers for JavaScript. v8 in particular makes you forget you're running JavaScript. But that's not even the point - WebGL forces you to write all graphics processing in shaders, which execute on the GPU. JavaScript is only responsible for moving things around and user input.

I'd say you're ahead of the times Smiley, its all exciting stuff but as we've seen time and time again, it just takes way too long to catch on (if ever) and technologies like Flash are always one step ahead, work better and are just a more practical choice.

One recent example of the fate of a popular HTML5 game, Cardinal Quest.
In about 6 months time his prediction will be true. FF 4 it (hopefully) out this month and IE 9 will probably be out within 6 months. Pretty much all FireFox users are running the current version; I'd estimate about a month for them to all switch to FF 4. For IE stats show that IE 7 users are pretty much non-existant which suggests that most users will upgrade to IE 9 quickly.

By that time FF, Chrome and IE will be more then fast enough to play pretty much all HTML5 games.

Offline badlogicgames
« Reply #22 - Posted 2011-02-08 08:59:05 »

I've been seriously considering looking into writting an AOT bytecode to native compiler with LLVM. I too would love to have  a way to target IOS and i too think that Oracle is missing a big oportunity here. Flash also goes the AOT/LLVM route on IOS, they even seem to have a nice Java wrapper around LLVM's C API for their compiler. Suckers. Anyways, here are the problems that need to be solved.
  • Getting to compile JVM bytecode to LLVM IM code and then to whatever target architecture. The target might even be another high level language like C. The biggest issue is implementing the Java memory model, e.g. atomicity of read/writes of plain old datatypes (minus double/long) among other things. That's something you can hardly achieve when transforming to C for example. Other problems include obeying the ABI of the target platform and so on.
    • Garbage Collection. Now, there's a couple of ways to achieve this. The easiest route is to go full-blown libgc which is a conservative garbage collector implementation. Integration is dead simple, performance sucks a little though due to its conservative nature. Another route would be to write your own GC schema which is error prone and a general pain in the ass. Matthias mentioned the way the latest Python handles GC which looked to be rather straight forward (exact mark & sweep garbage collector).
    • Runtime libraries have to be ported. Now, there's Harmony and Classpath of course. But those include a metric ton of native class which would have to be ported to all target platforms. Also, Harmony is a stinking pile of bugshit, at least on Android. Go ask Nate about how well the networking stack is implemented in Harmony. Classpath is pretty much out of the window as well for anything mobile due to its size. It's also not straight forward to port. This is probably the most labour intensive task in this list. I'd suggest only supporting a minimal subset of the Java SE runtime, maybe even targeted at games at the beginning.
    • Related to the first item, JNI support is a must. One could of course come up with a new way of letting Java interact with native code, but for portability reasons i'd not go that route.
    • Debugging support, which is again related to item one. LLVM has some helpers in that regard so that should be doable. What's unclear is the integration with toolchains/IDEs. GDB is no joy to work with in general.

    That's just the tip of the iceberg really. GCJ is not a viable option due to its dependency on Classpath and other little problems. It also uses libgc for garbage collection, just as Mono does on IOS and Android. That garbage collector is even worse than the one that's available in Dalvik (altough the lastest GC is pretty decent from what i saw, concurrent generational gc). XMLVM is a crazy idea but suffers from so many unsolveable problems, it's hard to even start to describe what's wrong with it. Suffice it to say, it's useless and won't get any better (watch the respective Google Talk on Youtube).

    JIT solutions on IOS, e.g. Oracle's ARM VM are not viable either as those are not permitted due to Apple's little rulebook. You can't make read/write memory executable memory on IOS.

    So here's my reasoning for not taking on an AOT compiler (even though it would be a fun little side project). WebOS/Maemo/Meegoo/WP7 are irrelevant and don't seem to catch up to either IOS or Android. While targeting those would probably net you some money i don't think it makes a lot of business sense. IOS is still the most lucrative platform to develop for. Android doesn't earn you shit as the mentality of Android people seems to be different. However, as things look at the moment, IOS is losing market share and Android seems to become the dominant mobile OS for the next few years. I therefore strongly believe that with proper business models you can make a buck on Android just due to its huge user base. Combine that with letting your app run on the desktop as well and you have some nice oportunities. I therefore will limit myself to developing for desktop/Android.

    However, if someone is willing to take the AOT route, i'd be interested in helping out Smiley

http://www.badlogicgames.com - musings on Android and Java game development
Offline tberthel
« Reply #23 - Posted 2011-02-08 10:10:31 »

While the XMLVM is impractical.  I don't think LLVM has any better results to show. 

1 billion Android phones in 2012 will stay around for 2 decades and not just a few years.

I couldn't ignore the 1 billion J2ME devices.  That would supposedly include WP7 and Moblin/MeeGo for me.  While my games have ran on Moblin and a version of MeeGo I don't know if AppUp will ever let me in.  The spec for J2ME on WP7 looks good, but I don't have a way to test it.

Well instead of Android/Desktop I chose J2ME/J2SE/Android to give me an extra billion devices.

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #24 - Posted 2011-02-08 10:17:05 »

In about 6 months time his prediction will be true. FF 4 it (hopefully) out this month and IE 9 will probably be out within 6 months. Pretty much all FireFox users are running the current version; I'd estimate about a month for them to all switch to FF 4. For IE stats show that IE 7 users are pretty much non-existant which suggests that most users will upgrade to IE 9 quickly.

By that time FF, Chrome and IE will be more then fast enough to play pretty much all HTML5 games.

6 months is way too optimistic, I'd say it'll be at least 1.5 to 2+ years before it'll be widespread and compatible enough to be worth targeting and that is just for Canvas. WebGL is still continuing to look like a failed standard until IE either supports it or dies. Meanwhile Flash charges ahead with tech's like Molehill likely to get 90%+ share much faster when Adobe push it out.
Offline badlogicgames
« Reply #25 - Posted 2011-02-08 10:26:07 »

While the XMLVM is impractical.  I don't think LLVM has any better results to show. 

You didn't quite read my post eh? Keep on trolling!

http://www.badlogicgames.com - musings on Android and Java game development
Offline princec

JGO Kernel


Medals: 391
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #26 - Posted 2011-02-08 10:48:43 »

It was, to be fair, a slightly confusing and long post Smiley

I'm currently investigating GCJ. Which I know has GC issues and may ultimately be too slow anyway. Fortunately I can work around GC to some extent without a vast amount of pain, and I use so little of the Java class libraries any bugs that might occur in Classpath should be also not difficult to find or workaround.

Will try one more time to pester Excelsior. Last time I asked Dmitry they were looking at a low five-figure sum to get an ARM backend on their incredibly good AOT compiler/VM.

I am beginning to think I might just give up on the iOS port of Revenge.

<edit>tberthel, please feel free to throw any serious optimisations you might have my way Wink But I don't want the code to end up looking like C, if you get my drift.

<edit2>A few more logs for the fire: http://www.theregister.co.uk/2011/02/08/oracle_loses_client_to_server/

Cas Smiley

Offline Roquen
« Reply #27 - Posted 2011-02-08 10:56:50 »

@badlogicgames:  I assume you know about LLVM subproject VMKit?  The last time I looked at it (probably over 6 months ago) it still had a long way to go before been usable. Apparently they have moved away from using the Boehm conservative collector to the JikeRVM collector since then, which should be a good thing.  This could be used as a starting point for a bytecode -> native compiler.  The java memory model shouldn't be a problem as all hardware (that I can think of) insures that reads and writes of primitives (32-bits and smaller) are atomic.  However, this seems like a route to insanity.
Offline princec

JGO Kernel


Medals: 391
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #28 - Posted 2011-02-08 11:04:52 »

This is the trouble: these are all complicated twisty paths to extensive hair loss. This isn't what I signed up for. I'd be better off ditching Java tech completely.

Hm.

Cas Smiley

Offline pjt33
« Reply #29 - Posted 2011-02-08 11:44:30 »

FF 4 it (hopefully) out this month and IE 9 will probably be out within 6 months. Pretty much all FireFox users are running the current version; I'd estimate about a month for them to all switch to FF 4.
ROFL. I can't be the only one who won't even consider switching in the first month because I want to see how buggy people find it, and will wait for 4.1 unless people are pretty much unanimously calling it a vast improvement. Once bitten, twice shy.
Pages: [1] 2 3 ... 5
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Pippogeek (39 views)
2014-09-24 16:13:29

Pippogeek (30 views)
2014-09-24 16:12:22

Pippogeek (20 views)
2014-09-24 16:12:06

Grunnt (46 views)
2014-09-23 14:38:19

radar3301 (28 views)
2014-09-21 23:33:17

BurntPizza (64 views)
2014-09-21 02:42:18

BurntPizza (36 views)
2014-09-21 01:30:30

moogie (42 views)
2014-09-21 00:26:15

UprightPath (52 views)
2014-09-20 20:14:06

BurntPizza (54 views)
2014-09-19 03:14:18
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!