Sign in to follow this  
TwinbeeUK

OpenGL 30 year deadline for 3D game

Recommended Posts

I'd like to spend at least 30 years on a killer game. By that time, everything can be raytraced and made from millions or even billions of polygons. At least for me, hacks like texture mapping or even bump mapping will be less of a priority for me. Basically, I'd like to know a basic universal 3D format that will still be around in 30 years time so I can begin designing the polygon structure of the game. Preferably, it will allow scope for materials too (but I want super low-level definitions, not just presets like 'glass' or 'wood' etc.) Finally, the ideal 3D format would be programmable through C. In other words I would want to program any point of any polygon to move in any way. I'm guessing something like OpenGL would support this kind of thing. What 3D format would be best? And what (preferably cheap) 3D software can get me started on this 30 year-long quest? Many thanks all for any answers to these questions!

Share this post


Link to post
Share on other sites
I assume this is a joke, but I have a few minutes to spare, so what the hey.

Forget it. You have no possible way of knowing what will be around in 30 years time and neither does anyone else. You could ask John Carmack, Cliffy B, Will Wright or anyone else what was going to happen to game development, in terms of design, 3d formats, platforms, genres, 3d engines or whatever, and they'd be lucky if they got it 5% right. Chances are that we won't be using polygons in 30 years time. It might be subdivision surfaces or splines or some other high level approximation of polys that hasn't even be adopted yet.


Besides, even if you ignore the fact that whatever you come up with won't work in 30 years, whatever you came up with would be crap in 30 years. It used to be said that todays FMV would be realtime in five years, and it's probably less now. In other words, even if you created the highest quality you can currently manage with the high end rendering tools, it would be old tech in six years, and you'd still have 24 more years to go.

Share this post


Link to post
Share on other sites
Not a joke - I just have big ambitions :)

Quote:
terms of design, 3d formats, platforms, genres, 3d engines or whatever, and they'd be lucky if they got it 5% right.

That's why I want to work on as low a level as possible. You surely can't go wrong with designing a super-detailed polygon mesh for a game, even if it's 30 years away.

To take 2D graphics as an example, one can (almost) be sure that pixels will still be around in 30 years time. Pictures will still probably be defined by a 2D array of pixels. Even if they aren't defined that way, the quality will still be exceptional given 30 years of work.

Let's say I do work on billions of polygons, and it turns out the future is a bunch of purely mathematical surfaces, one could still convert it I'm guessing.

Also bear in mind that there are graphics today which look amazing, but only run at 0.01 frames per second (i.e. unplayable). I hope to design to that level of detail, and when the future comes (say 30 years from now), it will run at a super smooth 60fps or more.

Quote:
Besides, even if you ignore the fact that whatever you come up with won't work in 30 years, whatever you came up with would be crap in 30 years.

I'll be aiming more for highly detailed and tasty, but at least partially abstract graphics. I'm not going for super-uber realism, at least not at first. Even something like the Tron film had graphics which in many ways would look 'polished' in 30 years, even if they're not as sophisticated.

So again, which current low-level universal 3D format would most fit what I'm looking for?

[Edited by - TwinbeeUK on May 2, 2009 10:41:12 AM]

Share this post


Link to post
Share on other sites
No, really. You can't say anything about it. For example look at the games 30 years ago: here. These are all 2D, with the pixels visable and some just lines. Nobody could imagine a game like Crysis (with milions of triangles) to emerge within a few years. Nobody could even imagine that we would have triangles in 3D space in our games in just 30 years.

The same is true for the future. We can't "see" what lies in the future of game development. Thirty years is just too much. The splines that sybixsus proposed could be just as wrong as another representation.

Edit: reply on your edit.
2D graphics were then defined as lines/shapes and for the exeptional games as pixel arrays. It's still the same but the procedural textures are gaining field.

Emiel1

Share this post


Link to post
Share on other sites
My point is that even if that is true, one can convert it whatever format exists at that point. There are many awesome artistic/highly detailed 3D pictures around today, and the future will animate those so that they run in realtime. We can certainly expect something along those lines.

With enough polygons, and maybe some texture mapping, results will eventually reach a point where the eye can't tell any difference anyway.

Share this post


Link to post
Share on other sites
Forget C, forget DirectX, forget OpenGL, forget raytracing, forget polygons. None of those are gonna matter (probably won't even be around). Here's my best uneducated guess about the lowest level file format for computer games in 30 years. If we don't just go down the road of cyberbrains, instead. Then I have no clue. Maybe neurons?

Quote:
Original post by TwinbeeUK
With enough polygons, and maybe some texture mapping, results will eventually reach a point where the eye can't tell any difference anyway.

It will probably be like that but go into the direction of augmented reality, but that's not 30 years out, more like five years.

Quote:
Original post by sybixsus
It used to be said that todays FMV would be realtime in five years, and it's probably less now.

I already can't tell the difference between some of the in-game cutscenes and FMVs in PS3 games like DMC4 and Uncharted. The only way I can tell in Uncharted is if I put on a custom costume and it disappears during the cutscene.

Share this post


Link to post
Share on other sites
In 30 years we are going to raytrace volumes instead of polygons or polynomial surfaces for sure.

Share this post


Link to post
Share on other sites
Good point. Though I thought even if polygons are 'empty inside' as the representation inside the computer, they are still *treated* as if they were solid when doing the final raytrace.

lightbringer, the qubit looks complicated, but hey maybe. I like the idea of using a bunch of voxels, or 'atoms' for a game. Make every part truly interactive.

Naturally, one can convert between polygons, atoms, voxels, qubits etc., given a high enough res to start with.

Share this post


Link to post
Share on other sites
I can gurantee you that if you spend 30 years making a different game every three years then your last few games will be of significantly higher quality than your single 30 year game. Plus you'll have ten games instead of one.

Share this post


Link to post
Share on other sites
Quote:
I can gurantee you that if you spend 30 years making a different game every three years then your last few games will be of significantly higher quality than your single 30 year game.

I'm not entirely convinced of that, especially as I will be researching as I go. Each bit of the game would be extensively planned, and experimented with etc. At the most, I can imagine creating many external 'sandboxes' for playability/gfx ideas. This way, I can try out lots of different things without having to make each one into a game.

Each bit may undergo several revisions and drastic changes until I was completely happy.

Quote:
Plus you'll have ten games instead of one.

Ten lesser games, instead of one killer :D

Quote:
Sounds like this is more of a 30-year graphics demo than a game. Do you actually have any gameplay in mind, or is it just graphics?

I'm glad someone said that. Ironically, my tastes in gameplay are very much 'old-skool', so I'd spend just as much time on the gameplay. It will be very much like 'twitch' gameplay, where there's always something to do/move/react to, not like a lot of recent games where one might sprawl a terrain for ages before anything happens. (example SNES Zelda 3 compared to 3D Zeldas such as Zelda 64).

I often prefer 2D games in general, because of the more 'restrictive' gameplay. However, the 3D game I plan on making will use more 2D gaming concepts, despite the gfx being entirely 3D and (hopefully) breathtaking.

Share this post


Link to post
Share on other sites
Quote:
Original post by chronocalamity
Forget game design all together the world will end in 30 years
Some even say.. 2012, so better limit your game design..

Share this post


Link to post
Share on other sites
While slightly off-topic, I have to point out that the games we are comparing your future game to that look amazing right now have maybe dozens of artists working for years to create them. I don't have any numbers on hand but in man-years, for an amazing looking game 30 doesn't sound like much to me. If your going to do the one-man-crew thing, I would recommend doing what OrangyTang said.

Share this post


Link to post
Share on other sites
Quote:
Original post by TwinbeeUK
Ten lesser games, instead of one killer :D


You mean ten finished games instead of one Battlecruiser clone, right? :D

Quote:
Original post by juturnas
I don't have any numbers on hand but in man-years, for an amazing looking game 30 doesn't sound like much to me.

I don't have any numbers either but I would imagine that today's AAA titles need much more, somewhere around 100 or 200 man-years. Just look at the lengthy credit roll of a game like Metal Gear Solid 4. But the man-month is a myth anyway!

Share this post


Link to post
Share on other sites
Sure, research 30 years for one killer game...then in Q2, a better game is released. I bet you'd wish you spent those 30 years doing something more meaningful than a mere entertainment product. If you're going to study something for 30 years, at least make it something worthwhile.

Share this post


Link to post
Share on other sites
Quote:
I bet you'd wish you spent those 30 years doing something more meaningful than a mere entertainment product

Well I suppose that depends on how highly you value games as an art. Remember though that it subsumes other art forms to a degree, such as graphics, animation, music, and maybe story.

One could say the same thing about music, and of course there's tons of throwaway songs out there, but that doesn't mean there aren't timeless classics as well.

Also, it would be ridiculously fun and exciting to play (in theory). Breathtaking and tons of set pieces too (which would not sacrifice playability). I would try to give it as much atmosphere as when one goes to their first theme park as a kid, which is obviously incredibly tricky to capture for jaded adults (including myself).

Apart from that, there's potential worldwide fame/money. I'm sure many would do it just for that if possible.

So, back on topic, do people think that something like X3D, U3D, Collada or Obj would be a good 'foundation' to build 3D data upon?

[Edited by - TwinbeeUK on May 2, 2009 5:45:15 PM]

Share this post


Link to post
Share on other sites
Well, as people have said, this topic is unlikely to produce many accurate predictions... but it's interesting none the less.

Personally I'm interested in what kind of display technology we'll be using. I'm pretty sure all screens will be 3D, so you should probably be targeting you game at these kind of devices:

3D Monitors
Volumetric Displays

Concepts such as pixels and polygons may well be extinct - after all, 30 years ago we were probably on vector-based graphics.

And what about input? The mouse and keyboard have served us well but I think we can assume they won't last for ever. And, as shown by platforms like the Wii, input devices are becoming increasingly important.

For the much more immediate future (over the next 5 years) we're likely to see a lot more of these kinds of technologies:

Future Gaming Technologies

At least, I'm hoping so :-)

Share this post


Link to post
Share on other sites
Quote:
Original post by PolyVox
Future Gaming Technologies

At least, I'm hoping so :-)


Pretty rad, and a number of these already exist separately in commercial games (there was Assassin's Creed in it, apparently Shadow of the Colossus, Far Cry 2, Crysis and Zelda, something that looked like Half Life 2, something that looked like Infinity, and certainly many others that I missed) the only thing I could ask for is that all of this is fed directly into my brain through some helmet, complete with navigation output directly from the brain. I want my Otherland/Multiverse today :)

Share this post


Link to post
Share on other sites
Nice find PolyVox - I love all that particle stuff.

3D monitors sound great, though in principle I bet it would be very easy to adapt any 3D game to a future 3D monitor.

I'm still holding out for wall-sized OLED displays :D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Forum Statistics

    • Total Topics
      627735
    • Total Posts
      2978855
  • Similar Content

    • By DelicateTreeFrog
      Hello! As an exercise for delving into modern OpenGL, I'm creating a simple .obj renderer. I want to support things like varying degrees of specularity, geometry opacity, things like that, on a per-material basis. Different materials can also have different textures. Basic .obj necessities. I've done this in old school OpenGL, but modern OpenGL has its own thing going on, and I'd like to conform as closely to the standards as possible so as to keep the program running correctly, and I'm hoping to avoid picking up bad habits this early on.
      Reading around on the OpenGL Wiki, one tip in particular really stands out to me on this page:
      For something like a renderer for .obj files, this sort of thing seems almost ideal, but according to the wiki, it's a bad idea. Interesting to note!
      So, here's what the plan is so far as far as loading goes:
      Set up a type for materials so that materials can be created and destroyed. They will contain things like diffuse color, diffuse texture, geometry opacity, and so on, for each material in the .mtl file. Since .obj files are conveniently split up by material, I can load different groups of vertices/normals/UVs and triangles into different blocks of data for different models. When it comes to the rendering, I get a bit lost. I can either:
      Between drawing triangle groups, call glUseProgram to use a different shader for that particular geometry (so a unique shader just for the material that is shared by this triangle group). or
      Between drawing triangle groups, call glUniform a few times to adjust different parameters within the "master shader", such as specularity, diffuse color, and geometry opacity. In both cases, I still have to call glBindTexture between drawing triangle groups in order to bind the diffuse texture used by the material, so there doesn't seem to be a way around having the CPU do *something* during the rendering process instead of letting the GPU do everything all at once.
      The second option here seems less cluttered, however. There are less shaders to keep up with while one "master shader" handles it all. I don't have to duplicate any code or compile multiple shaders. Arguably, I could always have the shader program for each material be embedded in the material itself, and be auto-generated upon loading the material from the .mtl file. But this still leads to constantly calling glUseProgram, much more than is probably necessary in order to properly render the .obj. There seem to be a number of differing opinions on if it's okay to use hundreds of shaders or if it's best to just use tens of shaders.
      So, ultimately, what is the "right" way to do this? Does using a "master shader" (or a few variants of one) bog down the system compared to using hundreds of shader programs each dedicated to their own corresponding materials? Keeping in mind that the "master shaders" would have to track these additional uniforms and potentially have numerous branches of ifs, it may be possible that the ifs will lead to additional and unnecessary processing. But would that more expensive than constantly calling glUseProgram to switch shaders, or storing the shaders to begin with?
      With all these angles to consider, it's difficult to come to a conclusion. Both possible methods work, and both seem rather convenient for their own reasons, but which is the most performant? Please help this beginner/dummy understand. Thank you!
    • By JJCDeveloper
      I want to make professional java 3d game with server program and database,packet handling for multiplayer and client-server communicating,maps rendering,models,and stuffs Which aspect of java can I learn and where can I learn java Lwjgl OpenGL rendering Like minecraft and world of tanks
    • By AyeRonTarpas
      A friend of mine and I are making a 2D game engine as a learning experience and to hopefully build upon the experience in the long run.

      -What I'm using:
          C++;. Since im learning this language while in college and its one of the popular language to make games with why not.     Visual Studios; Im using a windows so yea.     SDL or GLFW; was thinking about SDL since i do some research on it where it is catching my interest but i hear SDL is a huge package compared to GLFW, so i may do GLFW to start with as learning since i may get overwhelmed with SDL.  
      -Questions
      Knowing what we want in the engine what should our main focus be in terms of learning. File managements, with headers, functions ect. How can i properly manage files with out confusing myself and my friend when sharing code. Alternative to Visual studios: My friend has a mac and cant properly use Vis studios, is there another alternative to it?  
    • By ferreiradaselva
      Both functions are available since 3.0, and I'm currently using `glMapBuffer()`, which works fine.
      But, I was wondering if anyone has experienced advantage in using `glMapBufferRange()`, which allows to specify the range of the mapped buffer. Could this be only a safety measure or does it improve performance?
      Note: I'm not asking about glBufferSubData()/glBufferData. Those two are irrelevant in this case.
    • By xhcao
      Before using void glBindImageTexture(    GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format), does need to make sure that texture is completeness. 
  • Popular Now