Maxis Developer on Linux Game Porting
friedmud wrote in to tell us about a comment from a Maxis developer, Don Hopkins, who did a partial linux port of "The Sims". You can find his post here (3rd one down, comment from Don Hopkins titled "Reality check from a game developer") in a LinuxGames.com forum. I don't know if I agree with his assertion that Wine is the best way to have games happen on Linux but his comments on the economics of Linux games development and especially the costs of keeping versions concurrent on multiple platforms are insightful.
The process of porting a game can be much less difficult if the developer chooses a multi-platform library. For games SDL allows this and for other sorts of applications, QT can do the same. The challenge lies not in porting, but rather the developer chosing to work with a propietary single-platform library (DirectX) versus something more portable, and argueably better!
I think the best current approach involves Java, which can be either natively compiled (gcc 3.0) or run on a VM (JDK 1.4 should be quite good). Check out Arkanae for an early preview. :-)
299,792,458 m/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
Having multiple target platforms is a serious headache, and Linux just isn't a big enough market. Most linux users are used to getting their software for free anyway, and probably have the technical savvy to score free versions of any software released. While I'm sure that there are plenty of honest people out there, the fact is that there are very few people who are going to pay for linux games.
Also considering the generally degraded performance of games under linux and the continued acceptance of DirectX as the standard for graphics, all make Linux development difficult.
I read recently that id doesn't want to release their next product under linux (historically they have been pretty good about that stuff) because its a support nightmare, and just really doesn't bring in that much revenue.
I think in order to start getting more native Linux games, Linux needs to prove itself as a consumer OS first. Once Linux starts to satisfy peoples needs easily (thats so important) then i think more people will start moving over, and once they do, then the linux games will start rolling in.
... we have SDL. we have OpenGL. I fail to understand the logic that game companies harbor to not write cross-platform games. I've done some development with SDL and it's a really good toolkit. Sure, it needs some more work but everything does. OpenGL is awesome, and it's not controlled by one proprietary source.
Taking some extra time to port to linux and ship it on the same CD as the windows version doesn't seem like a bad idea. His talks about Wine are fine and all, and I can understand that.. but I really dislike his dismissal of whether or not it is native. AFAIK Wine still requires Windows. That is bullshit. I want a game to run on Linux. Linux. Not windows, not wine. Wine is Not an Emulator, Right?
It doesn't seem to take much to build a game using existing cross-platforms toolkits that rival Direct3d. OpenAL seems to be the largest gap to bridge.. but, this is a pointless rant so I'll end it.
Dacels Jewelers can't be trusted.
... is only the first of a slew of revolutionary match-making games. Soon, the following titles will appear :
- The Sims Warm Feeling : you have to prepare the ceremony. Choose the right cake, find an affordable ring, discover friends to invite who aren't drinking buddies, select an appropriate church (avoid the ever treacherous Vegas drive-in wedding !) : will your marriage be successful, or will she say no ?
- The Sims Hot Waters : your mistress and you are busted ! dodge flying plates, try to watch the ball game amidst the shrieks : can you manage to stay married, or will you join the legions of single men again ?
- The Sims Cold Feet : you can't take it anymore, your family urges you to take a decision. Work harder to pay attorney fees : can you make enough money to win your divorce ?
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
In my opinion, there is no future for linux gaming if wine is the only way to go..
The problem is: at the moment, the best gaming API
is Microsoft DirectX, like it or not, and
the likelyhood of DirectX becoming a cross-platform API is zilch.
So obviously, Wine is needed at the moment, partly as a windows-simulator,
but also as an implementation of DirectX on linux.
In the long run, however, It's unhealthy to be dependent on an API dictated by microsoft.
We need a new, open, alternative.
Perhaps SDL 2.0 or OpenGL 2.0 is the answer needed?
Linux needs a killer DirectX-killer-API, much in the same way DirectX was the
MSDOS-killer that moved games development to windows.
However, if wine is the future of linux gaming,
we are (indirectly) giving that future to Microsoft.
I met Scott Draeker at the Game Developers conference on March 7 2000, about a month after The Sims shipped on Feb 4. I suggested that Loki port The Sims to Linux, because I was optimistic that it was going to be a popular game. He didn't seem to think so, and brushed me off, with a "go away kid, you're bothering me" attitude.
Just goes to show what a stellar business-man Scott Draeker is. Maybe that's why Loki's business is in the shitter and all of the good programmers jumped shipped months ago. If I were the Transgaming folks, I'd be happy that Scott Draeker was poo-pooing my idea as he has shown time and time again that he has no idea what he is talking about and in fact is often doing the exact opposite of what the right thing is.
So let me get this straight. The highest modded post from yesterday's story is copied to another forum, and it makes today's news?
As an avid gamer and coder, I'd have to say that linux really isn't going to catch the gaming market in the forseeable future. Call me a pessimist if you like, but that's the way I see it. Gaming may be a large market, but right now, the market is firmly entrenched on a Microsoft codebase. As the guy from Maxis pointed out, it's not that the tools aren't there, or that they're not professional quality...
Porting games really isn't a solution, as Loki found out... any gamer that's serious about playing isn't going to wait for the linux port to maybe make the rounds, if someone decides to pick it up... so they basically exist to serve two VERY niche markets... the "I won't run anything unless it's on linux" and the "I'd rather run it on linux" groups. Concurrent development for multiple architectures is indeed expensive and carries with it a lot of overhead, EVEN if it's planned from day one! While this may have benefits in the long term, as with the Sims linux code being used as a base for the Sims Online project, I believe that this is still the exception rather than the rule.
So, you a cry, a killer app is perhaps warranted? Difficulties abound in this scenario as well... any game that becomes immensely successful automatically spawns imitation... play-alikes would be appearing on the Windows platform in VERY short order, capitalizing on a much greater market that has been overlooked, purposefully OR unintentinoally, by the original creators.
Realistically, there's only one thing that will make Linux a commercially viable platform for which companies can develop games: Linus' plan for world domination(tm). The game companies will go where the money is, that is the simple truth... if the gamers come to Linux, the games will follow. Loki's "testing of the waters" showed that there isn't the demand yet to justify a supply.
As for the discussion on how to get people to Linux... well, that's a whole different can of worms, and one that I won't open in this thread. I should probably (knowing /.) add the caveat that when I'm talking about games, I'm talking about modern, commercial-quality games, with Hollywoodian budgets and all the bells and whistles.
Just my two cents...
- Dave
Anyone remember when Windows 95 came out originally? It had no games, or at least the ones it did have sucked big time. Everyone moaned that Windows gaming would never take off because dos games were faster, and more dedicated.
And now everyone uses Windows.
Why?
Because it was still possible to play at least some dos games under Windows (because it was built on dos), and with for a bit of hassle, Windows would close, your game would run, you finish your game and windows would reboot.
Yeah, it wasn't neat, but it let people move to Windows 95 and still play their dos games. Once the user base was large enough, native games became available.
My point is, the argument against Wine is exactly the same.What I want to be able to tell people is
"Yeah, you CAN play all your existing Windows games under Linux! Try it and see! It's SOOOOO much better than Windows!!!".
Y'see, if we could get people using Linux more, the user base grows. Then it becomes more feasible to make native Linux games. Then the user base grows some more... See what I'm getting at?
If wine can play all windows games, we can get all those game loving people who won't try Linux because it hasn't got any games to try it and love it too.
Imagin getting a game on a self-booting CD/DVD, that boots you into the a fast, BSOD-free environment
I have that system. It's called a PlayStation2.
do not read this line twice.
Why stop at netcode?
"It is entirely possible to have this part of the code isolated from the rest of the code, and for it to be completely platform independant."
This applies nicely to other stuff too.
Have you seen the Unreal engine, responsible for Unreal, UT, Rune, Deus Ex and others? Video, audio, input, physics, etc. are implemented in C++ for speed. The game code ("when the player touches a gun lying on the ground, add it to their inventory" and so on) is written in UnrealScript, a compiled-to-bytecode language vaguely similar to Java. In the case of UT, you'd probably be surprised how much is done in Unrealscript (you could quite conceivably make a whole new game without changing the C++ bits, although you'd be stuck with a slightly older graphics engine that way).
I believe Quake 3 uses a similar system (mostly so that auto-downloaded mods can't carry viruses because they run in a Java-applet-like "sandbox"). This is why the UT and Quake 3 Linux ports consist of a smallish set of replacement binaries (the UT one is around the same size as the latest Windows UT update patch), and require a Windows CD to install from.
One of the things I didn't see mentioned is that a lot of developers are writing for the console only.
c old-dead-hands crowd clamors for support and then whines when they can't get it.
Consoles have a lot of advantages. They are stable same-same environments. Not a lot of variance, since there is only one manufacturer for each one. There have been some companies that have questioned making games for PCs entirely becuase of the wide variance in the hardware, let alone the operating system.
Many companies make two versions now, one for their console-of-choice and another for Windows/Intel PC platform.
Guess which one is the support nightmare. Pretty easy when you have to support several different video card manufacturers, even ones that don't exsist any more like VooDoo. Yet, the small, vocal, they-will-get-my-VooDoo-when-they-pry-it-from-my-
Different versions of Windows, cheap, God-awful systems from Best Buy and Circuit City, poor white box mail order, you name it, and its a problem on the PC platform.
So, is it a Windows vs Linux thing? Not really. Unless Linux becomes the dominant desktop environment, or at lest has double digit percentage numbers, its a useless question. Developers don't REALLY want to develop on the PC to begin with because of the high support cost, and they are certainly NOT going to develop for a low desktop marketshare OS like Linux.
Think about this anyway: If they did, they would only support it on Red Hat anyway,(market share and mind share again) and then you would bitch about that. This community will only be happy if there are NATIVE Linux games that work on every distro. Ain't gonna happen. Be happy there is still a market for PC games at all.
so i think the sims might lure them away from Windows.
IMHO, no game is going to lure people away from Windows. Think about it:
There is a user that runs windows and buys games that run on windows. Now, one game is ported to Linux, but it also runs on windows! Why would they switch? There's no need, that game already runs on windows, as does every other game they own, and the overwhelming majority of games due to come out.
Really, what is so *great* about Linux that will lure the gamer from windows? The lack of games? The lack of driver support? Or maybe the fact that it's completely different than everything they know?
Now, if the Sims 2 came out *only* for Linux, you might have something!
Where are we going and why am I in this handbasket?
What is it that allowed Windows to win the mainstream? What is it that allowed Apple to win the mainstream? A concept known as killer apps... Essentially, a program that allows the platform of choice to perform a duty and function that is NOT available/possible on other systems...
Linux is good for server applications, but *really*, what can it do that Windows/Mac cannot do, other than not crash as often? Very little... Why is this? Between platforms, Linux does little more than ape most of what anyone running Windows/Mac can already do, and far FAR simpler... Can Linux be used optimally for graphic design and video production without any hassles of hopping between CLI and GUI? Nope... Can Linux be used for mainstream business applications and gaming without doing the same, or relying on emulation? Nope... Face it, Linux relies on a few adequate programmers attempting to reinvent the wheel, or emulating an OS that already exists with far less BS to fight through to get the job done...
THIS is why Linux fails... This is why Linux isn't replacing 100% of Windows desktops...
This is not a flame, this is constructive cricism... The problem with Linux is that there are plenty of people willing to rally around the banner, but very few willing (and able) to actually go to war for it... Linux, in order to fight against the two big shots, is to make some applications that are COMPLETELY unlike what is already on the market, and unique in what it can provide... Make something, ANYTHING, that can either (a) supplant existing applications (make a graphic editor far superior to what can be found on Windows or Mac platforms, with a GUI to allow you to use it, artists traditionally don't LIKE to have to haggle with CLI's just to draw, I'm an artist, I KNOW this), and (b) provide a program that is completely unique, anything that the existing Windows/Mac scene has completely overlooked... Use your imaginations, you want the OS to succeed, then FIGHT so it can, instead of pretending that just being crashproof is the lone cause for it's acceptance...
What good does a bulletproof jacket do you in a world where everyone fights with rocket launchers?
Just because you can mod me down, doesn't mean you're right. Shoes for industry!
Ignoring the most enthusiastic 10% of computer world makes sense?
There is no way anything close to '10% of [the] computer world' runs Linux. The most optimistic estimates of Linux's share relate to server installations, and often to websites run under Linux (the count of which can vastly exceed the number of actual machines running Linux). Since the vast majority of Linux machines are actually installed in offices/ISPs/server farms, this hardly seems like a market worth targeting by a gaming company. Maybe one day it will be, but it sure does not make sense now.
And just because Linux users are 'enthusiastic' does not mean they are any more likely to buy a game, any more than enthusiastic Solaris users are going to be more likely to buy a game that happens to run on Solaris. The few remaining Amiga users, for instance, are evidently very enthusiastic, but it would be a very poor business plan indeed that proposed catering to this enthusiastic market.
What is really that attitude of the majority of Linux users regarding commercial games? At present I am writing a shareware game which will be released for Linux, Windows and possibly OS X. Of course the shareware game profits would be used to build bigger and better games with contracted artwork and possibly licensed engines.
I'm doing the Linux port because I prefer to develop in Linux and the libraries are all cross-platform, but I don't really expect the Linux port to sell well. I also expect to get flamed for not releasing source.
It occurs to me that startup companies could offer a great deal to Linux, but the community seems only interested in giving money to established companies and complaining that the new guys want to charge money. Almost every commercial/shareware game on happypenguin for example has a comment saying "it would be better with source code" or "I refuse to use it because its not free".
Game developers write the specs of gaming APIs they would die for and publish them, so they can be implemented by OSS, Microsoft, Sony, Nintendo and any other person/entity that cares to implement them?
They would then control thier own destiny - as long as they could resist $ from marketing deptartments - and would have a common set of APIs to support in thier games.
If a game didn't run on PlatformX because of a malformed API, the author of the API implemenation would be on the hook, not the gaming company. IOW, the game authors hold all the trump cards, no one else.
SDL seems to be an atempt at this already, but is it coming from OSS developers or game developers? The difference is important.
Soko
"Depression is merely anger without enthusiasm." - Anonymous
>Really, what is so *great* about Linux that will lure the gamer from windows?
>The freedom. The lack of crashes. The configurability.
I think of them, then I realize that linux DOES crash (often in really archaic ways)... I think about how much I really care to configure my game machine, and I configure about the "freedom" of not being able to play games because I'm using linux.
IMHO linux is as robust as it is because it lacks a lot of the little touches that windows has. If all you want to do is program and run servers, use linux... But if you want a user friendly environment that plays games well, use windows.
Please mod this "Flamebait", because I am sure it will offend quite a few people.
I'm a Windows user. Windows 2000 specifically, because of its more powerful command line interface and more crash-resistant GUI, but still a windows user.
The problem in my eyes is that Linux has no central figure directing development. For those who would jump up and yell "Linus!" think again - he's doing the OS core but not terribly much else in this area. In the Windows world, where Microsoft is on 80-95% of desktops depending on how you count, MS drives the entire industry. DirectX is *the* API. It killed off Glide, and OpenGL doesn't seem to be doing terribly well either now. Why? Because it's standard. It comes with the OS and it comes preconfigured to *work* with the OS.
I have psuedo-Linux (Cygwin/XFree86 running KDE 1.1.2) installed and am learning how to use it. I hope to one day shed my chains of Microsoftness and become Enlightened, but I'm struck by the complexity of it all. I just learned how to mount drives. I still don't know how to install software. Every time I try it tells me my GCC can't produce executables. No mention on how to fix this, however.
Linux is, for many average *gamers* too difficult of a market to bother wasting time on. 9/10 of games are for a gamer, not a *geek gamer* which the Slashdot community is. With the exception of hard-core simulators (NOT the porn kind to all trolls), everyone the game company cares about is running Windows. Why spend $$$ porting to another platform?
I don't agree with that personally, but it makes sense in a business way.
JKoebel
10%????? You are WAY dreaming. Not even the Mac is 10% of the market.
You're absolutely right. This always cracks me up when people say things like this. Servers are one thing, but there is no way in hell that Linux desktop marketshare is even remotely close to that of the Macintosh.
Articles like this prove it: The Sims has been available for the Mac nearly as long as it has for Windows, but where's the Linux version? I still have yet to see any credible evidence that Linux has any more than a negligable desktop market share, and I think your guess of 0.1% is generous. I use Linux on all of my low-end servers, but there's no way I'll waste a perfectly good desktop machine with it.
- j