I want to do game graphics most of all. I want to show my OpenGL 3.3 compliant demo with tessellation and deferred shading when I apply for a job.

There is the problem - you are not a game developer.Tech demos are naturally different and use more stuff.If you want to create a game experience, you want to reach as many people as you can, and give up on graphical effects if necessary.

Also please stop talking crap about OpenGL 2 being stone age.I bought a laptop 4 years ago, has 2.1, I work with it every day, I have money, I am an IT person - so it's safe to say many many more people have this kind of equipmentIt runs games until NFS: Carbonand if those graphics aren't pretty enough for you, then there obviously something wrong with you

Just a random idea, how about targeting OpenGL ES 2.0 ? Just a few days ago the news was posted that the ANGLE Library is now fully OpenGL ES 2.0 certified. LWJGL also now supports OpenGL ES, so in theory it should be a pretty reliable target for Windows (probably even more so than using OpenGL drivers).

As a side benefit it'll make porting to mobile platforms and WebGL (maybe using GWT) easier.

Dammit. Please stop calling anything above at or above the level of a GTX 8000 series card high-end already. My friend's 600$ laptop has DX11 support for god's sake. You're targeting the lowest of low-end, but I am NOT targeting high-end only. There's a middle ground... -_-'

Price isn't the only factor though - it's also related to how often people upgrade, or what's bundled in off-the-shelf pcs. My desktop for example is only a 6800. Not because I couldn't afford to put a better card in there, but because it's perfectly adequate right now and I haven't been bothered to upgrade yet. Similarly people choose laptops that get better battery life, which is often counter to having the latest shiny thing that nVidia have put out. There are lots of reasons why people lag several years behind what's current.

The Steam survey even shows that only 56% of people are DX10 capable. And those are pretty hardcore gamers. Your friend with a DX11 card is within 5% of hardcore gamers. You might not consider it to be, but that's very high end.

Yup - it's all about what is actually out there in the wild, not what you yourself consider to be high or low. I think for Orangy Tang's purposes targeting OpenGL2.1 will let him use most of the fancy new functionality he wants to try out like shaders etc. and only lose, what, maybe 15% of the potential audience which seems a good compromise.

Observations about what's cheap, what's obsolete, judgments about how people should just get a clue and upgrade and stop seeing GL 3.x as "super fancy" and so on ... it's all well and good, but Cas runs a business. I'm sure he'd love to ditch the legacy cruft, but the hard fact is that casual games that support older OpenGL versions sell more units than ones that don't.

Me, my target is "whatever runs on the random hardware I have on hand" and it's all OpenGL 3.3 and higher. By the time I ever get my current project shipped, OpenGL 6.0 will be out

Are there any major technical hurdles to supporting multiple versions in one game? I envision different levels of graphical settings corresponding to different render pass implementations.

That's a very difficult question to answer, I think. From my experience it's very dependant on what you're trying to do graphically, and how much you can afford to scale things back without breaking your gameplay.

(All this my own experience, if anyone wants to chip in with their own angle or methods that'd be helpful).

FBOs for example - if you restrict yourself to 24bit RGB then you can pretty easily emulate that by drawing to the backbuffer, and it's pretty easy to do it so that only a tiny amount of code needs to change. But as soon as you do something more complicated (like wanting RGBA, or using FBOs with shared depth buffers) then the non-FBO path has to do much more elaborate things like drawing twice with different blend modes, or using the stencil buffer to emulate the shared depth buffer, and it ripples through to the higher level code quite badly.

Things get worse when you may have some sort of combinatorial explosion of enabled effects, hardware capabilities and fallback paths. Choosing a good baseline goes a long way to making this all much more manageable. And that's before we've touched on keeping all these different options tested and working with only one pair of hands.

- Fixed-function lighting + multi-texturing.- Two paths for semi-programmable hardware, utilizing NV_register_combiners and ATI_fragment_shader.- Full shader-based (GLSL). I'd used the low-level shader extensions as well, but ended-up throwing that out when GLSL drivers stabilized.

I would never ever do it again. Which means I'm closer to what theagentd is saying. I'm not comfortable with his strong opinion either, but in his defense Orangy Tang didn't really specify what kind of engine he wants to build in the OP. Anyway, for Puppygames-style games, I'd go with GL 1.5 baseline and then build on that. Decent VBO support is the minimum requirement. One fixed-function path and one (basic) shader-based one is not that hard to build and support.

@theagentd: I'm wondering why you consider GL 3.3 should be the baseline. Take one step back and you can run on the newer Macs (3.2). Take one more and you can run on Ivy Bridge (3.1), which imho is going to be really popular. Do you really require geometry shaders to build a modern engine?

And when doing 2D games I think of awesome games like Diablo 2 and their requirements - a game that would run on that laptop no problem

It's weaker than my PSP. I'm actually laughing my ass off at him if he's paying for that shit. Is he, and how much?

like a hundred bucks - and why is it shitI would still buy a C64 =D

Because it's I'm gonna have my school report done when you're computer has finally opened up Word, probably even using less electricity. I can even listen to music at the same time without my hard drive grinding to a halt!

My logic in buying an expensive computer is this: - I need a computer for school work, Internet, e.t.c. - I want to play games. - I want to watch movies and anime.

I could get a cheap computer, a console and a DVD/Blu-ray player, but they would all be low end (yes, PS3/X360 is low end). If I just combine my budget into a decent computer, I can get a computer that does all the things I listed above in one package so much better performance. You just have to be technical enough to hook up your desktop/laptop with an HDMI cable to your TV. I'm not saying that it's cheaper or better than buying those things separately, just that you get so much more performance for the same amount or not much more money. Add in that I like graphics and programming, it's obviously cheaper for me to focus on my PC than anything else.

And don't just ignore me as some rich kid or something. I worked my ass off for 3 months on McDonalds on minimum wage to build my computer.

And when doing 2D games I think of awesome games like Diablo 2 and their requirements - a game that would run on that laptop no problem

It's weaker than my PSP. I'm actually laughing my ass off at him if he's paying for that shit. Is he, and how much?

Not everyone is happy to ride the evil-capitalist-conspiracy planned obsolescence train. Also, IBM Thinkpads are well regarded for being pretty reliable machines.

I differentiate between "runnable" and "playable". Just because your game RUNS on a computer older than I am doesn't mean that it runs well. OpenGL version doesn't say anything about what performance you can expect performance from them. I've seen OpenGL 2.1 cards that have barely enough fill rate to fill every pixel on the screen without shaders. GLHF getting 60 FPS on those cards no matter what OpenGL version you support.

I'm not trying to argue your reasoning - people should use newer technology

but this is the realityalso - I earn my money with a Laptop, a HP nx6325, has like 2Ghz single core, some ATI express, 1GB Ramif this thing breaks I'm gonna buy another weak laptop or netbook to replace it, maybe even the same model if I get it cheaply, because this thing was just so reliable all this time

one person on our developer team has a acer aspire one, which is the weakest machine we all haveso we ensure that our game runs 60 fps on this machine

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