To LWGL or not to LWGL? That's the question

^
What’s the pros of LWGL?
Is it any faster than JoGL?
Is there reason for a JoGL coder such as myself to switch to LWGL?

LWJGL pros:

[] It’s small. Really really small. You can ship 3 platforms’ worth of code in well under a meg.
[
] We use Buffers in a particularly intuitive way in keeping with the whole Buffer API. They’re secure and fast.
[] Our methods are static. That’s because they are static methods. We switched from the JOGL style instance methods because it’s wrong. When static import arrives in 1.5, you’ll want our babies.
[
] It’s proven! It really works! Flawlessly! We’ve got a “flagship” app Alien Flux wot works on Linux, Windows, and now MacOS X (albeit in alpha), and it’s released! And Tribal Trouble’s going to take it that bit further.
[] It’s been in development for a good long time, constantly, and we’re determined to keep it in very focused development to solve real world game problems.
[
] We cut out a lot of cruft that’s inefficient, outdated, or just Wrong In Java, saving you from the trouble of discovering this for yourself.
[] We’re generally less bug-prone being small and focused, and when we find a bug, we fix it - fast.
[
] It’s still dead easy to port from JOGL to LWJGL and vice-versa. By no means is it a one-way ticket.

LWJGL cons:
[] If Elias gets run over by a bus tomorrow the Linux and Mac ports will stall for a few days whilst we find another Dane to take it over ;D
[
] Danish bacon is bad for pigs! The poor things are farmed in horrible batteries before being cured and sliced up and exported to the rest of the world to undercut local pork farms. Support your local farmers! Down with the Danes!
[*] No-one really knows where Denmark is. Go on - ask an American where Denmark is, without looking at a map.

Cas :slight_smile:

[quote]No-one really knows where Denmark is. Go on - ask an American where Denmark is, without looking at a map.
[/quote]
It’s that Island where good porn comes from isn’t it? North somewhere, where everyone is blonde… damn, you’re right.

From my point of view:

Other pros:
[]The API is much smaller than JoGL, making it easier to comprehend as a whole.
[
]For the newbies: no AWT experience required, and less Java knowledge required in general.
[]Setup/initialisation code is so much less than with JoGL.
[
]Static classes are a lot nicer than passing GL references into every single function, or storing them on every single class. LWJGL 0.6 used to work that way, thank God things changed.
[]Core dev team are very quick at providing fixes: most posts saying “XXX is broken” are replied to within a day with “XXX now fixed”, instead of opening issues, assigning people to work on them etc. (Note: this isn’t necessary a bad thing about JoGL, but it is a good thing with LWJGL)
Other cons:
[
]No AWT integration. You can’t mix your Java2D with LWJGL.
[]Smaller community, so fewer image/model loaders etc. Not as much example code as JoGL provides.
[
]Documentation is a little stale.
As a whole, I’m very happy with it right now. YMMV, of course!

Haha, the docs are awful, and it’s probably my fault because I’ve been promising to do them for so long!

I’d just like to clarify a subtlety about the AWT:

The LWJGL is independent of the AWT. They can both coexist happily. You can use the AWT to do things and then render them using LWJGL if you like - font building and glyph layout spring to mind; I’m doing just that for a realtime TV graphics system right now using LWJGL and AWT together. Just remember that there is no automatic interaction between the two - you can’t paint AWT stuff with into LWJGL window, and you can’t paint LWJGL stuff into AWT windows. But there’s no harm in shuffling BufferedImages between the two.

Cas :slight_smile:

danes rule

DTS is being coded in it and will ofcourse beat everquest :slight_smile:

DTS?

Cas :slight_smile:

actually that was our working title (dont ask)

Its called
Extorris -Dead Man Walking

Extorris is latin for exiled, we realy wanted “xiled” but its a widly used name and there is no .com domain avaliable.

The game is a MMOG. Currently we have a running server a 3d engine and alot of game objects. I am struggling learning opengl enough to extend the engine as our needs becomes more clear.

Anyhow you probably dont care., about that. LWJGL is easy to use even though badly documented(lucky we have all the C++ examples).

I still need to bash a few heads in though, because when we upgraded from 0.4 to 0.7 we got almost a 1000 errors. :frowning:

Hah, yes, we made a major change in our API at 0.7 which put our cards on the table.

Cas :slight_smile:

Is LWJGL implented a proper windowed mode? If I can remember right it was more fullscreen api but had some windowed mode plans in horizon.

ps: shame I still cannot run AlienFlux in my G400 suxor card. Ive tried most of the JOGL nehe ports and only few of them refuse to work.

All Blitz3d/DarkBasic/3DState demos work ok but probably due to a DirectX support.

The latest AF works on the G400. However, as I say to any customers who can’t get their old sucky card working - if you go out and buy a GeForce or Radeon, all you have to do is tell me what you bought in the end, and I’ll treat you to a free copy of Alien Flux.

Windowed mode is still officially debug mode. It behaves nicely on Windows, allowing you to minimize and drag and close the window. Linux works too but has a couple of issues with keyboard focus. Mac can’t yet do windowed mode.

Cas :slight_smile:

other pro :

try to switch video-mode and make fullscreen with AWT/Jogl in Linux (it’s doesn’t work).
LWJGL provide you a simple & working fullscreen window without the awt/swing bloat ;D

well,

the Mac port is allready in alpha state i know. How good the performance on Mac will be (apx.) ? Also im interested in some do and don’ts on Mac …

  • jens

The Mac performs as well as the PC and Linux versions I believe. In part this is helped by the fact that most Macs capable of running it in the first place already have processors and RAM at twice the minimum specs.

If I actually get Mac customers I’m going to ringfence the money and buy a development Mac with it.

Cas :slight_smile:

Cas, you should get the latest Mac port bundled up and post a message to mac-games-dev@lists.apple.com (you will need to sign up first). The guys on that list frequently post requests to beta test new games and it might help spread the word in the Mac community. When you have something easy for user to install (see the link I provided in the Mac Alien fluc thread - it is easy to set up a app bundle that is simple drag and drop to install) try to get Apple to host a link to it at: http://www.apple.com/games/
or
http://www.apple.com/downloads/macosx/

I’ve seen other shareware titles there, it’s not just stuff from EA and the likes.

My gut feeling is that every Mac user that downloads the demo you will get more buyers from Mac users vs. PC. Mac users had to pay a premium to get a Mac… so I conclude that they are less cheap :wink:

We’re working on sorting out all the strange glitches in the Mac port of LWJGL. They’ve really gone out of their way to make Java fiddly on OSX!

Cas :slight_smile:

Well with regards to interacting with the window system… it is much different from other platforms, probably due to the fancy OpenGL based UI that OS X uses. (Which is really sweet for impressing your wintel friends :))
Maybe in Longhorn (next generation of Windows) where I hear the desktop is DirectDraw/Direct3D based we will have some of the same headaches?

The keyboard issues are odd… I was under the impression that 10.3 was supposed to fix a lot of that. The HID code seems a tad unpolished from what I’ve heard.

Using standard Swing UIs I have found that my Java apps work fine on OS X, Windows and Linux… The mess is always with the native side.

[quote]The latest AF works on the G400
[/quote]
Yieppee, and it did indeed so. Just tried a new eval version and for the first time it run on my Cel500Mhz G400-16MB machine. And what best, it run playable speed.

Hurrah! My, you’re really scraping the bottom of the barrel there!

Cas :slight_smile:

Well I have also been working quite a lot in JOGL lately but perhaps I was also thinking of switching to LWJGL to see if it really is better for games, and if you say that the porting isn’t hard at all, then I might try it … any tips on porting from JOGL to LWJGL ?