Loki's Draeker On WineX, Transgaming And More
pseen wrote to us with a conversation with Scott Draeker (of Loki Games concerning the recent Transgaming and Wine announcements, as well as the Mandrake Linux Gamer announcements.
← Back to Stories (view on slashdot.org)
Is that it's using Wine. Maybe I'm behind the times or biased, but Wine has been around for a long time now and still can't even be used to run already-installed business applications like MS Word, much less the Word installer, much less still DirectX games, much less even that that installers for DirectX games...
The one important commercial product released so far using Wine is Corel WordPerfect Office 2000 for Linux, which was such a dismal failure that many users who paid hundreds in cash for it ended up buying the windows version in addition anyway to run under VMWare or Win4Lin.
Wine simply has not proven itself a viable project. Don't get me wrong -- I'm not complaining about the Wine developers at all. I'm just wondering whether it's really possible (both legally and technically) to get a working, current implementation of the Windows and DirectX APIs on Linux.
This question is, of course, in addition to the significant question of performance, not even addressed in this post...
STOP . AMERICA . NOW
Simple, to get windows users to migrate to linux, giving linux more support with hardware such as drivers, and software.
This is a GOOD thing.
Windows users want games, they dont care if the games are native or not, they just want to play their OLD games in Linux.
The new games can be native but the old games are what transgaming should be porting.
If you use Linux, please help development of Autopac
The way I see it developers try to make money on games. Fast and easy API's are needed. Sure ther's OpenGL - better than DX some say - but it's just graphics. There's no wrapping. No joystick-, force feedback- or sound support and a set of Linux code will only compile on a Linux machine.
All effors Mandrake, Transgaming, Wine developers and others are putting down in emulators, ports a.s.o. should be redirected to make an atractive API for both Linux and Windows. A top-top-level api. In bottom you could put OpenGL or DX depending on personal flavour or platform. One compile for each platform. There would be only one company maintaining the libraries. Game producers could then focus on an easy top level api and make whatever game run on any supported OS.
I belive that joining effords in creating such a cross-platform api would ease up developers relationship to Linux as a gaming-platform. It can handle it.
Look a monkey!
WINE = Wine Is Not an Emulator
Why can't people get this through their heads??
This is not the same thing as VMWARE or VirtualPC for the Mac. This is an implementation of the Windows API for linux. What does that mean? It means games run just about the same in linux as in windows because there is no overhead of an emulator.
With the case of Direct3d the WINE implementation actually converts the calls on the fly to OpenGL - it does not emulate a Direct3d card - it just does a conversion, there is a difference because when a Direct3d card is emulated (as in VirtualPC) the software that is run has no real knowledge of what is underneath - this is not so with WINE.
You can even run things such as 3dmark 2000 because of this. I get about 2500 3dmarks on a 1.2GHz Athlon with 512MB of RAM and a Geforce2 MX - not quite as good as what I do in Windows, but it is damn smooth.
So don't bash it unless you try it because it really does work.
Derek
"If I'm going to play games, I'm not going to run them through an emulator. I keep 3 machines on my desk at work"...
Thats very nice for you and for those in your situation, an ideal solution. 'Heres the thing, though' Im a student, and while I have enough disposable capital for games and the odd rare hardware upgrade, I certainly couldnt afford OS dedicated machines.
Now while perhaps on an indvidual basis you are a much more interesting consumer, as a representative of a wider income range cohort, whom do you think might be a more attractive target?
troodon.net
I evangelised to my co-workers and managers at Maxis about how I thought Loki would be the ideal company to port The Sims to Linux. Since there really isn't much demand for a Linux port, I proposed doing a Mac port in a way that would facilitate them both. Before The Sims was ever released, I wrote and sent a proposal around Maxis, outlining how to port The Sims to the Mac and Linux, using SDL and Open GL.
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.
But I gave Scott Draeker the benefit of the doubt, that he was just tired after a long day in the trade show booth, and not really as curt and indifferent to the idea as he seemed.
Once The Sims shipped, I left my full time job at Maxis to work on some of my own projects, but I kept working on The Sims for Maxis as a contractor. I worked on content creation tools, developed Transmogrifier and other stuff. I still have legitimate access to The Sims source code, and I keep Will Wright up to date on what I'm doing.
As a proof of concept, I started porting The Sims to Linux on my own time. I hoped to overcome the skepticism of some people at Maxis, as well as Scott Draeker at Loki, by demonstrating that it was indeed possible, and experimenting to find the best approach empirically.
My goal was to find the best approach to getting The Sims to run on Linux. Not just to use one particular technology or another. The end result is what matters most, not the way it's implemented.
Thanks to the encouragement of John Gilmore, I certainly did consider using Wine, but at the time it was nowhere near sufficient. (But since then, Transgaming has made astounding progress with Wine, and it's now obviously quite sufficient, to my delight.)
So I used SDL to do a native port of The Sims to Linux, and got most of the game running quite well, except for drawing the people and roofs (which would require hacking a system memory back end to Mesa), and sound (which would require using OpenAL, with which I hoped Loki would have been able to help me).
I was actually quite surprised at how quickly I was able to get a native port of The Sims running on Linux. My previous experience porting SimCity to Unix took a lot more time. But the tools are much better and computers are way faster now. And of course I was more familiar with the code base.
I offered the results of my work to Loki on reasonable terms. They didn't seem interested. I talked to some people at Maxis about it, and they said that Loki had been discussing it with Maxis, but they hadn't heard back from them in a long time.
I finally got some brusque uninformative email from Scott Draeker, and we talked briefly on the phone, but he said that he was really busy, he had a lot of paperwork in progress that had to be finish, and he'd get back to me some time. So I stopped working on the port, and waited to hear back from him...
I considered approaching other Linux game companies about porting The Sims to Linux, but decided to wait, because I still believed Loki was the best company to do it, and I did not want to undercut their ongoing negotiations with Maxis. Just the opposite -- I encouraged Maxis to quickly reach a fair deal with Loki, because I believed we could work together to get it to market fast. But Maxis wasn't the only company dragging their feet.
Months later, I finally read on the net that Loki had decided not to port The Sims to Linux, because "Maxis wanted too much money". By that time, The Sims had been topping the charts for months, so of course Maxis was asking a lot for it.
What I didn't know at the time, was that Loki was soon to declare Chapter 11. So it was actually a combination of Maxis wanting a lot for it, and Loki not having any money. But of course Draeker didn't mention that fact at the time.
But fortunately, my time and effort porting The Sims to Linux was not wasted, because Maxis needed The Sims to run on Linux, as the multi-player game server for The Sims Online.
So I used the original port at a guide, and more cleanly ported and optimized the newer Sims Online code to Linux again, making a headless build without all the graphics (removing SDL and DirectX). But the Linux build of the code is for Maxis's internal use on their servers, not as a commercial product for Linux.
I made the same code base compile on both Windows and Linux, and both with or without graphic. The SDL graphics code still works on Linux, but it's only used for diagnostic and debugging purposes, and not for production.
It's nice to run the graphical build of the Linux server in order to see what the server's doing during development. But the production server can't require a connection to an X server, and doesn't read in any graphics, because many must run on the same machine in parallel.
Even though Loki blew their chance to port The Sims to Linux, I still wanted to see it happen anyway. But because so much time had passed since the release of The Sims, I would rather put my efforts into finishing porting The Sims Online client to Linux, and work with some other company than Loki.
But I discussed it with Will Wright, and he explained to me in his reasonable, thoughtful, well considered manner: a native port of The Sims Online client to Linux would not be practical as a commercial product, because of its nature as a dynamically updated online game.
The way The Sims Online and many other online games work, is that the server and the clients all run the same deterministic simulation in lock step, funneling any user requested changes through a central "headless" server, so the actions can be scheduled to happen at the same time in all parallel universes.
So the server simulation and protocol must be *EXACTLY* the same as the clients, or all hell will break loose. Any online game, no matter what the architecture, requires that the client and the servers be in sync. That's not so hard if the game is trivial like Othello or Quake, but The Sims network protocol is much more complex and quite sensitive to incompatibilities.
So there is absolutely no way to support any more than one client executable, because the clients and servers must be updated together in real time by downloading patches, just like Ultima Online and other games.
In order for there to be a Linux port (or a Mac port), it would necessarily have to be done in-house at Maxis, built off of the same code tree, developed in parallel.
It is simply not possible for a third party developer like Loki to stay in sync with the ongoing development at Maxis of The Sims Online. That would require enormous overhead and resources on the part of Maxis, all for an extremely negative return on investment: it would extremely complicate and slow down the development process, require extra programmers, quality assurance people with Linux skills, etc.
Cross platform development requires a LOT of overhead -- please believe me if you haven't tried it. The gross income from selling Linux clients would be infintesimal, and would never outweigh the enormous cost of development. There is absolutely no way EA would ever allow Maxis to flush their stock holders' money down the toilet like that.
That is the harsh, real, undenyable reason that Wine is the most practical and economical way to run games on Linux.
I am quite pleased that Transgaming has developed Wine so far that it can now actually run The Sims! What's wrong with one Linux company coming up with a free and practical implementation of a great idea, that puts another Linux company out of business? Think of it as evolution in action, to quote somebody whose name doesn't deserve mentioning.
The way Transgaming has improved Wine is so generally beneficial, that running The Sims Online on Linux the very day it's release on Windows, is now practically in the bag! With Loki's pace and approach, there was never any hope of that.
The thing that matters most is the fact that a game DOES run on Linux, not HOW it's implemented. Real People in the Real World don't care about religious issues like if it's running under Wine or if it's a native port. It takes over the whole screen anyway, so what does it matter? The end experience is the same.
Thanks to the generality of Wine, now there exists a whole spectrum of solutions, from binary emulation, to recompilation, all the way to native porting. Wine could be an extremely useful tool in the process of doing a fully native port.
Those irrational people who reject Wine for purely political reasons, are doing much more damage to Linux than Wine will ever do. They're trying to argue that trivial invisible implementation details matter so much to users, that they would reject Linux if their favorite games weren't native ports, even if they ran under Wine. That's totally ridiculous.
The fact that a game runs on Linux at all, is MUCH more important than whether or not it's a native port.
Another advantage to Transgaming's Wine approach, is that all the existing free external tools like Transmogrifier, SimShow, Facelift, Art Studio, Home Crafer, Menu Edit, File Cop, and the many third party tools, will all probably run under Wine. And if they don't, Transgaming considers it a bug in Wine, and wants to fix it. Most of those tools will never be ported native to Linux, so the only way to use them is though Wine.
I just can't believe that people would attack Transgaming for all that they've done and given back to the community. The alternative is for Linux to simply hold its breath and go without most games.
The consequences of that alternative are dreadful, and much more harmful to Linux than the imaginary consequences of Wine. Now that Wine has been improved enough to run games like The Sims, it has so many other wonderful uses as well. Why would you ever consider sacrificing all that?
It's not worth attacking Wine out of political correctness, in order to wait around forever for native ports that will never happen. Please don't cut off your nose to spite your face.
-Don
Take a look and feel free: http://www.PieMenu.com