Slashdot Mirror


Transgaming and Transitive E3 Announcement

An Anonymous Coward writes: "Breaking news today on the Transgaming website. Today they announced an alliance with the company Transitive. Here's their headline: 'Los Angeles, Ca. TransGaming Technologies, in partnership with Transitive Technologies, unveil their game-porting technology that can allow Windows-based x86 games to be simultaneously released onto multiple platforms. These include the Sony PlayStation 2, Apple Mac OS, set-top boxes, PDAs and wireless devices.'" There's more info on the Transgaming Site. Since Transgaming has ported The Sims already, it's a lot easier to believe that this isn't just vapor.

6 of 150 comments (clear)

  1. Nice press release... by Anonymous Coward · · Score: 2, Informative

    Looks like someone got caught up in press release hype.

    Of course The Sims was easy to port - it's 2D.

    From reading the company website, their technology is indeed slightly novel: they've reimplemented the win32 API functions for other platforms. On top of that, they've reimplemented the DirectX API as well.

    But for 3d games, I don't think this will be at all trivial for porting... the PS2's architecture is extremely different to that of a PC, and just blindly interpreting Direct3d Immediate Mode calls ("draw this triangle here") will surely not take advantage of the PS/2 architecture at all.

    Transitive's angle is that companies can just write their game for the win32 platform, talking to all the native APIs, and Transitive's APIs will take care of porting to other platforms.

    It's not that simple. It's far more important that game developers write their game for portability from the ground up, with an abstraction layer, for OS-specific stuff like win32 API calls, at the lowest levels.

    But 3d engines are not going to port well just by having Direct3d calls translated, especially for platforms that are as odd as the PS2. In that case, it's going to take a non-trivial adaptation of the graphics engine for that platform.

  2. This will not quite work. by LordZardoz · · Score: 5, Informative

    At least not with respect to the PS2. The architecture of that machine is quite simply nowhere near what a Win32 programmer expects.

    Input and Sound are handled on the IPU, which is essentially an embedded PS1.

    The machine has an insanely low amount of ram for textures that the only way to actually use many is to either compress the hell out of them or use the insanely high memory bandwitdth to contunually load new textures into memory.

    The EE / GS (Emotion Engine and Graphics Synth), and the VU0 and VU1 units handle data much differently then a standard 'Wintel' box.

    And all of that is just considering the differences between the PS2 and a PC!

    Using a well written library, it may be possible to get something to compile. However, all of the games art content (Model geometry and textures) would have to be re-worked signifigantly. Getting a game to run on multiple consoles is a bit more involved then simply switching compilers.

    Further complicating this is that for this to work, you will have to write your game with the proposed game engine in mind. This means that if you want to have a simultaneous release, you will have to stick to the lowest common denominator among the selected machines. For some simpler titles, this will be fine, but no game that wants to push a machine to its limits can really get much use from this sort of technology.

    END COMMUNICATION

  3. I feel compelled to clear up a misconception. by Anonymous Coward · · Score: 5, Informative
    timothy: Transgaming did not port The Sims. Please do not continue repeating that falsehood.

    If you purchase the Mandrake 8.1 Gaming Edition with The Sims (which I, unfortunately, did do, and it was rather a waste of $80), and you install it, you will receive a copy of TransGaming's WineX in addition. Once you have done the installation, you can start looking around at the setup.

    The data is put in /usr/lib/the_sims (by default), which has, in addition to the UserData directories, .the_sims/, simsdir/, and winex_sims/ /usr/lib/the_sims/simsdir/ includes simsinstall.exe (a Windows executable), two .dlls for running, and the default game data. /usr/lib/winex_sims/ includes the normal bin/ and lib/ -- lib/ has all the normal wine libraries (plus, it looks like, some winex-specific and maybe Sims-specific libraries), and bin/ has the normal wine/winex launchers.

    /usr/lib/the_sims/.the_sims/ is very interesting, it has a c_drive/ and default wine config files. The c_drive has a Program Files hierarchy (mostly empty, probably for the install program) and a new simsdir, which contains the actual Sims.exe launched by the command 'the_sims' (see below). An analysis of Sims.exe shows that it is NOT a Linux-native binary of any meaningful format -- it is neither a.out nor ELF. It is also not the traditional Windows binary (starting with MZ, with extra stuff after a short DOS stub). Given how SafeDisc works, it's quite possible it's a SafeDisc-style encrypted binary. I haven't thrown it all through a debugger yet to figure out for sure.

    The shell script which launches the game (/usr/bin/the_sims) is a bash shell script which sets up the environment to reference that specific winex install, sets a few bits related to it, and runs wine /usr/lib/the_sims/.the_sims/c_drive/simsdir/S ims.exe

    From public statements (sorry, no reference handy), it appears that Transgaming had the Windows source -- but rebuilt the binaries to work around some Wine/WineX-specific issues. But they're still Windows binaries and Windows libraries.

    PLEASE stop perpetuating the myth that TransGaming is doing "native ports". They are customizing the executable to work better in their existing emulation[*] environment, and the environment to mesh better with the Windows executable.

    If TransGaming were truly doing native ports, they would not need a second company to emulate the x86 processor for their technology to work on non-x86 platforms!

    (I'll point out that most Windows games are memory and processor hogs, and many of the platforms they mention, such as PDAs, set top boxes (devices on which I develop), PDAs, and wireless devices are very memory and CPU limited. Not to mention that the UIs usually need redesigning, and the binaries heavy optimization just to fit into the tiny memory and screen footprints these devices have.)

    [*] I did not say that WINE is an emulator, I said that the environment (in toto) emulates the Windows environment from the perspective of the Windows executable being run.

  4. Definition of "port" by JM · · Score: 5, Informative

    According to:
    http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi? query =port

    2. To translate software to run on a different system or the results of doing so. See portability.

    I think Transgaming fits that definition.

    They did port the DirectX layer, then tweaked the source so it would run fine on Linux.

    OK, it's not "native", but I haven't seen the word "native" in the article, on in timothy's comment.

  5. Re:no, actually, they did by Anonymous Coward · · Score: 1, Informative

    Four corrections:

    (1) If it's a native binary, it's a very odd one (see gdb dump above) since it requires winex to run it and it does not have any of the normal Linux segments. Nor, I might add, does it look like any Windows binary I've seen.

    (2) Some of the DirectX code is not available publicly either, nor are much of the InstallShield fixes, nor is the Direct3D code (at all), not even under AFPL and the winex CVS.

    (3) The WineX CVS isn't helpful to the WINE project, as it is AFPL'd and cannot be reintegrated, and the two trees have significantly diverged due to the DLL separation work. Since this happened around the time of the licensing change, negotiations are going on which might get a lot of that work merged back. However, it depends on one of the stronger LGPL proponents agreeing to strip the LGPL from a bunch of his code, and that's a toss-up (based on public statements on the wine-license list).

    (4) TransGaming indicated they would bring The Sims to "Linux", not to "x86 Mandrake 8.1 Linux". Since Mandrake 8.x is also available for PPC, it would be nice if they could "come through" with a PPC version too. (If nothing else, that would prove it's more of a port and less of an emulation...)

    However, based on the history of Linux game sales, I'd be willing to bet that a Linux "The Sims" that sells for $80 is not exactly flying from the shelves, so it's probably not worth the effort.

  6. Re:Don't go down that slippery slope! by WinterSolstice · · Score: 3, Informative
    Yes. We want "A" reference point for games. Windows has done more for the PC gaming industry than any other OS I can think of. You have everything you need to be a successful developer:

    A full set of APIs

    A large user base

    Hardware vendors writing drivers

    Major Name Recognition (tm)

    Future and Past interoperability (better than, say, NES and GameCube. XP will run lots of Win 3.1 stuff. )

    Windows is great for game companies. Better than Mac. Better than OS/2. WAAAAAY better than Linux. If you can make Windows games run out of the box on Linux machines (with small additional cost), you make best buddies out of end users, developers, and gamers. People don't want to have a pile of games written for a specific OS that now needs to be repurchased. I have a stack of OS/2 games sitting around. I have a stack of Apple games sitting around. I even have some older Linux games sitting around (RH 6.5 is not very compatible with RH 7.2, you know). What I don't have is old Windows games sitting around. My current box is able to play everything I have. Norse by Norsewest; Command and Conquer; Wing Commander I, II, and III; Ultima I - IX;

    It is always better to tell someone "I don't need to you to change anything, I can generate additional revenue for you for free", then to tell them " I want you to create OS-specific, hardware optimized code for a platform that has a niche market."

    Face it: as cool and as useful as Linux is, it is not Windows. It has a fraction of the desktop users, supports a fraction of the hardware, and commands a lot less respect from developers. I don't see "Hot New Linux Game!" in any of my game magazines.

    -WS

    --
    An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.