Gamespy on Linux Gaming 119
Omnifarious writes "James Hills of gamespy.com has an article that has some interesting and positive things to say about Linux gaming, and Linux on the desktop in general. He has comments about both Loki and Indrema." My copy of Descent 3 for Linux finally arrived, so it might be time to do some extensive research on the subject myself *grin*.
Re:Descent 3? (Score:2)
Sure it's not as quick as it should have been, but it's not 5 years either. The fact that it's taken so long is due to red tape, not the developer's fault.
D3 is still a good game, and it's graphics rival a lot of the crap that's coming out now. Not to mention good internet support. :)
Re:80% Market Share (Score:2)
Re:Remember, when girls bug you for sex... (Score:1)
To run the apps you need (Score:1)
And speaking of linux not being fast maybe it's because of the window manager you have.
That basically helps manufacturers. (Score:1)
I would disagree (Score:1)
How can you take Indrema serious? (Score:3)
Their OpenSouce comment is just insane, what are they going to do, put consoles in the shops complete with a box of manuals, and hope that people will start writing games on them? Games that will actually get published and sell? Or games that would actually be good enough for anyone to buy the console _without_ intending to program on it?
Does anyone here seriously believe that OpenSource will lead to better and more efficient games being produced? How would 'ownership' of the platform by the development community lead to better games? Do you think Indrema will be able to provide more information on the NVidia chipset to anyone, as Microsoft will be able to provide to NDAed developers? Not likely. And will Indrema be able to provide so much more information as the stack of PS2 manuals on my desk? I don't think so.
The worst part is, I don't think Indrema even _intends_ to be succesfull in the console market, I think it's just a huge scam.
If it's not a scam, those people are incredibly stupid.
Re:Several Points. (Score:1)
heh, ya. That's probably true most of the time, but not always. I have a Savage4. BeOS doesn't support it, at startup I get a 640x480 b&w screen that uses 50% of my cpu (PII-500) at idle. I find the correct driver online (The only one, I might add) and put it in the proper directory. I followed every instruction I could find. I messed with that thing for three days. BeOS never even tried to use the correct driver. I finally had to use the VESA functionality, which quite honestly reaks. It paints so slow that Netpositive is virtually useless when it comes to scrolling down on a page. yup, very nice.
btw, Linux supports my card. Even though there are no specific drivers written for it, X4.0 will still run very speedily.
Re:80% Market Share (Score:1)
Linux has essentially zero market share on handhelds (I don't think any of the few announced machines have actually shipped). In contrast, there are 3-4 million Windows CE handhelds.
In the consumer embedded space, I suppose you mostly have the Dreamcast (which ships with WindowsCE as an OS, even though most games actually use a native OS) on the Windows side vs Tivo with Linux. Needless to say that's millions vs tens of thousands.
Re:Several Points. (Score:1)
Re:Slashdotted? (Score:1)
Re:Several Points. (Score:1)
Re:What about a gremlin? (Score:1)
A masterpiece of engineering.
Car tax (yearly tax which allegedly goes to the maintainance of the roads & motorways) in the UK is high, as is petrol. The Reliant Robin was designed with 3 wheels so it would be classed as a motorbike.
It had a tiny, tiny engine, but the bodywork was all fibreglass, so whilst it's not exactly a sports car, it wasn't totally sluggish. In fact, one managed to escape whilst being chased by a police car.
So, there we have it - a legal and car hack to reduce the TCO of owning a car.
The only downside is they were never seen as fanny magnets...
Strong data typing is for those with weak minds.
Re:Programming DirectX is HELL (Score:3)
Also interesting to see how the latest revision of the document by Brian Hook is 0.46, which seems to be somewhere from the pre DX5 timeframe. I'm sure 3D programming on Linux was great fun 3 years ago. (Oh, oops, there wasn't even a single 3d driver out yet
Point is just, DirectX isn't intended to be for your average programmer who wants to do games. It's intended as an extremely powerful hardware abstraction layer, to be used by profesionals to get the most out of the gamers hardware. This is why DirectX exposes a lot of functionality that is close to the hardware, and can be directly supported by the hardware, or not supported. This is why DirectX functionality is continously being updated to reflect changes in the hardware.
This means DirectX _should_ be complex. We're talking about a complex issue here, where a lot of things determine ultimate performance. And ultimate performance is what you want in the end, isn't it? Fast, lots of features, best on all different hardware.
That's why it was designed and exists.
Do you want to work to get this performance? No? Then get another job. Not smart enough to understand all the issues at play? Then get another job.
Most professional game programmers have been happy with this approach for a long time now, and adopted DirectX years ago.
For the average programmer who justs wants to get some simple stuff going DirectX might indeed not seem ideal, and perhaps it is not, but again, that's not what it was intended for, and not what makes or breaks it.
DirectX is a HAL. Not an easy of use utility library.
Recent comparison (Score:1)
The Windows game installed flawlessly upon inserting the disk. It started up fine, but it crashes at an early point in the game. And when it crashes, I have to reboot, just like in the DOS days of gaming.
The Linux game came with a GUI installer, but it didn't work on my SuSE 6.2 system. But the command-line script worked fine. Unfortunately, the game wouldn't run at all at first. But after downloading the latest patch from Loki's site, it worked perfectly. And it's never crashed.
So, for now, the choice is between a game that was easy to install, but crashes badly, and another that was hard to install, but runs perfectly. I prefer the latter; but I can see why lots of people don't even bother with PC gaming, and buy consoles.
Re:Because Java is slow and takes up *LOTS* of mem (Score:2)
The runtime jvm takes far less than that. It's less than 10 megs. The developer kit is 40.
It is true that running java apps takes a lot of memory, but this is because the jvm itself has to be loaded and it takes about 20 megs. Also, I would personally be willing to sacrifice memory usage for speed and this is exactly what the jvm does - it uses more memory in order to keep natively compiled code so that it runs faster. RAM is not that expensive and 128 megs is about enough if you are running one virtual machine at a time. If you use Java3D intensively though, I would recommend more than that.
Also if you use C++ and OpenGL to display something versus Java3D it is not really fair, because Java3D has to create many objects in order to provide you with interactivity (mouse picking, etc), while OpenGL will just draw on the screen buffer.
Re:Because Java is slow and takes up *LOTS* of mem (Score:1)
The Swing API sure does need some work in the speed department.
However, 3D acceleration works quite well. Using GL4Java or Magician (free libraries that bind Java3D to your OpenGL interface) you get 3D acceleration that works quite well. It's no specially-compiled assembly, but acceptable in performance nonetheless.
For some GOOD examples of what a dedicated java hacker can do, go to:
www.komplex.org [komplex.org]
These guys do some amazing stuff with java. They have also released a good sound engine for java on Sourceforge.
So, I think that games written in Java can work.
Re:Several Points. (Score:1)
I hate to say it, because you seem very honest, but that's the best you can give me?
I mean, you're a "be-fan" and I get an explanation that gives me no hope for the future of Be. Honestly, I mean no disrespect, but that's the whole reason the Be is going nowhere. I sincerely *don't* believe it to be the OS that people need. It's a niche right now, though I know no one in that niche, and I think it's destined for failure.
btw, ya it's hard to use. Those video drivers are a perfect example. In order to place them in the correct directory, I need to drag the file through eight million menus. While making everything graphical seems easier, you're just wasting time. It's easier to go to a prompt and type cp file
Also, just navigating the menus is a pain. And using the file manager is an exercise in futility.
Granted, I used it a total of about a week. But if that OS is truly easy to use, I should have no problem with it. I shouldn't have to know little 'tricks'. I should be able to put my hand on the mouse, and make it work the way I want it to. It doesn't, and so I see no advantage to using BeOS over any other OS on the market.
Development tools (Score:1)
Linux has free, high-quality tools (GNU, SDL, OpenGL, CrystalSpace), and lots of hobbyists are using them. The PC gaming industry started with hobbyists (Richard Garriot and Roberta Williams come to mind) and that may be where its future lies.
Uhm, the reason "everybody" uses Direct X ... (Score:2)
From an economic perspective this makes perfect sense: programmer time is scarce and extremely valuable, so for any commercial outlet it's probably wiser not to waste scarce resources on ensuring compliance with "the other 3D platform" as well and concentrate on dominant DirectX instead.
So, basically, gaming companies and hardware companies don't *care* whether or not OpenGL is better or worse than DirectX and use the latter instead.
Re:Programming DirectX is HELL (Score:1)
If you actually bothered to read the article, you'd notice that the his opinion on directx is dated 12-99 and covers the topic of directx 7 being cleaned up a bit and being very up to date w/ current hardware, etc [1]. The overall viewpoint is that directx is still a horrible API (this would include directx 7).
Is it painful when you have to pull that big ass foot out of your mouth?
[1] - This is the only advantage I see over openGL but SGI will keep up.
--
A mind is a terrible thing to taste.
Re:Programming DirectX is HELL (Score:1)
Some issues I don't mind adressing here on Slashdot:
1. I guess Glide on Linux was first mainstream/public/free 3D acceleration Linux had, I think that was something in 97, maybe 98.
2. FireGL. I think different FireGL models have always used different chipsets. And I'm quitte sure one of them (a cheapo one) used a Permedia 2, quitte a while ago. This worked quitte well in DX, even though drivers where far from perfect. I've been spending some time on a game a long time ago to get some stuff nicely working on it, using DX, yes. In general, there is NO 3d card that couldn't support DirectX decently, not by definition of the API. It is always a driver problem. This doesn't necessarily mean all games will work flawlessy, since games might assume things they shouldn't assume, but they do, since it was fine on the hardware they did care about.
3. Oh, and those funny things called WinModems, there is ofcourse nothing 'Windows' about them. It's just that this was how they where marketed, since they wouldn't work with legacy dos apps, if hardware specs are available, any OS that has hardware abstraction could use WinModems.
4. All books on DirectX suck. Period. I think this is mainly because a book that targetted DirectX in the way it was intended wouldn't sell very well, since it's not massmarket enough. Guides on the internet are strangely enough the same thing. Maybe because most people writing a guide want to be done in 500 lines? And want it to basically learn people 3d programming in general while they're at it?
Well =)
Ok, for anything else, email me.
Re:Decsent 3? (Score:1)
I find it absolutely incredible (Score:3)
I actually believe that linux-only users are depriving and victimising themselves. Like the man who refused to trade in his betamax vcr for a vhs one.
Re: Homeworld? (Score:1)
But you're right about my not knowing how to run Windows. How do you run it? I tried typing "man windows", and all it did was print an error.
Re:Descent 3? (Score:1)
What does this mean? (Score:1)
I didn't realize that Linux can be run on top of windows now.
Re:Linux hardware detection (Score:2)
It't the drive part that's causing the problems.
For example, my suondcard is not supported by OSS. It is supported by ALSA. Took me about 6 hours from 'Damn, my card isn't in this list' to geting it to bleep. And, whilst not a kernel hacker, I'm not exactly a newbie.
If it had been a network card, sure, no hassle. And it can run my graphics card easy, in a crappy mode (640 x 480 x 256). This, I belive, represents Linux's strengths - it's background is UNIX, it's nativly a server style OS.
80% Market Share (Score:1)
If that figure is correct this is great! I haven't seen a linux based handheld computer yet (atleast not in the wild), but I love my Tivo (which runs a linux kernel). It's good to see a open source project, some may say _the open source project_ prospering in the free market.
Re:it can happen (Score:1)
Re:it can happen (Score:2)
new hardware (Score:1)
Re:If Mac gaming can't get traction, how can Linux (Score:3)
What does this mean for games? Think about it. On the one hand, you have a group of people who don't want much to do with computers. On the other hand, you have a group of people that actively go out of their way to learn new things about computers. Which group do you think will be the most passionate about computer games?
* Yes, I'm aware these are stereotypes, and not all people fall into these categories.
Re:If Mac gaming can't get traction, how can Linux (Score:2)
ill-served niche. PC gaming, while a sucessful *market* (albeit far smaller than console gaming) is still an extraordinarily tough place for developers to make money due to everything from hardware complexity and
diversity to the hard-to-penetrate and expensive retail channel.
Open hardware standards that PC's use combined with cheap hardware and a free OS that people can modify/change/adapt.
Linux seems to have both the Mac and the PC's problems multiplied: niche market, hardware uncertainty, complexity and (let's be honest) consumer unfriendliness, and poor access to the retail channel.
Better future. It's basically new technology and people havn't become tired of it. Also it's easier to get ahold of a PC and put linux on it than get any old mac to run your game. Also it's possible to run linux on Mac hardware not the other way around.
Linux seems to have both the Mac and the PC's problems multiplied: niche market, hardware uncertainty, complexity and (let's be honest) consumer unfriendliness, and poor access to the retail channel.
Seeing as the last project that Sega bothered with was the Genesis I can't entirely see that they are in finicial doubt. I bought a genesis system as they were going on their way out for $50 and got a few games. Basically they were basically almost kind of like a SNES system with a different controller. They missed the boat with the playstation being released and then nintendo produced the N64 which basically took over what other people didn't own a playstation. The only reason that they have succeeded as long as they have is that they have had the ability to take advantage of the slow emergence of nintendo's new offering.
Re:Dedicated OS (Score:1)
Re:SOUND CARD support in Linux... (Score:1)
Unfortunately, I believe the Loki library (SDL, IIRC) is one of the things it won't work with. It's pretty hit or miss.
Re:You got insightful? (Score:2)
Re:Decsent 3? (Score:1)
Plus, I really doubt I'm the only person who has several things running in the background just about every time I play a game.
One thing's for sure. I wouldn't buy a game like this. I had enough DOS boot disks a few years back to build my own house. I have no desire to return to that.
Re:Descent 3? (Score:2)
Linux = game.com (Score:2)
The gaming future belongs to the consoles: X-Box, PS2, Dreamcast and Gamecube. Not PC's.
Re: Homeworld? (Score:1)
Yes, that was lots of fun. I think I ended up booting to Linux so I could recreate the partition.
Re:What if your CD is scratched? (Score:1)
Surely any self-respecting Linux games will also include the source code on the CD so you can recompile your own personal version. Putting it on a bootable Linux CD is only so Windows stick-in-the-muds (like me) can still run it (sorry, still have NT on my main box, and my Linux box isn't really up to most games).
James
Java in games (Score:1)
BeOS counterpart. (Score:3)
Re:Several Points. (Score:2)
a) Almost all PCI video and sound devices can be probed. This is automatic in most cases. I'll contend that having to manually tweak a configuration file (the very concept of which seems to throw some people for a loop, but then again many people are also afraid of that big round power button on their computers) is better than not having a configuration file to tweak WHEN Windows messes something up. Sure, you can manually edit the registry, but it's not designed for that. Windows hardware installation screws up with a great frequency. Another point that many people forget is that Windows often comes pre-installed on computers, and so people rarely have to configure their hardware for it.
As for a driver interface for IHV's, look at Creative's EMU10k module, and nVidia's excellent OpenGL drivers. Many manufacturers have already released binary-only drivers as kernel modules.
b) Interface isn't up to par? Well, Linux's interface is DIFFERENT, yes. I find it much easier to use than the Windows interface. But then again, Linux allows me to configure my interface exactly how I like it, whereas Windows does not, so there's no way to compare. A Windows user was very impressed when she saw my Linux (Window Maker) desktop yesterday.
c) Not the cutting edge? Depends on what you're doing. For my purposes, Linux is exactly what I need - a light, fast, and stable operating system that runs perfectly on my laptop and supports all of the applications I need (including Maple). The X Window System is old, but there's a reason it has survived as long as it has: it is GOOD. With the advent of DRI, it now has a very solid framework for accelerated vendor-provided 3D graphics drivers. That was also the case with the old-style GLX module system.
d) Funny that, I couldn't get Quake3 running on my box under Windows, but it worked immediately under Linux, and performed very well.
There's no reason it couldn't have autoplay (a small addition to an automounter), but from what I gather nobody wants it. I for one turn it off when I use Windows, because I find it extremely annoying.
Linux does have 3D sound support. Take a look at www.openal.org. It's been used in the Linux ports of Alpha Centauri, Heavy Gear II, and Descent 3. OpenAL is NICE. It's still in development, but it's usable, RIGHT NOW.
Linux doesn't have force feedback, granted. Feel free to add it to the joystick API.
e) Linux does have SDL, ClanLib, and GGI. These three packages have different goals and scopes, but between them you can get just about anything DirectX has to offer. I am mainly an SDL coder, so I'll concentrate on that.
In response to your mention of DirectInput, I'll point out that SDL's new event code makes easy work of any input device, regardless of its configuration. A lot of effort has been put into it. I'm not a DirectX coder, so I can't compare specifics, but I know that some pretty heinous controllers have been plugged into SDL apps.
SDL also provides a very simple and powerful surface interface. 2D graphics programming more or less boils down to being able to quickly combine bitmapped images and perform fast pixel-level manipulation, and SDL is very good for this. Sure, you CAN write slow SDL apps if you don't know what you're doing, but with a bit of care you can squeeze a lot of performance out of it. I assume GGI and ClanLib offer similar capabilities.
SDL has a portable audio interface with backends for Linux (OSS, DMA, and ESD), Windows, BeOS, MacOS, and probably others (haven't checked). In addition to the ability to convert and play audio clips, there is a powerful SDL_mixer add-on library with MIDI playback capabilities and flexible multichannel mixing.
-John
I'm posting for myself, not Loki.
Re:Slashdotted? (Score:1)
Re: Homeworld? (Score:2)
Do you actually know how to run Windows?
I mean, I've seen my share of BSoDs and kernel panics in my time, but you're either very unfortunate or as dumb as an ox to crash your partition because of a gaming demo.
goodbye windoze... (Score:1)
I'm now waiting for my copy of Heretic II to arrive in the mail
On the flip side it was a pain in the butt the first time I tried to set up the new version of X and the NVIDIA drivers. But it was worth it to be rid of windoze.
I'm going to miss HL though
Re:Java in games (Score:1)
Re:Several Points. (Score:2)
Wow, that was so much harder than configuring modules.conf!
Aureal Soundcards - aureal.sourceforge.net (Score:2)
Don't use the drivers from Aureal in their raw form - they are buggy and don't comply with the OSS standard. A much better alternative is to go to the Aureal Sourceforge site [sourceforge.net] and get the latest release or even CVS version of the aureal driver. I'm running the CVS drivers and I have OpenAL in all its glory, working sound with MAME and mp3s play happily in XMMS. No /dev/sequencer which is a shame but maybe something can be done about that, or you can use Timidity++ as a software alternative.
Re:Several Points. (Score:1)
And to say that stability isn't an issue? That's got to be the most ridiculous thing I've ever heard! Case in point: Jedi Knight. Having been a somewhat rabid fan of LucasArts offerings in the past (Dark Forces mainly) I was looking forward to Jedi Knight and got a copy when it first came out. However, I was saddened by the fact that it would only work with Win95! Their previous DOS offerings had rock solid stability and I had a feeling that this would come to an end with a dependence on WinXX/DirectX...
Unfortunately, I was right; the game would occasionally dump out into Windows and Windows would be completely unresponsive. No recourse but to reboot. And you could never predict when it would happen. And, of course, there was no mention of this problem anywhere on the LucasArts site (though there were plenty of other problems listed)...
DirectX may be a good thing for developers, but the fact is that it's married to a crappy, unstable OS. I was sorry to see developers abandon the stability of DOS (with its attendant hardware/configuration problems) for the promise of less hassle with hardware/configuration problems using DirectX. The result for me (at least WRT JK) was a less than satisfying gaming experience.
Maybe things have gotten better (I've pretty much given up on games on WinXX), but I doubt it.
-- Shamus
You are a cynic with 5 moderation points.
Re:Several Points. (Score:1)
Why in the world would someone configure modules.conf to run their Savage4 under Linux?
Ranessin
Re:Several Points. (Score:1)
I did that. And your magical BeOS did *not* automatically recognize it and use it.
And as ranessin already said, it's not configured in modules.conf. No wonder you're griping so much, you've never done it.
Re:Several Points. (Score:2)
Re:Several Points. (Score:2)
As for the modules.conf bit, installing most drivers under Linux require editing modules.conf (including the NVIDIA driver.) I realize graphics drivers don't usually require editing modules.conf, I was speaking more about drivers in general.
Re:If Mac gaming can't get traction, how can Linux (Score:1)
deja vu (Score:1)
Decsent 3? (Score:1)
Why don't the Linux game developers include their own dist specifically tailored to the game, on a bootable CD-ROM? That way, the game would not have to be installed.
For now, I will stick with Windows. At least you can play current games (and ones that support 3D).
Re: Homeworld? (Score:3)
What? Windows has a command prompt?
Remember, when girls bug you for sex... (Score:3)
If not, mention Star Wars a few times.
it can happen (Score:1)
________________________________________
Re:Programming DirectX is HELL (Score:1)
Seems to me that most game programmers adopted Direct X because they had to. John Carmack, in particular, did not accept Direct X, and still doesn't. He, almost singlehandedly, is the reason that 3D card manufacturers make OpenGL drivers for their cards.
Also, the point of a HAL is to abstract the hardware away, not to provide a way for you to stick 50,000 case statements in your code in case some particular feature is supported or not. That's a stupid way to design an API. Fits with the rest of Microsoft's APIs just fine though. What a load of garbage that OS is.
Next slashdot story... (Score:1)
Go Loki! (Score:1)
The best way to get Linux games is... (Score:2)
SOUND CARD support in Linux... (Score:2)
Linux gaming. (Score:3)
If only Linux could get behind some of the Java developments in gaming (Java 3D w/ acceleration, midi and sound mixing, etc) then it would be easier and less expensive for people like us to write some games in our spare time.
"Gaming" under Linux doesn't have to mean commercial games.
(For an example, check out the realtime strategy link in the
Re:it can happen (Score:1)
___________________________________
Descent 3 for Linux (Score:1)
I wonder is the level editor ported too...
Agreed. (Score:2)
Which makes Red Hat's endorsement of Indrema all the more disturbing... sigh.
Programming DirectX is HELL (Score:3)
DirectX is a nightmare. I've only been programming for seven years, so maybe I'm too young/new to really be experienced enough to program it - but I doubt it. The brief/important list of languages I know include C, C++, Perl, Java, and LISP. I've done work with OpenGL on Linux stations, and DirectX on Windows95. By FAR the easiest to use was OpenGL. DirectX wasn't what you'd call an easy-to-use environment; frankly, I'm amazed that any programmer can get through the MS BS and get anything accomplished.
Don't want to take my word for it? Ask David Joffe - "However, DirectX is (in my opinion) the most horribly designed API I've ever seen, and I would hate for any newbie game programmers, whose first API might be DirectX,to walk away thinking that it is in any way an example of how a games API should look. DirectX is bulky, poorly documented, unnecessarily overcomplicated, proprietary, and there was never any technical for the existence of large portions of it, such as Direct3D (Microsoft ignored the existing industry standard OpenGL simply because it wasn't theirs and it wasn't tied to the Windows platform, not because they thought they could offer a better solution.)"
Check out his Game programming with DirectX guide [geocities.com].
But he's not the only one; Brian Hook (of wksoftware.com [wksoftware.com]) litterally thinks DirectX is Hell. From the introduction to his Guide: "Microsoft designed and released game development library called DirectX. Part of this library is a 3D graphics immediate mode rendering API called Direct3D. Everyone said it was going to be The Standard for 3D Graphics. I decided to learn it. It sucked. It was difficult. It was poorly documented. It was error prone. Since I've subjected myself to this pain, I figure that others may want to learn a bit from my own experiences, so I'm writing this document."
Read the rest of his Guide [wksoftware.com] if you want to know more about DirectX and pain.
Of course, not everyone agrees with me; there's a couple other resources on the web that gives DirectX a better-than-average glance, and (appears) to like it. Check out Andre' LaMothe's DirectX-tasy guide [loirak.com] at loriak.com. His conclusion? "...DirectX isn't as bad as we thought it was, and it really does work and allows accelerators and other hardware to be supported very easily."
So I guess it depends on who you talk to, but in my opinion, DirectX is pure pain. If you're only going to read one, look at Brian Hook's; it is by far the most complete.
But we all knew it was better to be programming on Linux, anyway, right?
The state of Linux gaming comes right down to the big companies not wanting to write modular code; look at Terminus. Terminus was released at the same time for Win, Mac, and Linux. This proves accomodating Linux gamers can be done. Most just don't want to bother with it; which is sad. But if Linux continues this upward trend it's on... I'm willing to bet Blizzard will start porting its newest hit games over, like they did with the Mac. I believe Linux gaming will catch on, if only because of the hordes of people that Microsoft continues to alienate.
just my thoughts.
-lw
Re:Programming DirectX is HELL (Score:1)
Perhaps you have a snappy comeback for David Joffe's article [geocities.com] which is up to date.
The argument wasn't only that directx is a nightmare but that OpenGL was much easier to accomplish the same results.
Do you want to work to get this performance? No? Then get another job. Not smart enough to understand all the issues at play? Then get another job.
Or get a job working with a better API than the POS that is DirectX. Why would someone want to work w/ a non-portable, nightmare protocol like directx when there are simpler, portable solutions unless they are a masochist(or have some sort of 37337 complex)? It's a pretty obvious answer to me.
If you ask me, you're the one throwing out flame bait.
/me bites
--
A mind is a terrible thing to taste.
Re:What does this mean? (Score:1)
Re:Programming DirectX is HELL (Score:1)
One man's Flamebait is another man's 2, Interesting.
>I'm sure 3D programming on Linux was great fun 3 years ago. (Oh, oops, there wasn't even a single 3d driver out yet
uh... you're joking... right? please don't tell me you actually think there's never been a 3D accelerator before VooDoo2.
Damn, it *was* three years ago that I started 3D programming in Linux. It was one (two?) years ago I started DirectX stuff. So it was DX5/DX6 I was working with. And just because a guide is in version 0.46 doesn't mean it's old, or bad, etc... just that's it's new (or not maintained).
>DirectX isn't intended to be for your average programmer who wants to do games.
No, it's intended for *every* programmer that wants to do Windows games. Name three recent games, for Windows9x+, that don't use DX.
>It's intended as an extremely powerful hardware abstraction layer, to be used by profesionals to get the most out of the gamers hardware.
More, it's a Microsoft product written for a Microsoft platform. Of course it's going to get the most out of hardware written to use that platform. It's developed in-house.
>This is why DirectX exposes a lot of functionality that is close to the hardware, and can be directly supported by the hardware, or not supported.
I think you mean that it allows DirectX to take advantage of certain Hardware functionality (Env.Bump Mapping, Alpha Texturing, etc), and certain Hardware vendors (NVidia) to take advantage of DirectX.
Just because something is powerful, doesn't mean it needs to be poorly documented, error prone, and *badly* abstracted. Just because it's an abstraction layer, doesn't mean it's a good one.
"Best on all different hardware."
You do, of course, mean only hardware officially supported by Microsoft, only on a Microsoft Windows9x platform. I'd argue that it doesn't work at all on my Linux box; that's different hardware.
"Do you want to work to get this performance?"
Yes. Of course I do. I wouldn't be a programmer if I didn't care about performance (or code, for that matter). But, as a programmer (and of many different languages), I am subjected to many different kinds of code, written by many different people. The code can roughly be thrown into two categories. "Well written, well documented, performs excellently", and "Bad". There are good points to it; mainly, it's The Thing To Use Because Microsoft Said So(tm). You try DirectX, then tell me what you think.
"Not smart enough to understand all the issues at play?"
Hey buddy-boy, you want me to explain all the ins and outs of DirectX (and 3D) programming to you? I understand them; I can use them; I have used them. Not liking a thing doesn't mean you don't understand it. IMHO, you should at least make an effort before judging.
"Most professional game programmers have been happy with this approach for a long time now, and adopted DirectX years ago."
Talk to me about "professional game programmers [who are] happy [with Direct X]." Put me in contact with one of them so I can talk to them about it. As for "...and adopted DirectX years ago.", ask yourself a question; The industry is begining to use a Technology. Why doesn't matter; It Just Is. Do you A) balk the Industry, and adopt a competing Technology, or B) Embrace the Technology, going with the Industry?
I bet you jump on the bandwagon, too. If only so you don't get left behind; or, God be Merciful, pick the wrong Technology and become Obsolete.
A lot of proffession game programmers use DirectX for one simple reason - it's the current industry standard for Windows games. Why? Microsoft is the platform. Microsoft can develop software that interfaces with the Platform and the Game, and more or less force everyone to use it. There are alternatives; but why learn something new when you can stand on someone else's shoulders?
Yup, Direct X is a Hardware Abstraction Layer. It has its high points (it exists), and its low points (just about everything else). It takes the rather large goatscrew of managing all of Window's possibilities, and turns it into a smaller goatscrew.
But it's still a goatscrew.
-lw
btw, don't insult me with "if you were smart enough", and "if you worked hard enough". you're not me, don't judge me.
Re:Decsent 3? (Score:1)
Now that is a selection of games!
FYI, both games were released last year.
I have no uptime issues, and I am running Win98 (non SE) on a P2-266 with VooDoo 3D. Happy as a clam.
This is really the same issue as the office apps. Why move to Linux if there is not any software to run? Yes, there are some titles, but there is way more happening on the Windows side of the isle. I guess my point is that I don't want to use Linux just for the sake of Linux. I want to have fun and be productive.
Re:Programming DirectX is HELL (Score:1)
---
1 January 2000: Tidied up tutorial a bit.
4 April 1999: Tidied up front page a bit.
2 September 1997: Changed error-checking to use the SUCCEEDED and FAILED macros; this is the correct way to check for errors with COM objects.
---
So basically september 1997 was last time any real work was done on it.
OT: SEGA (Score:1)
Wow, what backward logic!
Do you remember how long the Genesis was out before the SNES? They were roughly equivalent, and Genesis was out over a year (and nearly two) before the SNES. Nintendo only managed to hang on to their loyal customers that long by lying about when the SNES was coming out (it was always "Don't waste your money on Genesis, SNES will be better, and it's coming out in just a couple of months!").
Sega has survived because they make better systems than Nintendo. They aren't "taking advantage of the slow emergence of nintendo's new offering", if the past is any clue, they're releasing a great system long before Nintendo's disappointingly similar release.
The SMS was a much more powerful system than the NES, was much easier to program, came out at roughly the same time, and sold for roughly the same price. Nintendo won out through business maneuvering: by making exclusive deals they prevented the best 3rd party developers from developing any SMS games. This seems to have been done largely without consulting the programmers, since the NES is about as hard to program as an Atari 2600.
As for Saturn, that was killed by Playstation and Sony's revolutionary open style of letting practically anyone make games for it instead of trying to be the sacred guardian of good taste and high quality (IOW, beat the snot out of the industry with old Atari cluestick), and Nintendo continued business-as-usual: delivering a disappointing product late in the game, surviving on exclusive franchises (the Zelda/Mario/Pokemon addicts out there are guaranteed to buy anything with a big N on it from now to eternity).
You may sense some bitterness. It's not that Nintendo makes crappy games (they don't; they're no technology drivers, but they have some very good designers), it's that they are a pack of deceitful little backstabbing weasels who focus on preventing you from buying their competitors product, rather than wanting to buy their own.
--------
Re:Programming DirectX is HELL (Score:1)
- I didn't say first '3d hardware', I said first 3D driver in linux. Oh maybe you just had the first version of Glide back then, but I wouldn't be all that sure.
- All those games indeed use DX. All those games are maybe by very qualified very competent programmers. Not by 'your average programmer that wants to do games'. Ofcourse it's fine for them to use it. But making it nice and easy for them is not the purpose of DirectX.
- Hardware isn't 'written' for a platform. Granted, lots of hardware gets designed around DX featuresets, but it's just as much the other way around. That's why MS and IHVs pretty much design DX together.
- DirectX doesn't take advantage of specific hardware features like EnvBump etc etc, DirectX allows the software to take advantage of those features, on any hardware that has decided they want to support those.
- In general DX is not more poorly documented as OpenGL. It's for a reason most people consider the MSDN one of the best OpenGL references.
- I wonder what you consider badly abstracted. I think it's well abstracted in that hardware having the same feature gets exposed in the same way. That makes sense to me, and to others.
- MS doesn't have to support hardware, hardware just has to provide drivers for the platforms they care about. Also, your Linux box is most likely not different hardware, just different software.
- I try DirectX? I've used it for years, and happily so. Shipped several games using it. Have you done the same with anything you prefer over it?
- Yes boy. I wouldn't mind explaining them to you, since you obviously don't understand.
- In contact with one of them, ok, me. Others? Pretty much any developer I know, and I know quitte a few, having produced quitte some product.
- Ofcourse we use it because it's standard and the thing to use as well. But we also know why it works the way it works. Actually most of us have had a lot of input in how DX works. MS has regular tours around developers offices and talks with them about DX, what they want in it, and how. I doubt SGI does that =)
Any further issues you need clarification on? Thanks.
Re:Linux = game.com (Score:1)
First, you've just made a completely separate argument: namely, that of PCs vs. consoles rather than Linux vs. other OSes.
Second, people have been blathering about how consoles are the future for at least a decade. Funny how I'm running UT on my PC right now, while my Playstation sits idle in the living room.
Re:Several Points. (Score:2)
Re:Programming DirectX is HELL (Score:2)
Re:BeOS counterpart. (Score:1)
Re:Programming DirectX is HELL (Score:1)
Tell that to John Carmack. Quake 1/2/3 uses OpenGL. And he personally said that DirectX sucks. Come to think of it, Unreal uses OpenGL too. And so do all the games based on the Quake or Unreal engine.
___
Re:Several Points. (Score:1)
Every installation I've done in the past year automatically configures and updates modules.conf (or conf.modules) for all new hardware (and the nVidia rpms add's the necessary line automatically as well).
Ranessin
Re:Decsent 3? (Score:2)
Re:Programming DirectX is HELL (Score:1)
Re:Decsent 3? (Score:1)
Quake 3 isn't current. No way. And there's no 3d support for Linux either. I don't spend all hours of the night playing Quake 3 and Descent 3 -- both accelerated by my Voodoo. Never. No one else does, either.
</sarcasam>
The existance of Linux games is limited right now, but it's growing, and I think Loki is doing a great job to promote it. You might not be able to get the latest greatest version of every single game, but Loki's porting the really cool ones.
You want to sacrafice your uptime? Go for it. I'm sticking with mine. (Until I have to recompile my kernel with MTRR support to get my Voodoo to work.)
Re:Dedicated OS (Score:3)
To have your own OS on a disc causes problems with updates. If you want to patch it, but it boots from, a CD, how do you do it?
Hardware support. The only way that that can work is if either hardware is known and fixed. Like a console. Or if it can autodetect and drve any current hardware. Linux can't do the latter (yet), particularly when it comes to sound and video cards. Not only that, there's the patching problem, on how do you issue updates for new hardware. Customoeters are not going to be happy if they upgrade to the latest and greatest hardwar, and then they find that thioer olders games don't work.
I will admit that these problems are not insumountable, but I don't believe that the games designers want to spend the time and effort solving them. And, as they would involve utilisng hard drive space, for the patching info, why bother with the separate OS?
Indeed, I can see a case for a designed for games, ground up, OS. Designed to be thin, nativly graphical, that lets games really bang on the hardware. Linux is a bit fat for gaming, really. (Do games need inetd [0]? Didn't think so)
Re:it can happen (Score:2)
And that's exactly why MS will never do it, unless/until they get split up by the Feds.
#include "disclaim.h"
"All the best people in life seem to like LINUX." - Steve Wozniak
Descent 3? (Score:3)
Just wait 5 years and you should be able to play Homeworld.
Re:Descent 3? (Score:2)
I'm willing to wait that long. It's so nice to play games on my Linux box and run a talker, and a web server, and host shell accounts, and a DNS server, and...
I only play games under Linux now, and it's going to remain that way for the foreseeable future. I'm tired of the flakiness that comes from playing them under Windows. Heck, I can even do things like switch to a spreadsheet or something for games with a lot of trading. I've never been able to do that before with a game on any platform besides Linux.
Several Points. (Score:5)
1) It's still hard. No matter what people try to tell you, nothing in Linux is yet easier than doing nothing while BeOS automatically configures your hardware, or putting in a disk when Windows queries your hardware. Sure there are special cases when everything "just works," but Linux plug & play is easily years behind Windows. Case in point: Mandrake (a quite standard newbie Linux distro) doesn't detect my graphics card correctly (a RivaTNT, a quite common card), and makes me supply irq's and DMAs for my AWE64 (again a quite common card.) Then there is installation of new hardware. One point everyone seems to miss is that most new hardware is not supported by the stock kernel. Right now, USB is poorly supported as is Firewire, and for devices that ARE supported, the driver installation is ridiculous. For good modular driver installation, take a cue from BeOS. Drag the driver into the appropriate directory, and it's used automatically. In Linux, the same process is significantly harder. Wheras my ALSA driver install should simply consist of dragging driver to the appropriate place, it instead consists of editing modules.conf with a dozen (poorly documented) commands and supplying IRQs and DMAs. Not acceptable. Then there is the issue of binary drivers. As long as there is no standard driver API, you'll never get driver disks that you can just plug in and have work. Sure OSS is great, but encouraging binary driver is a GOOD thing. The thing most people forget is that OSS drivers have to be COMPILED. A lack of a binary API does more than encourage OSS driver, it makes it impossible to distribute binary drivers (with available source to make you OSS-zealots happy.) Again, unnacceptable.
2) The desktop still isn't up to par. It isn't yet as easy to use as Windows, much less MacOS. People say, "well, GNOME is CLOSE to Windows!" Since when does being as good as Windows count for anything?
3) It isn't as cutting edge. Think about this one. The entire Linux community as an annoying habit of staying with old technologies. Take XFree 4.0. You can't say that Linux has an easy to install graphical system and good 3D hardware acceelration in the same breath. It has the former (XFree86 3.3.6) and it has the latter (XFree86 4.0) but the two are mutually exclusive. Any new and cool technology (DVD, 3D, ALSA, journaling fs) is most often NOT in the standard distro. Thus, you can say that Linux has these technologies, and you can say it's easy to install, but not in the same sentence. By the time the standard distros get on the ball, newer technologies are out.
4) It is light on the gaming features deparment. Face it, people rarely use Linux just for the hell of using a non-MS OS. People use it because it's better. In the gaming arena, it is not better. It's still slower, it's still harder to use (installing Quake is nowhere near as easy on Linux as it is on Windows) and it still doesn't have all the features that have been standard for awhile on Windows. It doesn't have 3D sound, it doesn't have force feedback, it has limited support for 3D cards, and it doesn't have many of the nifty features present in DirectX. It doesn't even have autoplay!
5) It doesn't have DirectX. DirectX is often underestimated by the
Linux will undoubtedly improve. However, from a pragmatic standpoint, Windows is a better gaming OS. Gamers reboot their machines every thing, and don't need the raw stability of Linux. For those who have used Windows NT or Win2K, stability isn't even an issue. A ten or twenty day uptime may be ridiculous for a sever, but for a workstation or desktop use it's fine. Windows will continue to be a better gaming OS for quite some time as well. So far, OpenAL is nowhere near completion. OpenGL doesn't have a new version in sight, and D3D 8 already beats it in features. There are no planned overhauls of the X input API. Undoubtedly they will come, but I've got a feeling it will be years until I can set up a Linux partition and get a better gaming experiance that I do in Windows.
Because Java is slow and takes up *LOTS* of memory (Score:2)
Take a good example alicebot [alicebot.org] look at the java version. The same version of that program in C/C++ takes 1Mb of memory. The Java version takes *at least* 64 and you are suggested to have 128 to make it work comfortably. And mind you the Java version is better tested! Also the new jvm from Sun takes up about 40Mb for the compressed file. Why dosn't someone update kaffe a little more. The only useful java applications I have ever used or thought about were Freenet and some text editor in java.
All the stuff you mention would require you to have probably a monster box just to run nibbles. I hate to see what the sysrequirements are for things like Quake 3 in Java *shudder*.
Re:Several Points. (Score:2)
Re:Several Points. (Score:2)
Re:Descent 3 for Linux + SDK (Score:3)
Once I get D3 for Linux, it's bye-bye Windows partition for me! D3 is the last piece of software I've been keeping Windoze around for. This will give me enough space to start playing around with BeOS...
I'm pretty fed up with Windows gaming. Games which worked last year are already rendered useless by DLL Hell killing or transmuting essential libraries - Myth II is the most serious victim of this and no longer works period, despite attempts to roll back to earlier DirectX incarnations and the original card drivers. Deus Ex almost tempted me into buying the Windows version, and then Loki announced that they were porting Deus to Linux and my wallet awaits the release date... Having installed XFree86 4.0.1 on my machine and got the NVidia drivers up and running, 3D zips along on my machine, I get better ping rates under Linux than Windows for some reason and my Q3demo playing has reached new heights of fragging, so I really ought to buy the full game :-)
I wonder is the level editor ported too...
Err... hello? Did you notice that Loki ported this one? If so, you might also have noticed that nothing is safe once Loki gets on a project and so yes the Descent 3 SDK for Linux is available here. [outrage.com] Actually major kudos to Loki for bug fixing the releases for Linux over and above the Windows final releases, and for keeping the patches coming as issues arise.
Cheers,
Toby Haynes
Re:Several Points. (Score:2)
PS> BeOS hard to use? What planet are you from?
If Mac gaming can't get traction, how can Linux? (Score:4)
Linux seems to have both the Mac and the PC's problems multiplied: niche market, hardware uncertainty, complexity and (let's be honest) consumer unfriendliness, and poor access to the retail channel.
A Linux console might bridge some of the technical and consumer hurdles, but as anyone who knows the history of consoles knows, it takes incredible financial backing, industry clout and marketing prowess to succeed. If even Sega's Dreamcast's future is in doubt, what chance does Indrema, coming from a company that is not a global consumer gaming giant, have?
Re:Several Points. (Score:2)