Post a Comment
There is more to games than just 3D graphics. They would have to be using cross platform libraries for everything if they want to "just release a linux binary". Now I'm no games programmer so I don't know what cross platform libraries exist or how good they are, but the simple fact is that DirectX provides a lot more than just 3D graphics. You'll have to provide a full games developing stack if you hope to lure people over.
SDL is what you want you are suggesting: www.libsdl.org
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."
Edited 2007-08-13 14:30
I know of SDL, but since I'm not a games programmer I have no idea how it compares to other frameworks in terms of ease of use, performance and features. Hopefully someone can comment on whether or not it's as good or better than the popular proprietary alternatives. There has to be a reason why it hasn't hit it big among commercial developers.
IF this time they work closer with hardware manufacturers and do improve and drive hardware changes with official functions and not only depending of hardware manufacturer's semi-official extension... well, then maybe that'll be true... gradual increasing OGL minor versioning may be one way to do that and create some kind of hardware capable standard (as DirectX is, were versioning is very useful to know the capabilities of the hardware and what applications do support it)
But OGL is much more focused in professional work these days than games, were DirectX reigns... and we need more support from hardware vendors (better drivers) too.
...that said... these changes in the new version looks promising. I hope they get in our hands quickly (implemented I mean...)
The positive thing for the video game industry is that opengl is truly cross platform.
Most notably, it provides the same feature set under windows xp and vista, unlike directx, so it will become an attractive option for the gaming industry if they are uncertain whether they should target dx10 (new features but uncertainty about the vista market) or dx9 (no new features, risk of releasing technologically subpar games if the vista market does suddenly explode)
Right, because the only platform-locked API used in a Windows game is the graphics API. The common 3D sound APIs, game-optimized networking layers, input handlers, movie playback engines, VoIP integrated systems, and so on are all complete non-players, I'm sure.</sarcasm>
OpenML, OpenAL and OpenGL - use the standard UNIX networking, and voila - cross platform.
Don't believe the 'hype' that because Microsoft puts a shiny unifying name over a bunch of disparate and disjointed API's, doesn't mean there is actually any logic to them.
As for gaming, who cares - there are consoles these days; get a console, it'll last you 5 years, and get a laptop that'll give you portability - through *NIX (*BSD, Linux or OpenSolaris) and be done with it.
Kia Ora kaiwai!
Unfortunately consoles aren't always an option for indie game developers. While the Playstation 3 uses OpenGL+Cg it is not available for use by the general public, and certainly not available when running Linux on the PS/3 (Ubuntu runs pretty sweet). This is a real shame as Sony promised the Playstation 'Edge' but I there is no general release of it (unlike the Xbox360's XNA kit), which fits Sony's business model but is a shame.
Otherwise I agree with you, developers thinking of a long term strategy should be looking at OpenML, OpenAL (which is starting to be more widely used in games such as Oblivion), and OpenGL.
For those that have only tried earlier versions of OpenGL (or DirectX) it is worth trying OpenGL 2 as it has most of the features of D3D 9c. The object model of OpenGL 3 just makes life even easier for developers, plus gives driver writers the chance to introduce additional efficiencies, plus if you use OpenGL 3 you will have Direct3D 10 features on WindowsXP and Vista (and all the other Operating Systems out there).
For all intensive purposes, PS3 is a complete and unmitigated disaster. There are only two viable platforms, Xbox 360 and Nintendo. Heck, New Zealand is used as the 'petri dish' for new products - early adopters of technology, and PS3 has come off as a complete disaster. BlueRay dvd's are failing to sell, games are failing to sell etc. etc.
Heck, I've got mates, die hard Sony fanboys who have given up and moved to XBox, PS2 users who deemed they would never go Microsoft so pissed off at PS3 they've looked at alternatives. When the price difference is *DOUBLE* and there are a laundry list of issues with the PS3, is there any wonder if is failing?
Why does it matter whether the console is proprietary? what do you possible gain about having a stand alone PC - a PC which uses a proprietary BIOS, proprietary CPU, proprietary GPU with a proprietary operating system sitting on top. When compared to a console, the console doesn't off looking too bad after all.
Again, you gain *NOTHING* using a stand alone PC. In fact, given how games constantly up and up their requirements, you're basically stuck on an upgrade treadmill just to get adequate performance out of a game vs. a console that be kept for 5 years and still be able to run games 5 years after purchasing the console.
nm the *nix vs everything else arguments and the whole thing of weather or not *nix is actually a viable laptop/desktop alternative.
As far as consoles go, MS seem to have taken a pretty nice chuck of that market too and xbox does use a version of directx. But not to worry every other console uses ogl. Also virtually all special effects in movies are created with opengl so directx does not really have such a large share as most people believe it does.
But it would be nice to see ogl coming back to the desktop. I don't really hold high hopes for that but it's nice to dream every once in a while.
Where is this myth coming from? NONE of the consoles have OpenGL as their primary API, and there are very good reasons for that.
Both Wii and Playstation have API:s that are much closer to the hardware than OpenGL. GL has so much old useless cruft in it, so it would be stupid to use it on consoles where max efficiency and min memory consumption is king.
Same thing with Xbox, sure, it runs "Direct3D", but it's a special version adapted for the Xbox hardware.
Um. This is not true at all. At least for the playstation it isn't. Sony uses egl (or opengl ES) as their basis for their toolkit.
Here is a link among many that shows this.
http://www.ps3-market.co.uk/sony-playstation-3-game-development/
Sony has used opengl as part of their toolkit since the very first playstation. The version of opengl that they use (ES) is usually used for embedded systems and usually stick as close to metal as possible but it's also very extensible. BTW, whenever X gets ported to use full opengl it will also be using opengl ES as it backend (which is why its usually called Xegl).
Here is another link form the wiki.
http://en.wikipedia.org/wiki/PlayStation_3#Development
Sony really went all out this time with a very open platform (except for the graphics drivers) which is pretty cool. If they would actually let you use the RSX drivers in linux and upgrade the ram (I think they should have thought about that a bit). I think the PS3 would have been the next commodore 64 or Amiga. That community is still around and they are always looking for a new toy to replace their old one and the PS3 would have been perfect. People can most likely get around the ram issue, but without the graphics drivers its a no go.
Consoles are closed systems and therefore inconvenient.
Want to plug a console to a DVI monitor? Tough luck.
Don't want to wait 6 month - one year for a game to be released in your contry because they need to translate it, and you don't care about the translation anyway, because they are usually sloppy and use awful voice actors?
Too bad, you can't order the game from the us - unless you also buy an us console, which comes with a whole new set of inconvenience.
Yes, some/most of those issues can be solved by ordering adapters or chips of dubious quality from some asian websites or by getting your console modded (not even sure a 360 can be made region free), but then the argument that a console is just "plug and play" starts melting down fast.
Also, most pc games nowadays allows people to make mods. If you play oblivion on 360, the only additional content is crappy and overpriced stuff from bethesda.
If you play on PC, you have entire websites of amateur content, some of which is very good (especially at fixing many more or less minor inconveniences in the game)
So, screw consoles. I only ever buy any of them for a select few good games that can't be found on PC.
Edited 2007-08-13 13:39
Console games differ very much from PC/Mac games. They have horrible controls (no Mouse&Keyboard) that disqualify them from decent implementations of most genres: no Simulations, no Lucasgames style Adventures (which have a revival on PC right now), no Strategy games, no innovative indy games (because a PS3/XBox/Wii developement kits are extremely expensive), no management games, no mmorpgs, no decent rpgs, no ... i could go on like that for ever.
So buying a Console as replacement is an alternative if you like either beat em ups, wannabe gangster racers or sport games or if you are an masochist who wants to try playing an fps with joypad (=i'm-drunk-and-running-into-walls-simulation).
I had 4 consoles so far and it was always the same... after 3 month i return to my PC, even if it was outdated at that time.
"no innovative indy games (because a PS3/XBox/Wii developement kits are extremely expensive)"
Uh, XNA for Xbox 360 is free. Can't get much cheaper than that. if you plan to distribute your games (not a hobbiest, it costs 99 bucks a year, or 49 for 4 months. That's still pretty cheap, any small dev house could afford that.
http://msdn2.microsoft.com/en-us/xna/aa937793.aspx
quote from page:
"Q: How much does XNA Game Studio Express cost? Is there a difference between Windows and Xbox 360 development?
A: Visual C# Express, the XNA Game Studio Express tools and runtime environment for Windows are all FREE. To develop, debug and/or play games on the Xbox 360, however, you must have an XNA Creators Club subscription purchased directly from the Xbox Live Marketplace. Two subscription options are available: $99 per year or $49 per four months."
i know about XNA, but from what i have heard, you can't even spread games for free without paying additional Microsoft tax.
Plus XBox360 has the additional disadvantage that 1/3 of the sold consoles died in the first year of usage, so who would want that kind of hardware?
I seriously hope that will will push devs to develop games using OpenGL so that they can also be ported to Linux.
And for those who say just play a console: It's a matter of choice. Some games are much better being played using a keyboard and a mouse. So to each and his own.
I don't think you have a clue what OpenML does.
OpenAL is slowly becoming a standard, yes, but the proprietary APIs are still popular.
The standard UNIX networking APIs are just low-level socket routines, not a high-level game-optimized network library. The low-level API is irrelevant - your average game author never touches one, whether on Windows or UNIX.
Microsoft has nothing to do with any of it. I'm not talking about any Microsoft OS or DirectX APIs other than D3D and maybe DirectInput.
1) Use the reply button - if you're going to lecture people on what they apparently don't know - it looks very humorous coming from a person who can't be bothered using the tools provided by the forum for accurate post and reply tracking.
2)
And when coupled with GStreamer you too can have a complete end to end solution.
3) Proprietary API's are chosen by the programmers, and quite frankly, they are clueless - its that simple. Rather than standing back at the problem and looking at the FULL impact of the decision to solely base their companies future on a proprietary API, they're single handedly handing over the future of their company to a third party. For me, I certainly would not want to lose that amount of control over my product.
4) For networking there is gnetlibrary - again, if programmers choose not to do their homework, how is it Linux/*NIX/*BSD or anyone else's fault?
Edited 2007-08-13 04:50
3) Proprietary API's are chosen by the programmers, and quite frankly, they are clueless
The games market is very sensitive to time to market. If you're a smaller games house, you probably lack both the time and the expertise to develop all the necessary API's and thus it is much cheaper to buy a specialized, well polished product off the shelf.
If you're a large studio you've probably got your own in house tools that you've refined and polished over the years and the all your developers know. It's probably not worth while to jump to a new API just to capture a tiny segment of the market.
So it's not a problem of being technically hard, it's simply a case of costing time and money and just not being worth it.
Otherwise it will become irrelevant very fast. Real time raytracing is the future.
Traditional polygon rendering performance scales roughly with scene complexity, while raytracing scales with screen resolution and log(scene complexity). So at some point it is faster to do raytracing. And with massively multicore CPUs and embarassingly parallel graphics cards that are really general purpose vector processors, that point is rapidly approaching.
This might sound far-fetched. But when I started doing 3D stuff a big topic was how to do hidden surface removal. There were lots of very clever algorithms, but the "brute force" Z-Buffer won in the end, as scene complexity increased.
Edited 2007-08-13 06:37
Yes, it does. There is a GPU that uses ray tracing technique: it is PowerVR architecture. http://www.powervr.com.
PowerVR most certainly does not do raytracing.
And yes, it is true that raytracing scales logarithmically by the number of primitives in the scene, BUT there is a really huge catch - it only does so if the scene is static. As soon as objects are moving, you have to rebuild the acceleration structures that allow the log performance - and that's log(N) in practice. Ouch!
ector,
This is getting a bit off-topic, but anyway:
most scenes consist of
-large static parts (landscape)
-large complex parts that only move relative to each other (wheels on a car)
-large parts that move in a predictable pattern (plants swaying in the wind).
So if you use something like an OBB tree, you can reuse most of the tree structure from one frame to the next.
Of course it is difficult to implement an OBB tree on current graphics hardware. But GPUs are getting more general purpose all the time. And in the worst case you can always do the raytracing on one of the 16core monsters that intel will produce in the future.
I am writing this from a quad core machine, so a 16 core CPU is not that far off. I really think that we are only one or two graphics engine generations away from real time raytracing.
Well, ray tracing on a 16 or 32 core monster is STILL something like 2 orders of magnitude slower than rasterizing with a graphics chip, and that's before doing reflections, refractions, nice shadows and the other fun stuff that raytracing allows. Raytracing is not going to be a major factor in games for some time to come (other than mini-raytracers for special effects in shaders, which can already be seen in the form of parallax mapping in some games).
Constantly growing portion of Computer users play games, it's not just a kids hobby anymore.
If games for your computer wouldn't matter, We'd all be using apple.
For Linux to become huge success on desktop department, it needs the tools to attract game development and right now only reason it doesn't is lack of APIs competitive to directx
I've used visual studio for about 10 years, ranging from 5.0 to vs2005.
Therefore, I'm curious. What do you think is that advanced in visual studio 2005 compared to the listed alternatives, at least when it comes to C++?
Visual studio don't do any automated refactoring operation (not wihout visual assist)
It does code folding, so does everything else.
It does completion, so does everything else now (visual studio's completion is pretty unstable and easily breaks on big projects)
It used to be fast, now it's sluggish and randomly hanging up for seconds at a time. Even eclipse is snappier than vs2005.
The project settings dialog is still not resizeable as of vs2005, and still has some horrible usability.
The project configuration dialog is laughable.
The build system is very limited and annoying (I generally dislike build systems integrated in the IDE for they lack flexibility and are not tremendously easier to use than something like cmake except for toy projects)
The resource/ui editor is painful as hell (and anyway, this whole part has to be disregarded as an useful feature since it's MFC which is utter and complete shit)
Visual c++ used to be good compared to the competition. However, ever since 6.0, it has only grew slower without adding any significant new features, so now it's just garbage.
Now if you want to compare other languages, like java in eclipse and C# in visual studio, visual studio lags a few parsecs behind.
The impact of availability of development tools, especially IDEs, is mostly overrated.
From my experience, about 6 years of multiplatform development of server and GUI applications, I'd say that developers will almost exclusively use the tools from one platform, their primary development platform.
Other target platforms just require to be able to build and run the software, as there are only very few occasion where platform specific things need to be implemented right there.
Good example is the development of software for any kind of embedded or embedded-like (e.g. game consoles, setop boxes) systems, where development usually happens on developer workstations and almost never on the target system.
Obviously this requires proper multiplatform development and won't work with the flawed and expensive "port later" concept which some companies seem to have dragged along since the last century's eighties.
"This is a real shame as Sony promised the Playstation 'Edge' but I there is no general release of it (unlike the Xbox360's XNA kit), which fits Sony's business model but is a shame."
From what I know third-party developers got their hands on Edge. But I can agree with you, I really hope they provide something like XNA but for the Playstation platform. Sony isn't a Software company, and Microsoft cant make hardware. Maybe a joined effort on PlayBox4 would be great.
Just out of curiousity, how long did it take for the last major release to go from specs to implementation in operating systems?
Can't help but wonder if this has any affect any time soon or if we'll have to wait 3 years from now. Hopefully we'll see OGL3 on a whole bunch of alternate platforms (hope hope hope!), such as Haiku, BSDs, SkyOS, Syllable and others. Would be nice to see it as a truly wide option as this is one of the USPs OGL has....
I mean, who'd expect Direct X to show up in *Nix ? =)
The Nintendo Wii and DS are both region free.
I care for the Wii. It is the gaming system that has the most potential to have software that does something different since the Nintendo DS.
Whether or not publishers have been able to think out of the box, that is another story. Afterall, the Wii has had a very similar life than the Nintendo DS: totally underestimated by the public in the beginning, third parties didn't know what to do with it, Nintendo had to show how to use the system's potential, and now it dominates its segment. The only difference is that Wii Sports allowed the Wii to sell like hot pancakes since day one.
I find it ironic that you first say that console games are all the same, then slam the Wii, out of all things, because of its graphics. So what? The games that I play the most on my PC are a 1999 fighting game, the revision of a 2000 fighting game, and a 1998 RTS. Following your little game, let's say that PC games are all about Warcraft, WOW, and Quake clones, shall we?
You can find gems on every single platform that justify buying it. Spcialized hardware like Dance Dance Revolution revived arcades (well, wherever it is still relevant). I bought a Nintendo DS to play Osu! Tatakae! Ouendan!. I'd buy a Saturn just to play Radiant Silvergun. The SNES has one of the best platform gams ever (Super Metroid), Sega did a good job in making out-of-the box games with the Dreamcast, and some of my very favorite games are doujin games.
"The games that I play the most on my PC are a 1999 fighting game, the revision of a 2000 fighting game, and a 1998 RTS. Following your little game, let's say that PC games are all about Warcraft, WOW, and Quake clones, shall we?"
We shall not, at least that does not reflect my gaming habits. Right now i Play "Ankh 2" (Lucas style adventure in 3d), ANNO 1701 (show me one console game like that), and an amateur MMORPG. How could i ever be happy with any console on the market?
Wii is just a gimmick with its unusual controller but the games are simplistic and shallow like C64 games. So now i have to shake a remote control instead of mindlessly shaking a joystick in some summergames clone... yeah, that is really special.
Because you play games for the visual experience?
Pointless, as the rest of this flamewar.
OpenGL is a very good API, and it's great that it's evolving further.
Who cares about consoles vs. PCs? Use whatever you prefer, and keep quiet if you haven't got anything nice to say.
On a side note, it is true that indie game developers have a really tough time entering the console market, because:
1) It costs a lot to gain access to the APIs and development machines.
2) Distribution is hard without anarchistic internet access.
3) Only a limited amount of people actually own a console compared the number of people who have a PC, and when you're an indie developer, every gamer counts.
If you limit your gaming to consoles exclusively, you will not be able to enjoy some of the smaller titles. That's a choice.
On the other hand, you can do some amazing things with consoles, such as what Nintendo has done with the Wii.
- Simon
Edited 2007-08-13 15:42
"Because you play games for the visual experience?"
Partly. I do mind if they can't compete with Quake 2 for visuals. They would have to have some really cool gameplay for me to don't mind they look like shit. I don't see that for Wii games. Wee games are either simple C64-esque reaction tests or games like Resident evil 17.
"OpenGL is a very good API, and it's great that it's evolving further."
No, OpenGL is a gorgeous API and i don't understand why people would prefer DirectX over it. That wasn't the topic of this s







