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)
I don't think Loki would want to use something like that. Sure it would speed up devel-time but it would still just be a wrapper (a huge ugly wrapper) to native linux libs which would make things slow and ugly.
Loki's philosophy has been 100% native linux software. They strip out all windows-specific code and replace it with linux-specific code. In the process they also fix and remove bugs in the windows version.
Actually, there's another reason not to use wrappers. Using wrappers means there will be large blocks of code that the developers will never know anything about. Porting 100% of the code means that the developers understand the code much better which results in more bugs (from the original code that doesn't get thrown out) getting fixed.
--
Garett
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
He's only half right.
Sure, Loki's got the right idea, but it's better than booting over into windows if you are a hardcore linux junkie. Transgaming has the potential to be just like booting over to windows, without the whole booting over nonsense.
The problem is that most people who are hardcore linux junkies are also used to running multiple partitions for other reasons, which is why Loki's having problems.
Gentoo Sucks
Loki had their chance.
They cannot do what needs to be done.
What we need is games in linux, They dont have to be native games.
I subcribed to transgaming, We are voting for them to mostly port old games, leaving the newer games to loki
Loki will still have a job, Loki can port directX 9 based games, while WineX works with all the old games.
The dicussions from the voting subcribers have said that most of them want old game support more than the new stuff.
Loki is just being a typical company here, trying to have all the money to themselves.
If you use Linux, please help development of Autopac
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!
I agree I have been waiting for this since Transgaming first got started almost a year ago.
I signed up on the very first night and have really enjoyed the games I have played so far.
Fully OpenGL accellerated Baldur's Gate II in an enlightenment window sitting right next to mozilla with LICQ over on the left is a sight to behold my friends.
If you want to play the games you already own in linux then go sign up.
The greatest thing about the Transgaming model is that you get to vote on what you want them to do next. So if there is one particular game you want (right now Black & White is on the top of the charts on Transgaming) and other people want it to - you can actually give real feedback to the development team.
This is a great strategy - and I think everyone should participate.
Happy Gaming!
Derek
Loki does not realize that they cant sell games to people who already own the windows version.
Now, given the chance to buy the windows version and the linux version, most people will choose the linux version. But if theres only a windows version and now it works in transgaming, these people most likely werent going to buy the linux version if it DID come out, they most likely have been booting into windows.
If you use Linux, please help development of Autopac
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
do we want a watered down linux that everyone uses, or the linux we already have? Look... I'm not a linux elitest who says only "smart people should use linux" but I don't know how much I like the idea of running windows games on linux. I have alot of respect for what the wine people have done considering how gnarly the win32 api is (i've worked with it... ick), however thats the problem. Linux is relativly clean and well built, so why do we want to incorporate horribly written apis and code into our base? Alot of microsoft games don't even work right on microsoft computers with all the hidden hooks in win32, why would we assume that they'll work on linux? Another issue is the fact that sircam was demonstrated to run on wine, are we going to compromise security to play a few windows games? I'm on Draeker's side, if you want windows games then damnit, use windows. Of course there's always the "lets see if we can do it" argument which is a pretty good one, otherwise linux never even would of been here... but lets keep it at that. Now if they want to write some entertainement apps, why don't they write a quality dvd app (yes i know about the css licensing fees) because livid sucks or write some true linux games. As for me, if I get my hands on a windows computer game... I plan to use it in windows which is about the only thing I do in windows (except dvd). Its too much hassle to go figiting around with wine (I couldn't even imagine how random wine is right now with what works and not incorporating directx... i shudder at the thought).
ps - Also if we keep a model of copying microsoft we'll find outselves always playing catch-up. For instance I got my hands on windows xp and was playing with wine and found that wine has no problem with win 2k advanced server or win me but seg faults on notepad.exe that comes with win xp. I know xp is officially supported however xp has a compatibility layer thing that allows programs to run as if they were win95 or winnt or win2k (its actually pretty cool). But it just makes me wonder just how much did microsoft break in releasing xp?
can't sleep slashdot will eat me
And that is the problem with WineX. That is why developers do not use Java to develop games. [Please don't turn this into a C++/Java flame war] But the fact of the matter is, whenever you put another layer between the hardware and end user software you incur an overhead.
This isn't a problem with *most* applications. However, for games to run at 60 fps, you need to render a frame every 16ms or so. With this kind of constraint you do not want to be farting around with a VM.
There are alternatives to this. The problem right now is the fact that a lot of developers use Direct3D rather than OpenGL to develop games. You could argue about what API you like better, but both APIs are functionaly complete [minus the time it takes for extensions to be approved when new hardware comes out]. Therefore, using a Turing machine argument, applications that are developed using Direct3D can be developed using OpenGL, and vice versa.
But why do developers use Direct3D? Because cross-platform operability is not a big concern. It's a catch-22 situation. Developers do not develop games for Linux because nobody buys them. Noboby buys games for Linux because there are no games developed for Linux.
Now, Quake 3 was an exception to the above argument. It was released for Linux...but nobody bought it strictly to play on Linux. And developers still don't have any confidence about releasing games for Linux.
My advice, when Doom3 is released a year and a half down the road. Buy it. Play it. Play it on Linux. That is the only way to convince developers that Linux is a viable platform.
SL
Ya I have seen your posts - I post as friedmud there too.
It is a tough decision between Directx8 and Directx6 - I just dunno. I think I have voted +2 for 8 and +1 for 6 - but that is because I have bought more new games recently and I want to make sure that new games get continued support.
But I can understand why we might want to leave that to Loki and focus on getting the other hundreds of games running on Directx6.
Tough decision though.
(Note to all you people who have not signed up at Transgaming, you will not understand what we're talking about because you can't vote - so if you wanna be in the know, and if you want to have a say, THEN GO SIGN UP!)
Derek
The article is Scott's response of "They suck, we're better" to TransGaming's statement of "They suck, we're better". This isn't a one-sided thing.
Besides what I have already said - I would also like to comment on the fact that if you can get a game to run usning Transgaming it usually looks just fine.
The directx7 implementation is great - it is there. Mostly it is some of the other parts of the system that have problems (ie loading the program, or installing the program - but here again Transgaming did an entire implementation of MS's DCOM - that in itself was a huge feat).
So call it what you want - but I don't think it is an emulator because it doesn't create software instances of hardware (like running an NES emulator creates a "virtual" NES in software so the games like it).
The point is just go try it! The first month is free anyway - and after that it is only $5. I don't know about the rest of you, but being able to play all the games I already own in linux is like a wet-dream come true, and if $5 a month will help that out then I am there.
Derek
Ok, suppose I want to run Linux software and Windows software? Is that outside the realm of possibility? In that case I have two choices, Wine and Cygwin.
Loki should recognize that TransGaming is actually helping them.
Where I live, there are a few streets that are absolutely infested with computer stores. If they were thinking like Loki here, this never would have happened. But storeowners realized that, far from stealing each other's business, they enhance each other's business. People know that if they want computer equipment, they should go to that street, and everyone benefits from that.
Now let's say WineX helps Linux become a popular gaming platform. Most of my games work well enough that I don't use a Windows partition anymore. Now, when I go to the store, am I going to buy Unreal 2 for Windows, or Unreal 2 for Linux?
Seems pretty obvious I'll get the one that's designed and optimized for Linux, rather than the one that will "probably work". Note also that TransGaming isn't focusing on games that Loki has ported.
Of course, if there's no Linux version available yet, I'll have to think more carefully about whether I wait for a port, or get the Windows version. I guess ports can't be an afterthought if WineX succeeds.
What I wonder, though, is whether TransGaming's working on a clone of the X box. If it takes off, WineX could win big there.
Do I detect a hint of sour grapes in this W(h)ine? :)
Editor Emeritus and Senior Writer, TeleRead.org
Wine Is Not an Emulator. Say it with me. A Java VM IS an emulator. It emulates a fictional processor that Sun made up.
Wine is much more like a wrapper, and wrappers can be orders of magnitude faster than emulators. Wile it's true that a wrapper will introduce some overhead, it's not at all clear that the overhead must be significant.
First of all, the wrapper may have small overhead per call. Second, the wrapper may have large overhead per call, but there may not be a lot of calls-- the program may spend the majority of its time in the main program, or in the actual wrapped calls.
Look, I'm not some Wine fanatic. I know it's got a long way to go. But your argument makes a lot of assertions that I don't think you can prove.
I am truely happy that there will be more competition on the linux gaming market. More Games!! However, WINE isn't the fastest program, I think win4lin would be better....
forget it.
They want money for what they "might" do. This isn't a product where if I want to play a windows-only game, I can buy it and make it work. They aren't even making any guarentees on what works and what doesn't. Games they have listed as "working" are still flaky at best.
I'd like nothing more then to play NHL 2002 on my linux system. A port is less then likely. So something like this is really my only option. But why wouldn't I suscribe? Pay $5/month to ask them to get a game working? There isn't even a guarentee that it will ever work.
Now, it would be worth money, if it could actually play all DirectX 8 games. If I could buy a game that uses DirectX, and know it's going to work. THAT'S something that's actually worth money.
Paying someone in advance for work they might do, and never even getting a guarentee that it's going to get done isn't something I do.
"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
"Any fool can make a rule, and any fool will mind it."
--Henry David Thoreau
I'd be really curious to see something running in WINE versus the "In-Windows" running difference...
I guess it's how much api calls are made, but that could be interresting for porting some stuff (especially rendering like Lightwave or MAX or truespace) over linux, build cheap renderfarms and not having to pay a 33% microsoft tax over each system for the OS to run over EACH node.
--- Metamoderating abusive downgraders since my 300th post.
i agree
The problem i have with linux lies in the exact same area - the mistaken impression that GUI tools in Windows dont work properly is a myth and belies the fact that i can tell a user over the phone to open this window, click on that icon, type that box and click ok - try that under many linux installs - open a terminal, now type... no no its... you hit enter ? ok lets try again.
The issue is that i think linux kernel and applicaiton developers should wire their testicles to a 240v power supply. Every time they need a console, a make file or a configure command to install a simple piece of software they get a shock - simple and i can bet that pretty soon we would actually have installers that work properly every time.(although there is always the danger that some of the developers might enjoy the electric shocks !)
I love linux and would love to see it a useable system for all but at the moment the only people who are using it fully are tecnhincally competent, their is a HUGE difference between them and the average joe schmoe at home.
Linux games are a case in point, i have installed many games and then discopvered after downloading, configuring, makefileing and such like that it needs this library or that etc etc (and the next person who says read the documentation gets a punch in the nose - have you SEEN what linux developers call documnentation and manuals ? )
The average user wants to pop in a cd, run the setup, have it install the files and then play the game / use the app - Period. They dont give a fuck about anything else and the windows direct x installation is as simple and easy to do as falling off a log - we need to stop arguing about crap like whats the best emulator and get out there and make a viable alternative OS for every man that is easy to use and add software to
I refuse to argue with Anonymous Cowards - if you want a discussion get an account....
What is so difficult about the fact that Linux is better than Windows because it is different. Of course this means that it is better in certain tasks, and worse in some.
If things end up in a situation where we have a complete Windows UI and API sitting on top of Linux, you might just as well run the real thing.
Escher was the first MC and Giger invented the HR department.
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
If Wine was an emulator, it would work already.
It doesn't because it doesn't duplicate the Windows 2000 environment or the Windows 95 environment. Instead, it implements the same API in a different way.
That's not emulation-- if it was, Linux would be a POSIX emulator. Windows 95 would be a Windows 3.1 emulator. Windows NT would be a Windows 95/3.1 emulator. . .
I agree that Wine has a many things in common with emulators, but performance is not one of those things. (Which was the point of this post).
VMware and Plex86 are much more like emulators (they simulate hardware, but not a CPU) than Wine. Bochs IS an emulator. It duplicates the x86 platform on non-x86 hardware.
"When Loki ports a game we don't use emulation or other tricks. We are creating a native Linux application. That's the only way to take advantage of the features and stability that Linux offers. No Windows software, no matter how well emulated, can do that ... Linux users demand more than Windows software can offer."
Since when is Win32 software inherently unstable? Honestly, can it be proven that a Windows game is unstable just because it's a Windows game? I think not... Quake III is rock-solid on my machine. Through 3 CPU's, 3 OS' and 3 video cards, it's been great. I haven't had it crash on me at all this year. It starts when I start it (every time), it ends when I end it (without crashing).
What's so unstable about it? In fact, I have a grand total of three programs that crash on my machine (Max Payne and the two 3DMark programs). Sounds fine to me, since it's a grand total of ONE engine that crashes on me.