Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (497)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
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
  ignore  |  Print  
  comparing java/lwjgl and c#/xna...  (Read 7210 times)
0 Members and 1 Guest are viewing this topic.
Offline Toby

Senior Newbie





« Posted 2007-08-24 22:19:46 »

i took a peek at lwjgl, and i took a peek at xna, and i have some questions comparing them....
1. which gives better performance, like better frame rates
2. which one is easier, like in general?
3. what are pros of lwjgl?
4. what are pros of xna?
5. what has a better user base?

thanks  Grin
Offline broumbroum

Junior Member





« Reply #1 - Posted 2007-08-24 22:33:47 »

this is quite a complex thing to make comparison between a baby and an old man. Java is the very last language appeared in the last ten years where C# has more than 20 years of background with its C-base-architecture. When Java entered in the world of public development as well  as commercial releases on various modern platforms, C codes have built the Windows and all of the top-level applications, which is now the problem for industrials to make the switch over Java2.
If I were able to get myself into one of those huge entertainment societies like Micros...t or So...y , I'd be proud to annouce my new XBOX or Playstation while the poor Java2 does manage to get with the brand new No..a cellphone. Whatever the question is, I woudn't even try to make this comparison between 2 generations .... By the way, I had the choice to study both of C and Java, but my choice was to have the more scalable one to my knowledge, that is, Java.... Lips Sealed

::::... :..... :::::: ;;;:::™ b23:production 2006 GNU/GPL @ http://b23prodtm.webhop.info
on sf.net: /projects/sf3jswing
Java (1.6u10 plz) Web Start pool
dev' VODcast[/ur
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 799
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #2 - Posted 2007-08-24 23:16:41 »

Java is the very last language appeared in the last ten years where C# has more than 20 years of background with its C-base-architecture.

 Shocked

C# =~= Java, nothing to do with C or C++ (at least not anymore than Java has to do with C and C++)

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #3 - Posted 2007-08-24 23:17:30 »

C# and Java are *very* similar as a language, C# is in fact much more like java than it is like C.
Both are OO languages, with single class inheritence/multiple inheritence through interfaces, both run on a VM, both have GC, etc.etc.
As for performance, C# and Java are comparable. As a language, while I see some advantages of C#, I still prefer Java as I feel it's cleaner and simpler. C# seems to me less focused than Java, as if it can't decide if it wants to please C++ developers, Java developers or VB developers.

I don't know much about  XNA, so I can't really comment on that.

Pros of LWJGL I suppose it's that it's open source with a *very* liberal license, runs on Windows, Mac and Linux.
One big advantage of developing in java is that there are excellent free IDE's like Eclipse and NetBeans which both are really much better than MS Visual Studio .NET Especially compared to C#, where you really have to buy some plugin (iirc called C sharper or something ReSharper).

A plus of C#/XNA might be that it has a big company behind it that really actively support games development. OTOH, the java games development community is quite active, and some great stuff has come from that, like LWJGL, jME, Xith3D, etc.

In the end, I suppose it depends on your goals:
If you're a big company and want to target Windows, Windows, XBOX, and XBOX, C# might be your friend. I think targetting XBOX as a small independant developer is not so easy and it will cost, so you will probably target just Windows if you go indie.
With Java, at least you also get Linux and Mac as a bonus, and Mac is really a good market for indies! Java *can* even run on a PS3, but you won't get hardware accellerated graphics, so fast 3D games are not really viable there. Who knows, that might change some time in the future...

Offline gouessej
« Reply #4 - Posted 2007-08-25 10:35:21 »

i took a peek at lwjgl, and i took a peek at xna, and i have some questions comparing them....
1. which gives better performance, like better frame rates
2. which one is easier, like in general?
3. what are pros of lwjgl?
4. what are pros of xna?
5. what has a better user base?

thanks  Grin
Why don't you speak about JOGL?? lwjgl is not the unique java binding of OpenGL, there are jGL, GL4java... and it is highly possible that JOGL will become integrated in Java 1.7.

Offline Matzon

JGO Knight


Medals: 19
Projects: 1


I'm gonna wring your pants!


« Reply #5 - Posted 2007-08-25 11:32:02 »

Why don't you speak about JOGL?? lwjgl is not the unique java binding of OpenGL, there are jGL, GL4java...
probably because lwjgl compares more to xna than jogl, since jogl is gfx only. (you'd need jogl, joal and jinput to compare with xna).

highly possible that JOGL will become integrated in Java 1.7.
Not according to Ken Russel - and I agree with him. It would limit JOGL a lot to be in the main distribution.

Offline princec

JGO Kernel


Medals: 378
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #6 - Posted 2007-08-25 12:34:52 »

And besides all the cool kids use LWJGL  Cool

Cas Smiley

Offline gouessej
« Reply #7 - Posted 2007-08-25 15:38:59 »

Not according to Ken Russel - and I agree with him. It would limit JOGL a lot to be in the main distribution.
No, I'm not sure it would limit JOGL a lot and JOGL wouldn't be a JSR if it has no chance to be in the main distribution. If JOGL was in the main distribution, it would be easier to use it, no need to download it separately, no need to download the librairies separately when you want only to play with a game using it, no need to handle this inside your jnlp file, quicker launch, no more long waiting time after the donwload to load the kernel modules from java web start...

And besides all the cool kids use LWJGL  Cool

Cas Smiley
It is a stupid remark! It doesn't make me laugh! I don't see the interest of saying it here! Each binding has its drawbacks and its advantages and I'm not a kid anymore, sorry.

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 799
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #8 - Posted 2007-08-25 16:15:47 »

No, I'm not sure it would limit JOGL a lot and JOGL wouldn't be a JSR if it has no chance to be in the main distribution. If JOGL was in the main distribution, it would be easier to use it, no need to download it separately, no need to download the librairies separately when you want only to play with a game using it, no need to handle this inside your jnlp file, quicker launch, no more long waiting time after the donwload to load the kernel modules from java web start...

You seem to forget the updates and patches that are released very frequently. Once you lock on to one version, you're really stuck with it for at least a few months until the next JRE update, and oh...people don't tend to update too much. Every JRE will have it's own slightly different version of JOGL, a dev's nightmare.

It is a stupid remark! It doesn't make me laugh! I don't see the interest of saying it here! Each binding has its drawbacks and its advantages and I'm not a kid anymore, sorry.

Heeee... made a joke? He is one of the main guys behind LWJGL

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline princec

JGO Kernel


Medals: 378
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #9 - Posted 2007-08-25 16:26:31 »

java.gouessej.SenseOfHumourFailureException
   at tomb.TombGameState$1.flickSwitch(TombGameState.java:822)
   at tomb.actions.SwitchAction.doAction(SwitchAction.java:54)
   at tomb.TombGameState.doAction(TombGameState.java:783)
   at tomb.entities.Player.actionCurrentItem(Player.java:957)
   at tomb.entities.Player.onSteppedOnSwitch(Player.java:1136)

Cas Smiley

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

JGO Kernel


Medals: 378
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #10 - Posted 2007-08-25 16:30:29 »

One more thing to note: there are now quite a few games out there that have been successfully launched and released and sold using Java+LWJGL. To date I believe there's only one that uses JOGL for some reason. Go figure, as the Yanks like to say Smiley

Cas Smiley

Offline Toby

Senior Newbie





« Reply #11 - Posted 2007-08-25 20:02:37 »

probably because lwjgl compares more to xna than jogl, since jogl is gfx only. (you'd need jogl, joal and jinput to compare with xna).
that and also because i am guessing that lwjgl is more commonly used than jogl.  am i right?
Offline Matzon

JGO Knight


Medals: 19
Projects: 1


I'm gonna wring your pants!


« Reply #12 - Posted 2007-08-25 21:10:33 »

well, that depends...
We dont have any numbers, but my gut feeling says that jogl is mainly used for .. "business" applications, especially heavily integrated with swing. A typical lwjgl developer is probably more gaming related, using no swing stuff. That said, jogl is fine for games and lwjgl is fine for business applications too - it's just two areas of focus I would guess.

With regards to the jogl in the jre, riven is totally spot on. it's much much better for each developer to release a tried and tested version of jogl, instead of 342 different jre's. IMO!

Offline gouessej
« Reply #13 - Posted 2007-08-26 06:57:53 »

One more thing to note: there are now quite a few games out there that have been successfully launched and released and sold using Java+LWJGL. To date I believe there's only one that uses JOGL for some reason. Go figure, as the Yanks like to say Smiley

Cas Smiley
You are narrow-minded. The success of an API is not only limited to its commercial applications! You have a mercenary vision as a lot of people here.
java.gouessej.SenseOfHumourFailureException
   at tomb.TombGameState$1.flickSwitch(TombGameState.java:822)
   at tomb.actions.SwitchAction.doAction(SwitchAction.java:54)
   at tomb.TombGameState.doAction(TombGameState.java:783)
   at tomb.entities.Player.actionCurrentItem(Player.java:957)
   at tomb.entities.Player.onSteppedOnSwitch(Player.java:1136)

Cas Smiley
Maybe I have no sense of humour but I prefer having 8 years of experience in video games programming  Grin.
a dev's nightmare.
Really? Under some OS, only the loading of native librairies can take some minutes. Then, people prefer aborting the game. It is an other kind of nightmare.

Offline CheekyRipley

Junior Member


Projects: 1



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

At the moment XNA is only for people wanting to see their code on a 360, perhaps in the hope that it'll appear on XBLA.

As it stands you can't use it for PC games -- there's too many issues with all the different components your customer/player needs to install, and even then sometimes it doesn't work. Then there's the DX9 / Shader 2.0 requirement, which precludes a lot of Casual gamers.

Anyway, you certainly can't use it for releasing commercial games - I know, I was the first person to do it - and we had to withdraw the XNA version of the game because of these issues.

Having said that though, long term, I think XNA is the better bet for making PC games, particularly 3D ones. Once MS get all those runtimes on people's machines through Windows Update.

But that's only PC games, sometime in the future. With Java/LWJGL you can target PC and Mac (who cares about Linux, really, commercially) *now*.

Depends what you want to do, really. 

Mark Ripley<br />Cheeky
Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #15 - Posted 2007-08-26 11:10:04 »

Under some OS, only the loading of native librairies can take some minutes. Then, people prefer aborting the game. It is an other kind of nightmare.
LWJGL is really small (much smaller than JOGL). Compared to the size of an actual game, LWJGL's size is usually just noise level. If people are aborting because of loading times, it will be because the game is too large for them, not because LWJGL is too large.

edit: besides I totally agree with Riven that, especially for something as fragile as hardware accellerated 3D rendering, you need control over what version is being used. An OpenGL binding should stay being a library, and not become part of java.

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 799
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #16 - Posted 2007-08-26 11:38:07 »

Quote
Under some OS, only the loading of native librairies can take some minutes. Then, people prefer aborting the game. It is an other kind of nightmare.


So ehm... once JOGL would be embedded in the JRE, those native librairies wouldn't need to get loaded?

Whatever.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline gouessej
« Reply #17 - Posted 2007-08-26 12:42:16 »


So ehm... once JOGL would be embedded in the JRE, those native librairies wouldn't need to get loaded?

Whatever.
The mechanism allowing to load the native librairies by using Java Webstart seems to be slower than when you launch directly my java archive. The loading time of the game and the librairies might be short but you have to wait for some minutes after the download only for the native librairies to be loaded. If you think I'm wrong, at first, take the source code of my game, compile all with the makefile, launch the java archive tuer.jar; then launch my game with Java Webstart from my link and you will see what I mean.

Offline princec

JGO Kernel


Medals: 378
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #18 - Posted 2007-08-26 13:46:27 »

Curious. Try launching Treasure Tomb - do you get a delay there?

Cas Smiley

Offline gouessej
« Reply #19 - Posted 2007-08-26 16:24:27 »

Curious. Try launching Treasure Tomb - do you get a delay there?

Cas Smiley
The delay is shorter even after the download, I don't know the reason.

Offline princec

JGO Kernel


Medals: 378
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #20 - Posted 2007-08-26 18:48:31 »

 Cool Probably because I've been doing it for years and years too Wink

Cas Smiley

Offline gouessej
« Reply #21 - Posted 2007-08-26 22:14:07 »

Cool Probably because I've been doing it for years and years too Wink

Cas Smiley
No, it is not a good explanation. Seriously, this delay starts before the launch of my game, it doesn't depend on my game itself.

Offline EgonOlsen
« Reply #22 - Posted 2007-08-27 06:30:13 »

No, it is not a good explanation. Seriously, this delay starts before the launch of my game, it doesn't depend on my game itself.
Then maybe it has something to do with your webspace. I've never experienced this effect except when launching this particular game...it takes ages to load and it's unclear to me what it actually does during that time. The last time that i've experienced such a thing was when using webstart via a local proxy.

Offline gouessej
« Reply #23 - Posted 2007-08-27 07:24:34 »

Then maybe it has something to do with your webspace. I've never experienced this effect except when launching this particular game...it takes ages to load and it's unclear to me what it actually does during that time. The last time that i've experienced such a thing was when using webstart via a local proxy.
Don't forget that my game is "big", around 15 MB. It's unclear to me what it actually does during that time too, I will investigate.

Offline princec

JGO Kernel


Medals: 378
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #24 - Posted 2007-08-27 14:11:30 »

It does sound as if it's not the library loading that's the problem but some kind of web delay instead.

Cas Smiley

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #25 - Posted 2007-08-27 16:56:38 »

The first logging in TUER appears almost instantly here.
After that, it takes a few seconds for the game to appear. I don't know the reason, but I was assuming it was just initializing the game. Those few seconds were way too short for me to give up and kill the game, and it didn't make me want JOGL was part of Java in any case (if library loading has anything to do with it at all)...

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 799
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #26 - Posted 2007-08-27 17:04:09 »

It just has to be I/O... libraries that take minutes to load, simply because they are accessed in a slightly different environment, just doesn't make sense. Webstart has so much I/O-bugs (AKA it worked the second time), what it wouldn't surprise me if we could add another one.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline gouessej
« Reply #27 - Posted 2007-08-28 16:30:45 »

It does sound as if it's not the library loading that's the problem but some kind of web delay instead.

Cas Smiley
I tried to modify the "update" behaviour, it doesn't change anything.

Offline gouessej
« Reply #28 - Posted 2007-08-28 16:33:58 »

It just has to be I/O... libraries that take minutes to load, simply because they are accessed in a slightly different environment, just doesn't make sense. Webstart has so much I/O-bugs (AKA it worked the second time), what it wouldn't surprise me if we could add another one.
Why is my java archive bigger after the download?Huh? The java archive has a size of 14 MB and in the java web start viewer, it writes "16 MB"!!

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 799
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #29 - Posted 2007-08-28 17:06:24 »

You might want to peek inside, with you favourite zipper.

It could be that it uncompresses all class-files for speed-reasons, but that's a totally wild guess. (And it would require the whole JAR to be rebuilt... maybe the reason of the minutes delay? Wink)

Nah... just compare the jars and work from there.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Pages: [1] 2
  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.

BurntPizza (21 views)
2014-09-19 03:14:18

Dwinin (35 views)
2014-09-12 09:08:26

Norakomi (62 views)
2014-09-10 13:57:51

TehJavaDev (87 views)
2014-09-10 06:39:09

Tekkerue (42 views)
2014-09-09 02:24:56

mitcheeb (65 views)
2014-09-08 06:06:29

BurntPizza (47 views)
2014-09-07 01:13:42

Longarmx (35 views)
2014-09-07 01:12:14

Longarmx (40 views)
2014-09-07 01:11:22

Longarmx (36 views)
2014-09-07 01:10:19
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!