Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Games Entertainment

Maxis Developer on Linux Game Porting 364

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.
This discussion has been archived. No new comments can be posted.

Maxis Developer on Linux Game Porting

Comments Filter:
  • just say no to ports (Score:2, Interesting)

    by capoccia ( 312092 ) on Tuesday October 30, 2001 @03:42PM (#2498834) Journal
    forget porting and forget emulating/re-implimenting.

    game developers need to write to a cross-platform gaming library like sdl. then all the os-specific and hardware-specific enhancements can be developed in the library by people who enjoy those sorts of things and game developers can spend their time developing games. and the users are happy because they can spend time playing games instead of being concerned needing a specific os.
  • Sim this (Score:1, Interesting)

    by Flakeloaf ( 321975 ) on Tuesday October 30, 2001 @03:46PM (#2498873) Homepage
    Am I the only one who's getting a little tired of Maxis' "guess my algorithm" game? Sim City was brilliant. Each game that came after it was either trying to cash in on success, or add an extra level of pretentious detail on top of what is essentially an experiment to see how well game players react to behaviour modification.

    Porting this game to *nix won't lend any air of legitimacy to company or platform. Get Blizzard onside and I'll be impressed.
  • Well... (Score:3, Interesting)

    by geomcbay ( 263540 ) on Tuesday October 30, 2001 @04:08PM (#2498994)

    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.

  • by Bonkers54 ( 416354 ) on Tuesday October 30, 2001 @04:11PM (#2499010)
    I think the problem here is between games being developed with the ideal situation in mind and the practical most efficient situation.

    The most efficient way to develope a game to run on multiple platforms is to be able to use a single feature-full API that will run on any platform. Currently, the only fully featured game API is DirectX. SDL with OpenAL/GL and other such combinations have many features and work well, but they still can't compare with the feature set of DirectX. It is most efficient to use the DirectX API and develope an application for one platform, Windows, and have it run verbatim on the other platforms such as Linux using Wine.

    Above is the most efficient and practical method for a game company to use, but the ideal method is completly different. The ideal method would be to develope a cross-platform gaming library which contains all features a game developer would need. Currently SDL with OpenGL and OpenAL is available for use, but this combination is still lacking some features. So I see two roads that can be taken. The cross-platform gaming library can be extended to included the needed features and a standard can be decided on which all game companies will use. Or SDL with OpenGL and OpenAL can be used as a base and all other features can be coded into the given application. Either way would result in a native application. In the end the ideal method will also turn out to be the most efficient and practical, but in the current time frame it isn't. The choice is up to the game company to decide which time frame they want to work with. Large companies can go for the extended time frame and work towards the ideal situation, but smaller companies as is the situation for most, will have to go with the smaller timeframe and use Wine.

    I hope the someday the ideal road will be acheived and everything will be native to all OSes. But until then, Wine will suit me just fine.
  • Re:Its a shame. (Score:2, Interesting)

    by nirvdrum ( 240842 ) on Tuesday October 30, 2001 @04:16PM (#2499042) Homepage
    Is it not possible that people experience different results under different systems? I typically get 3x the framerate on Windows than I do on linux with my TNT2 Ultra. And I've had a lot more crashes with games under linux than under Windows.

    Does that mean that you'll have the same problems? No. It's just people talking from experience. That is not trolling. What you and the previous poster have done is construed as trolling, but since you're carrying the linux battle flag, you don't see it as that.
  • by smcv ( 529383 ) on Tuesday October 30, 2001 @04:30PM (#2499124) Homepage
    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.
  • MOD UP!!! (Score:2, Interesting)

    by gatesh8r ( 182908 ) on Tuesday October 30, 2001 @05:10PM (#2499323)
    AMEN! I am SO glad someone in the /. crowd said this.

    I personally feel Transgaming is a Good Thing(TM); screw Loki for now until we have a -competitive- marketshare (I'd say at least 15%-20%) before native ports happen... we have the libs, yeah; we have the hardware; yeah... I hate to make this a "me too" post but everyone needs to get this point hammered down. Give the customer their PROGRAMS, and they will choose to come to Linux. Why??? Well, let's be the average Joe. Their programs don't have a need for 100 FPS (Why would they? They got a "deal" at Best Buy on an HP for $699!). Their OS is Windoze; it's not that they hate it, it's because they can't run their games (no matter how much you and I think they suck :-P) or Office (and fuck getting them to run StarOffice/OpenOffice/KOffice/Whatever because they're not intrested). Speed isn't an issue so much as it's a reasonable speed. It works the same, and Linux costs less... effectively, we have competition! Competition is also a Good Thing(TM). This would not only extend marketshare, but it would help break down the Evil Empire more. If the gov't is going to let Billy G. and his Borg get away with it, we can't say "Oh the gov't will get us back to normal again." This however, can, and we need to act.

  • by Anonymous Coward on Tuesday October 30, 2001 @05:10PM (#2499327)
    Difficult.


    They're assuming a lot of higher-level APIs for sound, graphics, etc. that are specific to either Darwin or the non-open MacOS X bits (Quartz, etc.)

  • How about... (Score:3, Interesting)

    by Soko ( 17987 ) on Tuesday October 30, 2001 @05:17PM (#2499375) Homepage
    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
  • Then don't worry about convincing me, post the reference for all the people who might be misled by my "trolling". Come on, I'm sure there are many people who are confused by all my rhetoric.

    Think about it -- there might be game developers reading who might buy into my lies. Nothing like facts to bring the sunlight of truth into the dark void of deceit spread by people like me.

    Go on -- jump out of the phone booth with that huge S on your chest and strike me down with your righteous information! Punish the disbeliever who doubts that Linux exceeds even 1% of the desktop market! Gather the forces of your links to the studies to strike a blow for Truth, Justice and the Free Software Way! Humble me with the power of your references, and the fury of your truth writ in burnished rows of letters!

    I await the lesson to be adminstered.

  • by Mekanix ( 127309 ) on Tuesday October 30, 2001 @06:40PM (#2499911)

    The way to make developers ditch DirectX in favor SDL is not by talking, argue, pushing, debate, but to show them.

    It would take one game to prove SDL's merits. A game with blisteringly fast 3D-engine, beautiful graphics, jawdropping soundtrack, pricewinning storyline. Put it on one single DVD that runs on any OS (Linux, *BSD, BeOS, AmigaOS, MorphOS, MacOS(/X), QNX, Windows and any other SDL-enabled OS) and get it out to the gameshops.

    This would go a long way to prove that you can reach "any" platform, that you can use SDL without any loss in quality or speed, and you can do this with little extra cost.

    Is SDL up to the task? Is the community?

  • by Glock27 ( 446276 ) on Tuesday October 30, 2001 @06:53PM (#2499998)
    Keep in mind that 1.4 is a long way off from being standard. It's in beta and while 1.3 is pretty well rooted among developers, the _industry standard_ is still jdk 1.2.2.

    This really doesn't matter, since most folk won't want to download any decent game (too large with all the multimedia resources). Therefore you can bundle the VM (JRE) with the game, of course checking to make sure its not already installed. This is actually good in the sense that you proliferate a modern VM to more computers. :-)

    That being said, at Java One I saw a game written completely in Java. It was definitely an interesting concept and it seemed to run pretty smoothly (it was a FPS-type), but it was damn ugly. That may be just that they didn't have the artists necessary for the models, but it sure wasn't quake3. The technology is almost there, but other posters are right, Java isn't great at graphics. Almost, but not quite yet.

    That was an art issue...you can do anything with gl4java you can do with OpenGL 1.2 (in other words Quake, or Doom 2).

    Did you see the Grand Canyon Demo [sun.com] at JavaOne? Pretty impressive stuff, also using gl4java! I think an Open Source Java flight simulator using the FlightGear [flightgear.org] art and other data is fine idea in fact. Anyone interested?

    299,792,458 m/s...not just a good idea, its the law!

  • by Anonymous Coward on Tuesday October 30, 2001 @08:57PM (#2500588)
    Universities today are cranking out CS degrees that can't comprehend a command line compiler let alone understand how to create a makefile by hand. and the fault lies directly in the hands of the professors.

    Quite the opposite, in my experience. The university CS subjects I'm familiar with (including the ones I did) all taught programming in pico/vi on Linux or Unix machines, using gcc or g++ and requiring that the students implement makefiles if they wanted full marks.

    Of course, there were plenty of dumb students in there copying all kinds of assignments with no understanding (and presumably many of them passed)... and the Engineering faculty still trying to teach OO using basic Pascal with fourth year students...

    However, we never even saw Visual C++ or Visual Basic (or indeed, practically any other tool that might conceivably be used in a commercial environment, except the command line ones mentioned above) unless it was necessary for a thesis project.

    If anything the problem seemed to be that the course was more about the seemingly useless theories of software development and engineering and so on... but then, in a big programming organisation/project you suddenly find that they actually use this stuff...
  • by SimHacker ( 180785 ) on Wednesday October 31, 2001 @08:25AM (#2501995) Homepage Journal
    It's entirely possible to do anything, given an infinite amount of time, resources and optimism. But that's not how it works in the real world.

    I'm just telling you how it is, not how it should be in the idea world. Ultima Online and other games download patches over the network, to keep the clients in sync with the server. That's how The Sims Online will work too.

    I'm not just making this up. I specifically asked Will Wright about the feasability of a Linux port of The Sims Online client. (In case you don't know, he's the founder of Maxis and designer of The Sims and SimCity.)

    I'm just telling you what he told me, and what I know first hand from working with the code since 1997. I'm familiar with The Sims source code, because I wrote a bunch of it, worked with all of it, ported it native to Linux, and optimized it.

    The Sims wasn't designed to be a multi player game in the first place, and it's the result of more than 8 years of evolutionary design, redesign, tweaking and overhaul.

    In other words, the code is hell ugly, but it does what it's supposed to. That probably applies to a lot of other games, too. The simulator is quite tangled up with the rest of the code, and it's a lot of hard work to sort it all out into a networked multi player game.

    Please believe me when I say that The Sims Online server wouldn't be able to tolerate an out-of-date client. It pains me to think about how horribly it would crash. And that applies to a lot of other online games, for economical if not technological reasons.

    No online game developer in their right mind would ever choose to take on such a nightmare of supporting out-of-date clients, when they can simply download patches, which is the standard industry practice.

    Ultima Online has been doing it successfully for years, and it wouldn't have worked any other way. Online games, especially community oriented ones like Ultima Online and The Sims Online, constantly evolve in response to the needs their users.

    For any non-trivial online game, evolution requires dynamically patching client binaries, and changing the server in ways that depend on the client updates.

    It's extremely difficult and expensive to develop, maintain and support more than one platform, especially when you must download client updates.

    Even if cross platform development were effortless and free, it would still be impossible for a third party company like Loki to develop a native port of a game like The Sims Online. That is because it would still require all clients of every platform to be synchronized and updated at the same time, which would be impossible if third party developers were involved.

    On the other hand, the Wine approach should hopefully make it possible to run The Sims Online client, the very day it's released for Windows, and even download and apply the patches in real time.

    It'll probably require a bit of testing and coordination between Transgaming and Maxis to make sure that it works well, but obviously they already have a good working relationship.

    Wine is a win-win deal for everyone, not just Transgaming.

    To the players, it means that not only can they play The Sims on Linux, but they can also run the free content creation tools like Transmogrifier, Art Studio and other third party tools. Without Wine, you will never be able to run most of those tools on Linux. They won't ever be ported to Linux, because they were written over time by many different people.

    To Maxis, it means they will sell more copies of The Sims, and they will have more paying Sims Online subscribers, without having to invest resources or effort in developing cross platform clients.

    So please stop trying to blame all your problems on Wine. Wine solves many more substantial real world problems, that far outweight any trivial ideological problems it causes. Attacking Wine for the good of Linux is like cutting off your nose to spite your face.

    Please stop trying to censor and sabotage what other people want to do with their own computers. If Wine offends you so much, then simply don't use it!

    -Don

UNIX is hot. It's more than hot. It's steaming. It's quicksilver lightning with a laserbeam kicker. -- Michael Jay Tucker

Working...