is it fast enough?

hey folks - I gotta ask this as I don’t want to go all the way to find out it doesn’t work… I read some thread where ppl where arguing about xith and if it’s fast or slow without an agreement so what I would need to know is:

is it fast enough to render a space shooter / simulation - like game with decent framerates (nothing simple - I’m talking about detailed high res grafics if possible, still though no map, only a skybox and multiple models). or if that’s a better question: how many verts / lights will it take without a problem at any moment?

and another thing: the collision demo is unbearable slow at my pc (which isn’t up to date but not that bad either) - is that the actual situation or can that be improved?

if you think xith is not suited to my needs - do you have any suggestions for other engines?

thanks for any information!
Muffin

for a better collision demo, run some of Odejava’s demos.

Xith3D reportidly has good performance – for a scenegraph. Java Cool Dude did some Xith3D<–>Java3D comparisons.

I am using it for a real-time game, with trimesh collision (though odejava) and it runs fine.

Will.

The question is it “fast enough” isn’t really complete.

What is your target machine/hardware?
What are your target platforms?
What effects are desirable?
What effects are required?
How much time do you have to write your game?

Xith is good in comparison to some other scenegraphs, however it’ll never be as fast as a well written custom renderer. However, it will save you alot of time. For good performance it probably relies on some more advance card features (VBOs?) so if your target is old graphics cards it might not suit.

There are alot of factors - what is enough?

Kev

bear in mind we did a top-down 3D shooter with > 50 MD2 models on map, > 20 on screen most of the time, all animated, at any one time, and Xith was fine performance-wise.

I would point you at the playable version, but … it needs upgrading to latest version of Xith + LWJGL and I’m pretty sure it doesn’t launch at the moment.

kevglass did all the xith code.

but … it’s certainly easily fast-enough to write fast games - and this was with fairly large maps.

Of course, we did nothing ultra-cool and funky - no particles systems, no special lighting effects, etc - so it doesn’t prove xith’s capabilities for an advanced 3D game (where I think you’d have fiarly big problems, possibly requiring you to improve parts of xith3d in order to get the performance you needed)

Also, we had huge problems with certain parts of xith (the 2D integration with swing, for instance, was horrid) - and although these are “known issues” that people are trying to fix, no-one’s actually released a patch for them ever so far, so YMMV.

Yes and no…

It depends on the enough you think about. It was enough for my needs until recently (I used to develop a board game framework with Xith for 3d graphics, 4 games work fine under it, the project started 1 year and a half ago).

But it lacks some core features and Xith design was not clean and flexible enough to let me add them to it. Therefore I had to move to my own engine (in progress).
For my needs, I was mainly lacking ;

  • UI system,
  • Fine tuned memory management,
  • Multipass rendering,
  • Offscreen rendering,
  • Scenegraph pluggability (A way to extend it whithout modifying the core, like visitor design pattern and so),
  • Clean integration with different UI system (in particular SWT).

Note that I think that Xith is the best solution publicly available so it’s definitely the way to go.
Java3D (my first try) is too slow. jMonkeyEngine seems fine but I did not like the architecture and did not try it seriously.

So I would say ; start with Xith and if it happens to not fullfill your will either someone will have provide the needed patch by the time or you will do !

         Vincent

On a side note, programming a full game is quite a big and long task, it happens to me that the hardware & software was evolving more quickly than my needs ; I mean that even if todays hardware & software are not ‘known to be enough’ to render your game, by the time you will have written it, hardware & software will have evolve and may fullfill your wish.
2002 = GeForce 4 -> Now = Geforce FX 7800 : it makes quite a difference :smiley:

You’re assuming of course that all your potentially players constantly upgrade. I, for instance, don’t have anything better than a GF4 in the house.

Thats why its so important to choose your audience, and write for them.

Kev

In fact, I just have a GF2 GTS :-[. But it’s enough for my needs and when I will add more advance feature, I will upgrade it :slight_smile:

Hmm couldn’t we add something to renderPeer that enables direct acces to jogl, without having to modify the code of these classes? Ok one would loose compatibility between lwjgl and jogl, when something only existant for either jogl or lwjgl is used, but than it would be easier for guys like Niwak to add their features to Xith, so they don’t have to move over to writing their own engine (which is probably very much work)

thanks guys - that gives me an idea!

I’m aiming for the standard gamer hardware or below (and I know that the standard is not very high in average) both windows and linux, as the game takes place in space there will be a skybox, at least one dynamic light at a time (the sun) + lasershots aso. and quite a lot models of ships, containers, planets and whatever but nothing fancy - so the whole thing should be playable even on a 2ghz machine with some geforce4 card

I have plenty of time as it’s only for fun. I’m doing it together with a friend and we are not trying to reach a certain release date especially not for the graphics part - so we’ll do everything around graphics wherever we can help it, we basically need a client for testing at the moment - the engine might be exchangable sometime

looks like we will try xith then together with odejava, again thanks folks!

I am writing a mystery game that has multiple rooms, multiple pick objects, popup dialogs, typically has 5-6 lights on (Point and Spot), animations in the render loop, several xith UI windows up, the Xith collison system running (yes it works well…ignore the speed of the demo), sound affects with keyboard and/or mouse movements. On my 16MB Geforce 2 go 800 MH laptop with a screen at 1024x768 I get 20 FPS, on my Dell desktop (2GH) I get 50-60 FPS… I have made no code optimizations yet, so this is not super tweaked code…good of course…but not optimized. I am sure I can do better.

I never crash…
I never run out of memory due to a bad scene API
I have always worked flawlessly with new releases
I have always gotten a response or suggestion on forum posted questions
Xith3D gotta love it…

;D

I am open to suggestions :slight_smile:

In fact the ability to add cross-renderer extensions would also be useful (for those like myself who support both renderer’s in our applications).

Really most of the stuff you can do in JOGL you can do in LWJGL and vice-versa anyway, it’s normally just lazyness that stops people from porting it (which is why it is mandated that any changes to the Xith3D core are made to both renderers).

Cheers,

Will.