Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (534)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  java worth it?  (Read 2502 times)
0 Members and 1 Guest are viewing this topic.
Offline Ooze Orbs

Junior Newbie





« Posted 2011-01-11 22:20:32 »

With all the news of java being a security vulnerability  for malwere, the fact java is very unpopular compared to flash and the fact flash games can be made 3X's faster then java is it worth investing time trying to create game in java or is it safe to say java is no longer an option? Also why is java so unpopular? I mean I  see many big browser game sites(miniclip, addicting games etc.) use flash instead of java.

Ooze Orbs
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 74
Projects: 15


★★★★★


« Reply #1 - Posted 2011-01-11 22:37:13 »

question requires a rather lengthy answer but will keep it short.

- When it comes to small 2d casual browser games, Flash just beats java applets hands down. It has better user experience, starts faster, has really good tools, is lighter and just works well almost everywhere. However most of the area's where Flash excel's at are now slowly starting to be taken over by Javascript and HTML5, so it'll be interesting to see how long Flash will still be relevant for those type of games.

- The Unpopularity bit is Java Applets (java in the browser) and not Java itself, people fail to make this distinction.

- Java Applets have been seriously horrible to use in the past, they have however started to improved in the last few months and the issues with applets are slowly being resolved. The damage to java's image however, has already been done and will take a long time to repair. One of the main reasons for this is that clientside just isn't a major focus for java and is probably why the experience has sucked for so long.

- Having said that, in terms of raw power Java Applets can do a lot more then flash, you can do some really cool stuff, like proper opengl in the brower, have full network capabilities, etc. Things are getting better for applets but the competition isn't standing around either.

- If your aiming for desktop games (non applet), then your up against the likes of C, C++, etc and here java is a pretty good choice these days. Especially with Hotspots being really fast and approaching C++ speeds.

But in the end it doesn't really matter what tool/platform your game is made in, if done well it can suceed regardless of the platform used. Just look at Minecraft Smiley
Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #2 - Posted 2011-01-12 00:31:45 »

Java applets are supposedly getting better, although recently Apple totally broke applet support for Mac OS X.  Roll Eyes Hopefully that gets undone.

See my work:
OTC Software
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline JL235

JGO Coder


Medals: 10



« Reply #3 - Posted 2011-01-12 01:15:36 »

- The Unpopularity bit is Java Applets (java in the browser) and not Java itself, people fail to make this distinction.
I really really second this. I meet lots of programmers who say Java is dead or unused, and they think this because they don't know about the tonnes of Enterprise stuff done with Java. There is a reason why Java is the most popular language in the world (according to some measurements) and that has nothing to do with applets.

On the plus side Java is lightning fast. I've had plenty of innefficient algorithms that scale massively with Java on low-end machines simply because of it's speed. I port them to JS and even in Chrome they need to be heavily optimized.

That's about it for the pluses. Applets can be are really horrible to use. The startup is still terrible, and there are still loads of niggly issues such as what happens when running your applet on an older version of Java and with caching errors.

Even though people see Flash as being replaced by HTML5 + JS, it's getting far more development then Java. Adobe are putting huge amounts of efforts into Flash to keep it at the forefront, to help keep it a real contender. Video playback is still far better with Flash, even on Linux (at least for me). Unlike with HTML they can just add any features they feel it really needs and all their users will support it within 3 months of a new Flash update. Sun, and now Oracle, just aren't driving applets. This comes back to my first point, that Java is only used in the enterprise world and so there isn't any point in improving applets. That's the sad reality. What you have now will almost certainly be exactly the same in 5 years.

Then there is penetration. Flash has over 90% whilst Java 6 is only over 60%. With penetration that good it invalidates the argument that you should use HTML5 since you don't have to rely on a plugin (because with Flash it will be there). There is also the annoying fact that the web feels like it's on the point of being revolutionised with WebGL in (most) browsers and Flash planning to support 3D. The annoying bit is that Java has been 3D capable for over 10 years, so why have we not seen masses of 3D games deployed via the web? Because it's never been really pushed with Java.

For me I often feel Silverlight is what Java applets should have been. Pushed by a big company with proper tool support. Like Adobe, MS also sell tools aimed solely at building software on top of their platform. I even used to use some of them (Expression Design) for building art work for when I built applets! Sun (now Oracle) just don't.

For me Java is still an excellent choice for something really advanced and powerful, because it'll require lots of errort and so working on top of Java adds very little compared to say Flash or JS (and probably even reduces some time because again you don't have to care as much about performance). For anything else it just makes far more sense to use something designed with that in mind. To me applets have always felt like a hack put together over a week, like it's only half built as a proof of concept.

Although that's just my opinion. MineCraft and RuneScape prove you can build something great with Java. There are also some popular Java applet portals. I think those examples are a far stronger argument then anything said in this topic.

Offline oNyx

JGO Coder


Medals: 1


pixels! :x


« Reply #4 - Posted 2011-01-12 02:44:41 »

>flash games can be made 3X's faster

Writing AS3 is very similar to writing Java. I ported some stuff over to Flash and the code looks pretty much the same. Just slightly different syntax, function scope instead of block scope (it's a little bit annoying), and replacing some lists with "arrays".

Turn-over rates are also very similar. And the quality of the documentation is also equally high.

It's the same thing, really.

Canvas/JS for example provides a bit more productivity than both. There is less to type¹ and the turn-over rate is also higher.

[¹ Less than 1% of the programming time is spent with typing.]

Well, the thing with games is that you typically spend less than 25% of the time with coding. The remaining 75% are consumed by content creation. The next time you beat a game try to count the number of artists and programmers. The ratio is usually somewhere between 3:1 and 5:1.

弾幕 ☆ @mahonnaiseblog
Offline JL235

JGO Coder


Medals: 10



« Reply #5 - Posted 2011-01-12 04:10:33 »

Canvas/JS for example provides a bit more productivity than both. There is less to type
Less to type doesn't equal faster. I used Erlang for a project once at uni, and although I wrote far less code I found it took far longer to write.

One of the big issues for the canvas for me is that the only real documentation out there is the spec, which isn't as nice to trawl through as say JavaDoc. It's built more for those implementing the canvas then for those using it.

Offline oNyx

JGO Coder


Medals: 1


pixels! :x


« Reply #6 - Posted 2011-01-12 05:24:12 »

>Less to type doesn't equal faster.

First of all, pay attention to that footnote. I'm also aware that there is a difference between a bit less to type and cryptic mess¹.

[¹ Hah! You expected Perl, didn't you?]

Another thing is scale. With Java it's obviously possible to write monolithic programs with millions of lines of code. JavaScript becomes unmanagable at a much earlier point², but there is still enough headroom for many things you can do alone or with a small team.

[² Can be postponed quite a bit with the Closure Compiler.]

Just like Java, it's an appealing compromise for some specific problems.

>One of the big issues for the canvas for me is that the only real documentation out there is the spec [...]

Works fine for me. The API is very simple (and very similar to other 2D APIs) and usually you'll only use a very tiny subset. If you also got some kind of IntelliSense thing going on, it becomes a complete non-issue.

>It's built more for those implementing the canvas [...]

To be fair, I actually kinda did that kind of thing (Flash). I'll also do it once more (Java) and perhaps even a third time (C++). I skipped all font and path stuff though.

弾幕 ☆ @mahonnaiseblog
Offline JL235

JGO Coder


Medals: 10



« Reply #7 - Posted 2011-01-12 06:28:10 »

Another thing is scale. With Java it's obviously possible to write monolithic programs with millions of lines of code. JavaScript becomes unmanagable at a much earlier point², but there is still enough headroom for many things you can do alone or with a small team.
I personally find it's about 100kb per 1,000 lines (or at least for one of my larger JS project) which can quickly add up. Optimized it's a third of that. However if you were running something like Eclipse in the browser (which has recently been announced) I would not find it unbearable to have to download a JS file in the megabytes. Especially since it can be cached and with braodband speeds now that's only a few seconds of download time.

One of my hates is that there isn't anything that JS gives out of the box to help with scaling. Like you can fake namespaces using JSON objects, fake classes and can write scripts to merge multiple JS files together (which makes deployment easier if you only need 1 script tag). But that's all extra stuff that you need to hack on top.

The main issue is FireFox. I know IE still has lots of issues but most people accept that and then turn to FF as their alternative browser. Yet it's still way too slow for running JS.

Offline pjt33
« Reply #8 - Posted 2011-01-12 09:46:42 »

Well, the thing with games is that you typically spend less than 25% of the time with coding. The remaining 75% are consumed by content creation. The next time you beat a game try to count the number of artists and programmers. The ratio is usually somewhere between 3:1 and 5:1.
Depends on the type of game. When I worked in minigames the ratio was about 2 programmers to 1 artist, 1 tester, and 0.3 composers (if that - hard to estimate because they didn't just work for our department). And the coding was, as usual outside games too, at least 75% debugging.
Offline xinaesthetic

Senior Member


Medals: 1



« Reply #9 - Posted 2011-01-13 01:10:05 »

However if you were running something like Eclipse in the browser (which has recently been announced) I would find it unbearable to have to download a JS file in the megabytes.
Errr, where is this announcement?  The closest thing I found was a blog post from 1/4/2008...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline JL235

JGO Coder


Medals: 10



« Reply #10 - Posted 2011-01-13 03:18:06 »

However if you were running something like Eclipse in the browser (which has recently been announced) I would find it unbearable to have to download a JS file in the megabytes.
Errr, where is this announcement?  The closest thing I found was a blog post from 1/4/2008...
Eclipse Orion which was announced 2 days ago. Apparently it'll be open for public use around the end of January.

Offline xinaesthetic

Senior Member


Medals: 1



« Reply #11 - Posted 2011-01-13 11:31:33 »

However if you were running something like Eclipse in the browser (which has recently been announced) I would find it unbearable to have to download a JS file in the megabytes.
Errr, where is this announcement?  The closest thing I found was a blog post from 1/4/2008...
Eclipse Orion which was announced 2 days ago. Apparently it'll be open for public use around the end of January.
Interesting, thanks.  Says something about the world of technology that someone would consider this a suitable April Fool just a couple (well, three) years ago.
Pages: [1]
  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.

pw (35 views)
2014-07-24 01:59:36

Riven (33 views)
2014-07-23 21:16:32

Riven (21 views)
2014-07-23 21:07:15

Riven (24 views)
2014-07-23 20:56:16

ctomni231 (55 views)
2014-07-18 06:55:21

Zero Volt (47 views)
2014-07-17 23:47:54

danieldean (38 views)
2014-07-17 23:41:23

MustardPeter (43 views)
2014-07-16 23:30:00

Cero (59 views)
2014-07-16 00:42:17

Riven (56 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!