I have been thinking about how to make an open standard for game consoles and if it would be a good idea. Of course, I dont plan to do it and I dont really know anything. ;)
I mean an open standard for game consoles, not a console that's based on open standards. So game developers could make their games compliant with the standard and many different companies could make consoles that can play them.
Benefits would be stuff like no more censorship by corporations, a more competitive market, etc.
Drawbacks might be slower innovation, maybe even slower games. And probably no more consoles that are sold at a loss. ;)
One could maybe just take existing open standards like OpenGL and OpenAL, use some kinda bytecode (llvm?) to detach the code from any specific CPU-architecture and have a pretty normal console, like the 360. Having differing controllers might make the configuration more annoying, but i think it should be doable.
Anyone know about OpenCL? Can one create "kernels" for it without knowing which CPU/GPU will run it in the end?
Of course if you would standardize something like that, console makers might be unable to innovate because you'd have to make specific games for new technologies. Like Cell or Larrabee. New controllers should be more or less unproblematic, I think.
Sweeney sat down with me for a wide-ranging conversation about the rise and impending fall of the fixed-function GPU, a fall that he maintains will also sound the death knell for graphics APIs like Microsoft's DirectX and the venerable, SGI-authored OpenGL. Game engine writers will, Sweeney explains, be faced with a C compiler, a blank text editor, and a stifling array of possibilities for bending a new generation of general-purpose, data-parallel hardware toward the task of putting pixels on a screen.
...
Whether that runs on NVIDIA hardware, Intel hardware or ATI hardware is really an independent question. You could potentially run it on any hardware that's capable of running general-purpose code efficiently.
I'm wondering if such "data-parallel hardware" of the future would be programmable without knowing exactly which hardware will run it.
Not really. You could implement it on a PC, sure. But what i mean is abstracting away the platform so that the manufacturers could make their own platforms without having anyone who can tell them they cant do that or that they have to pay for using certain technologies that are required to run the games. No one would control the platform.
Perhaps I should say some more about this. This thread is going even worse than my others. :( I think its a very interesting topic.
One could compare this with flash games rather than PC-games. They are restricted to using actionscript and the flash apis, but they are available on different platforms. The difference would be that flash is slow and proprietary.
Movies on DVDs are made in a certain format so that different companies can make DVD-players that can play them. PCs can play them too. What if games were just like that? I know games are far more complex than movies, but i think it might be doable.
Think about the prices of Xbox 360 harddrives. If someone could make another console that played 360 games, they could never get away with such ridiculous prices.
I think this would lead to more freedom and higher market pressure, which would be great.
I have been thinking about how to make an open standard for game consoles and if it would be a good idea. Of course, I dont plan to do it and I dont really know anything. ;)
I mean an open standard for game consoles, not a console that's based on open standards. So game developers could make their games compliant with the standard and many different companies could make consoles that can play them.
Benefits would be stuff like no more censorship by corporations, a more competitive market, etc.
Drawbacks might be slower innovation, maybe even slower games. And probably no more consoles that are sold at a loss. ;)
One could maybe just take existing open standards like OpenGL and OpenAL, use some kinda bytecode (llvm?) to detach the code from any specific CPU-architecture and have a pretty normal console, like the 360. Having differing controllers might make the configuration more annoying, but i think it should be doable.
Anyone know about OpenCL? Can one create "kernels" for it without knowing which CPU/GPU will run it in the end?
Of course if you would standardize something like that, console makers might be unable to innovate because you'd have to make specific games for new technologies. Like Cell or Larrabee. New controllers should be more or less unproblematic, I think.
Tim Sweeney said something about Larrabee: http://arstechnica.com/gaming/news/2008/09/gpu-sweeney-interview.ars
...
I'm wondering if such "data-parallel hardware" of the future would be programmable without knowing exactly which hardware will run it.
What do you think about this?
Wouldn't that be a PC?
Not really. You could implement it on a PC, sure. But what i mean is abstracting away the platform so that the manufacturers could make their own platforms without having anyone who can tell them they cant do that or that they have to pay for using certain technologies that are required to run the games. No one would control the platform.
Perhaps I should say some more about this. This thread is going even worse than my others. :( I think its a very interesting topic.
One could compare this with flash games rather than PC-games. They are restricted to using actionscript and the flash apis, but they are available on different platforms. The difference would be that flash is slow and proprietary.
Movies on DVDs are made in a certain format so that different companies can make DVD-players that can play them. PCs can play them too. What if games were just like that? I know games are far more complex than movies, but i think it might be doable.
Think about the prices of Xbox 360 harddrives. If someone could make another console that played 360 games, they could never get away with such ridiculous prices.
I think this would lead to more freedom and higher market pressure, which would be great.