Some project specific hardware requirement questions

Hello,

I have found the Requirements and General System Requirements pages.

I would like to achieve at least 30 fps, but 60 fps would be better, and I would need a rather large screen. So, what computer would be able to handle it smoothly (in relation to those mentioned jMonkey requirements, if it makes answering simpler) and have some leftover for the application itself?

  1. Dungeon made of generic walls and floors, and low poly counts everywhere, but with cast shadows. I would like some half panorama view, so I would need to render 2 views and then render those views on 2 cylinders, making it 3 renderings total.

  2. same as 1, but also bump mapping and UV mapping on the textures.

Considering that I am intending to buy a new computer, and I do not need a gaming computer otherwise.

Thanks.

Well it depends, really with how you do stuff, i can write a simple 2d platform that runs at 2 fps or a 3d games with 600+

Wven with intel onboards of the newer generations quite something can be archived already.
So plan like 5߀ for a bit better entry level graficcard can get you a long way depending on your demands.

General rule of thumb… it applies to lots of tech but especially so for graphics hardware:

Because what we do when we buy something like a GPU is renting a place on this curve. The thing this graph isn’t showing is that you automatically slide down the curve as time passes. In 12-18 months you will already be sliding off the back side of the curve.

You might as well get to stay in the “good” area for as long as possible.

If you start looking at graphics cards and you see the prices jumping $175, $200, $225, then suddenly $600… you know that $200-$225 is probably where you want to be.

If you want a really solid performer with stable drivers that can take a beating and don’t mind having to fix a few user-reported compatibility issues later: buy nVidia. (Their drivers tend to be the most lenient and are generally rock-solid.)

If you want something that you will curse with every other driver update but will also make sure your shaders will run pretty much anywhere: by AMD/ATI. (Their drivers are pretty bad… they used to be a total joke but they’ve improved… plus they look better now in comparison to intel.)

If you are a masochist who enjoys pain and likes routing for the underdog: buy intel.

Whatever you do, my personal opinion is that in the long run you will be happier with a separate GPU over one embedded on the motherboard. Just so much more flexible.

Thanks for the replies, but I seem to be getting answers to slightly different questions, probably because I was a bit brief earlier.

And I guess I should start with a little introduction.
I have been doing Java programming for about 15 years by now. Mostly desktop GUI and some math and graph things. I hope that I would not need to go very deep into the OpenGL at least not before I am more familiar with 3D. I have some experience in trying to keep things as trivial as possible without breaking the purpose of it.

The whole idea of doing a roguelike randomly generated dungeon crawler comes from my recent successful attempt to make a little fitness game prototype with OpenCV (OpenCV JavaCV racket game (hello world) - YouTube), but the first problem is that the game is boring like hell and the second problem is that although it successfully provokes hand movements with large amplitude there is very little fitness effect unless the legs are also involved. The boredom problem might be solved by doing a different kind of game, and the legs problem might be solved by involving leg gestures for navigating a dungeon.

Complicated 3D models (like epic spiky armor) are not really mandatory in roguelikes, the graphics can be more symbolic rather than detailed. That might enable me to concentrate more on the gameplay, especially considering that it will probably be a solo project for quite a while and I am new to 3D. I am not intending to have the most awesome 3D graphics ever seen in the world. I just hope it would turn out simple to look at and somewhat immersive.

I mean, it might look something like this:

My intention is to avoid long straight tunnels and wide open spaces in general, to limit the field of view. Cast shadows would be important because I would appreciate giving the player a hint about a monster around the corner if monsters emit a little light, but without light shining through walls.

What makes jMonkey rendering considerably faster or slower? Cast shadows, especially with multiple light sources? I could perhaps find a workaround for the lighting, if that would be a serious issue. Would there be considerably lower requirements without bump and UV maps?

Is rendering 3 times per frame (to get the half-panorama like this post with a screenshot) considerably resource intensive? I don’t want the player to flap legs about every time he wants to look slightly left and right to see what he would normally see with human ~160 degrees vision. The curved wall in the mockup image is not really curved, it is a side effect of the panoramic projection.

Computer vision also demands that the player is not looking at the screen from a very close distance like sitting by the computer, so the screen would need to be larger like 20’’ but lower resolution would be OK for the same reasons.

There is more, but the post looks like a wall of text already, and the rest is not even remotely relevant to the system requirements.

This particular thing I am trying to make would be the highest requirement thing on my computer because I am currently not using it to play games and not intending to use it for playing sitting-by-the-computer games in the future. Right now my computer is from year 2003 and it is OK for running Eclipse IDE, GIMP, and video tutorials and demos on YouTube etc.

So the main question would be: what would be the LEAST capable computer that you would expect to probably run this game smoothly? Not about what graphics card a “generic sane person” would buy.

The reason I would hope for an answer somewhat relative to General System Requirements for Applications Built with jMonkeyEngine is that then I could go to shop and say “I would like something that is about X better than those requirements on that web page.”

Sorry, the picture doesn’t seem to be visible in the previous post.

And to be on the safe side, this link seemed to work in browser:

Well that grafic you have there are probably at the minimum requirements for jme then, so opengl 2.0 support it must be. Else than that mostly everything will work.

Notie that shadows can be rendered in way different resolutions and with different filtering, so they can be made a user quality setting, allowing for a wider range of devices.
Alternatives might be simple drop shadows, that would even work on andoid then.

tl;dr the shadows are probably your most costly factor, but since they can be adjusted to run on (not completley outdated) intel onboard, that would be around your minimum requirement then.

1 Like

Thanks, that is exactly what I was trying to ask.
It seems I will not need to worry about jMonkey requirements at all : )

SSD
8GB Ram
some discrete gpu,
some cpu

That would my minimal configuration for every programmer, increase the gpu level based on your visual quality

Lighting and Shadowing hits hard. Even high end systems can’t handle multiple shadowcasting lights easy.

1 Like
@zzuegg said: [...]Lighting and Shadowing hits hard. Even high end systems can't handle multiple shadowcasting lights easy.
I don't mind monsters not having shadows, and the shadows cast by dungeon walls would be somewhat simple.

The first and nicest alternative solution that I would try might be possible in Java3D but I have read some discouraging things about Java3D.
In Java3D there is BoundingPolytope for bounds of a light source.
So I would have to split the light effect area into convex polytopes.
It seems one light source can only have one Bounds object in Java3D, which means I would need a light for each polytope, which is inefficient. I would rather prefer if a light source could have multiple bounds, the polytope constraint sets separated by OR.

Unfortunately, JME3 does not seem to have polytopes for BoundingVolume, just the cube and the sphere and currently unsupported capsule.

It may look like a chance for me to contribute in the future, as I have done some things with convex polytopes, including some linear programming, but I don’t know yet if it can be done with plain Java of if there is some OpenGL stuff involved that I should be aware of.