Forgot your password?
typodupeerror
Games Entertainment

Answers from Loki President Scott Draeker 165

Posted by Roblimo
from the come-play-with-me dept.
Scott Draeker writes, "Here are my responses to the questions you sent, and a few others that had been posted." All we can say in return is, "Thanks, Scott. We really appreciate the time you took to do this."

1) Loki
(Score:5, Insightful) by Anonymous Coward

Scott, I am a Linux programmer doing active development for technology companies in Canada. My questions spawn more from a business side rather than a technology side. I've examined Loki's business model and have a two-fold question.

#1: Do you think simply porting games is a viable business model for Loki games? As Linux acceptance picks up don't you fear that more gaming houses will start doing their own cross-platform development in house rather than relying upon Loki as a "port house"?

Scott:

Right now it's a viable business model. The question is whether it will continue to be in the coming years. I hope not.

#2: Linked to #1, if you fear this trend, will we see any original titles coming from LokiSoft or do you plan on strictly remaining a port house?

Scott:

Porting is important as long as Windows is the primary PC gaming OS. Linux as of 1999 had a 4% share of the desktop market, so we have a ways to go before games are developed for Linux in addition to or instead of Windows. Once Linux supplants Windows it will become the primary OS for new releases. I think it's safe to say that Loki will continue to publish games for Linux at that stage, whether or not they were ported from Windows.

2) Children's software for Linux
(Score:5, Interesting) by Jonathan Blocksom

Do you think there is a market for children's software that runs on Linux?

Scott:

Yes, but it's very, very small. Games are a natural choice for a new platform because of the strong demographic tie in with early adopters, who tend to be technically literate and male. As the installed base grows, we'll be adding more 'point and click' type users. We'll also be adding people like me who have kids. That's when children's software for Linux will make economic sense.

I'd also like to add that children's software is a good fit for Open Source efforts. Unlike games, the principal content for education (e.g. math, reading) doesn't change all the time. Commercial titles will add nice graphics, licensed characters and the like, but the skills training will be the same.

3) XFree 4.0
(Score:5, Interesting) by Jestrzcap

How will XFree 4.0 affect how loki ports games? Is it going to make things easier? Harder? I know you have problems with being compatible with the different video card types and GlideX.X or Mesa3.X but you have done a really great job so far (I own quake ]|[, heretic ][, and Homm ]|[).

Scott:

Thanks! XFree 4.0 won't change the porting process much, but it will dramatically change the gaming experience for Linux users. Right now it can be rather daunting to configure 3D support on Linux. The new XFree promises to support 3D 'out of the box' so that, once you have X configured on your system you don't have to go through any extra steps to get hardware 3D support.

In fact, March is turning out to be a really good month for Linux gaming. We're getting standardized 3D hardware acceleration with XFree 4.0 and the DRI, and standardized 3D positional audio with OpenAL. Once these 2 technologies are integrated into the various distributions, Linux gaming should be much more accessible and enjoyable for new and old users alike.

4) Gaming distribution?
(Score:5, Interesting) by jeroenb

Since Linux was originally much more geared towards and used for server-applications and has only been moving into the desktop market for a relatively short period, I can imagine the operating system is not entirely optimized for playing games. Stability often comes at the cost of performance and features, so I was wondering, do you think it would be useful to create a Linux distribution that focuses mainly on gaming and other multimedia-related applications?

Scott:

This used to be a more interesting idea than it is now that general purpose distributions are/will be shipping the necessary libraries to play state of the art games. For purposes of someone getting the latest version of their favorite distribution, there is no real difference between a GameOS(tm) and a ServerOS(tm). All the pieces are there and you can set it up to do either one or both.

It's possible that a GameOS would offer speed advantages, but not as much as people might think. XFree 4.0 with the DRI is significantly faster at hardware accelerated 3D tasks than its predecessor. It's telling that Linux drivers are performing on a par with Windows drivers written by many times as many engineers.

I think that getting all the distributions to agree on standards which allow seamless gameplay will be of greater benefit than producing a single OS geared for gaming.

In evaluating this response, keep in mind that I was a hardcore Mac user for 13 years, and no matter how cool I thought the Mac was/is, I always heard the same response: "Yes, but there are no games!" Games are key to widespread consumer acceptance of an OS, and should be supported in all Linuxes. Apple has paid a dear price for once discouraging game development on the Mac so that it would be viewed as a 'serious' business computer.

5) Reject ratio
(Score:5, Interesting) by FascDot Killed My Pr

I'm assuming that your (current) modus operandi is to call up a company and say "Hey, can we port your game to Linux?" Given that assumption:

1) How many companies have you talked to? 2) What percentage of them rejected the request? 3) Of those that rejected, what were their reasons? (fear of "open source", lack of demand, etc.)

Scott:

I'm going to respond in general terms, as many of your questions apply to ongoing negotiations.

We've spoken to the majority of game companies. When we complete a deal, we turn that into product fairly quickly. Other deal negotiations are ongoing.

The single most important factor for getting a game ported is market size. Everything else is easy to address. If a company feels that they will see sufficient unit sales, then they are quite happy to discuss having a port done.

6) Lacking API's and other challenges
(Score:5, Insightful) by toofast

Currently, Linux is lacking the standardized interfaces and API's that WIndows has. What is the greatest challenge (that needn't be one) when porting a game to Linux?

I mean, what makes you swear at Linux and say, Damnit, why doesn't Linux have this yet???

Scott:

Ah. Where to begin...

Seriously, after lots of hard work things are really coming together for Linux gaming. Take, for example, Heavy Gear II, which has just gone gold. We ported the Direct3D rendering to OpenGL. We ported the inline assembly. We created a standard way to play 3D positional sound, OpenAL. We added joystick, gamepad and mouse wheel support. We hacked gcc, gdb, glibc, Mesa and Glide. If we can pull off a game like this, I figure we can pull off just about anything.

As an important aside, I'd like to point out that, without the source code to all of the software listed above, we would *not* have been able to port Heavy Gear II.

Wish list: I'd like to get an incremental linker one of these days. I'd also like to see better assembly tools, better debugging tools, better C++ support, better code optimization, better compatibility across the various Window managers, better thread handling and free beer.

7) Content creation
(Score:5, Interesting) by Bert Peers

When the topic of creating commercial games for Linux pops up, I'm always eager to point out that there is an important difference between making games available on a platform by porting an existing game (at which Linux is, thanks to Loki, becoming highly succesful), and actual creation, out of the blue on the target platform.

Porting "merely" requires technical skill at the engine level : know-how on how to port Win32 to X, getting DirectX to work with SDL, OpenGL cross-platform issues, etc. Creation, on the other hand, requires the full asset of content creation tools that are of vital importance in every software house, but remain hidden from the end user -- and the porter. I like to call those tools the "boring 50%" of game production, and they consist of level editors, model builders, conversion tools (eg 3DS Max to native format), sound editors, etc.

Since Loki has recently showed interest in developing, instead of porting, Linux games, I'd like to hear what your take is on the apparent lack of solid, existing authoring tools (other than the Gimp), and the lack of solid desktop development support (KDevelop et al are nice but no match for the MSVC/MFC combo) needed to write all those quick'n'dirty but ultra-vital editor tools.

Do you agree that this lack of Linux equivalents of 3DS Max, Soundforge and MSVC is currently a major hurdle for Linux-native development ? If you go for full Linux development, would you create authoring support all by yourself and release it (a la MPEG SDL), or rather sit back and wait until Codewarrior, Kinetix etc all get their Linux products up to par with Win32?

Scott:

Content creation tools is the next big step for Linux gaming. With the source code we've released and the work done in the community at large, it's now possible to do just about anything necessary to run a game on Linux which has all the features of a top flight Windows game. That's an incredible milestone.

There is already a Linux port of Houdini. Creative is supporting OpenAL with their Eagle product, a tool for 'drawing' sound effects in a 3D environment. More is on the way. One of our developers, Jim Kutter, has just written an article for Linux.com on this topic. Look for it to be posted soon.

If Loki ever does get involved in developing content creation tools, those tools will be, like everything else we do, released as Open Source.

7) How To Show Support?
(Score:5, Interesting) by jelwell

Sadly enough I bought Quake 3 for Linux, not because I like Quake 3 - I don't - but because I'm hoping that my purchase will help show game companies that there is a market in developing and porting games to the Linux platform. I would like to be able to buy every game that comes out for Linux, but to tell the truth I don't have any interest in the games currently on Loki's product page. With this in mind, what would you think is the best way for me - as a consumer and a Linux user - to show game companies that I do want games ported to Linux?

Scott:

You are doing the right thing. Like it or not, game companies are bottom line oriented. The first question they always ask me is how many units I can sell. So, as self serving as it sounds (is), the way to get more games on Linux is to buy the ones that are available.

8) Lack of Info on Web Site, or Just Rumors?
(Score:5, Insightful) by HomerJ

Scott:

It's been reported on MANY sites, like Slashdot and linuxgames.com, that you are porting games such as Soldier of Fortune and Sim City 3000, among others. Tuxgames.com is even taking pre-orders for these games. Yet there is nothing on your Web site about release dates, or even that you are doing anything with these games at all.

Are these just rumors that got out of hand? Or are you in fact porting these games? If so, why is there no mention on your Web site about release info, demos, screenshots, etc.?

I'm excited to see such games get ported to Linux, but when in comes to facts, I like to hear it from the horse's mouth. It just seems kinda odd that many trustworty sites report this info, and no mention is mentioned on the one place it should be, lokigames.com

Scott:

We are porting Soldier of Fortune, Sid Meier's Alpha Centauri (with the Alien Crossfire expansion) and SimCity 3000. There had been a rumor posted that we were porting Interstate '82, but this is not true.

As for the Web site, it's being redesigned. We've also hired Terry Warner of Linux.com fame to keep it updated and accurate. Once the redesign is complete we should have updates posted on an almost daily basis.

9) Manpower
(Score:5, Interesting) by Fizgig

I know this is going to vary with the project, but I'm wondering how much manpower it takes to port a "typical" game from Windows to Linux. I suspect it's somewhere greater than zero and less than the amount of effort it took to write the game in the first place, but I just wonder how the time for (re)programming and QA are distributed compared to writing the game in the first place and how you allocate your staff to this (do they each work on a single game or do they move from project to project?).

Scott:

I'll answer this in general terms. We generally staff 2-3 programmers to a project. We also have a full time QA staff and tech support. The product development cycle depends on the project, of course. With Heavy Gear II, nearly every developer we have worked on some aspect of it. We also contracted out some gcc work to the mighty intellects at CodeSourcery. That has been by far the most challenging product to date.

Our development goal with each title is to meet or exceed the user experience available with the Windows version. For example, we typically port game editors as well as the game itself. An editor will take 2-3 months to port, and so you almost never see them included in Mac ports, for example. We also print a Linux manual, not the Windows manual with a sheet of Linux changes inserted.

All the extra work does not necessarily translate into unit sales. We do it because we're sending a message to our current and potential customers. If and when they adopt Linux as their sole OS, they won't be giving up anything in terms of the gaming experience.

Answers to Other User Questions:

Of course, the mainstream preference seems to be towards first-person shoot 'em up type games, but I for one enjoy racing games (Need for Speed, NASCAR, and the like). Does Loki have any plans for porting other types of games to Linux, and if so, how about working on joystick/periphial support?

Scott:

SDL version 1.1 includes joystick support, and joysticks are supported in Heavy Gear II for Linux. The upcoming Heretic II patch and a future Quake III Arena point release will also include joystick support.

A year ago people were asking why it seemed that we were only doing strategy games. Well, we definitely want to support different gaming genres, and are in discussions now to license a racing game.

Given Loki's experience in porting applications, have you considered, or been offered to, port programs other than games to Linux?

Scott:

Games are one of the most challenging applications to port, so I'm confident that we could pull off ports of other kinds of applications. We just don't have any current plans to do so.

Do you plan any Loki original titles or will you just continue to port other peoples' games?

Scott:

I'd much rather port 20 great titles than try my hand at 1 original title. Most original games don't do very well. If everyone could be assured of doing something as perfect as StarCraft then that would be a different story. But I think we have a better shot at porting something like StarCraft than writing it ourselves.

When's the IPO?

Scott:

Ha! Still haven't had enough Linux IPOs?

Oh yeah, and can I have a job? Please? Please please please? If you give me a job I promise to sit in the back and not bother anyone... :-)

Scott:

Resumes go to jobs@lokigames.com.

When do you think Linux Games will evolve to the point of working correctly straight out of the box?

Scott:

Soon. Improving the user experience is one of our chief goals. XFree 4.0 and OpenAL will go a long way toward simplifying 3D video and audio setup and support. Setup, our Open Source installer, is already as easy to use as anything on Windows or the Mac. Our goal is to make Linux a superior gaming environment to Windows, and we will continue to drive development and standards toward that end.

...I've been drooling over the thought of buying Quake 3 for Linux -- But the thing that stops me is the q3demo didn't work properly. I downloaded it, and installed it (the shell script installer was fantastic, by the way), but when I run it, it runs at about 1 frame per second from start to finish (From the ID Software logo, to the menus, to the game, right to the exit screen.) I've tried for a long, long time to get it working, and to no avail. Windows sucks but Games work - Both well, and immediately.

Scott:

The game is defaulting to Mesa software rendering, probably because it can't find the correct libGL.so.

Because of this, I haven't bought Quake 3 yet. I want to know it *WILL WORK* so I'm not stuck with a $50 piece of software that is of no use to me.

Scott:

All our games are fully supported by e-mail, phone and fax. We also host newsgroups, FAQs and an online bug tracking database called Fenris. If you have the minimum hardware requirements and we can't help you to get the game working, then you can have your money back.

Why mention hardware requirements? There are big differences in the quality of drivers available. The 3dfx and Matrox cards are well supported. ATI support is also progressing well. The NVidia drivers, however, are in really bad shape because the source they released is obfuscated -- to play on an analogy from Bob Young, it's like being allowed to work on your Ford, but being given only metric tools to do it. Without the necessary information, its simply not possible to create decent NVidia drivers, and until the drivers improve we can't officially support those cards. NVidia has promised to release closed source drivers which will improve performance.

I've noticed that your company is now porting to LinuxPPC, and so, I have a few questions regarding that:

1) You obviously feel that the PPC market is viable for porting. What factors made the PPC more attractive over the Sparc or Alpha? I can see where the larger Macintosh hardware market may be a factor, but I just don't see Linux taking ahold on the Mac side like I do with the PC side.

Scott:

There are Alpha and Sparc versions available for the Linux versions of Civilization: Call to Power and Eric's Ultimate Solitaire. There are PPC versions for these, and Railroad Tycoon II, Myth II and Heroes of Might and Magic III. The Alpha, Sparc and PPC versions typically do not support networked play.

We like supporting non-i386 architectures, but we don't have the resources to do it all ourselves. That's why our partnership with TerraSoft, makers of Yellow Dog Linux, has been so helpful. They assist us with the PPC work once the original i386 port is complete. This has proven to be a good deal for everyone involved.

2) Have there been many problems with the PPC porting effort, such in the ways of 3-D Acceleration, sound support, etc?

Scott:

The PPC Linux environment is behind the i386 environment. The tools aren't as good and some of the infrastructure isn't there. Assembly is also a stumbling block. These limitations do affect which games can be brought to the PPC.

3) And finally, is Loki's PPC support limited to PCI machines made by Apple, or are you targeting any PPC machine that can run Linux? (Such as CHRP motherboards or machines that can only run MkLinux).

Scott:

I don't think I've ever seen a CHRP board...

Because Linux on the PPC doesn't require the MacOS ROMs, I don't see any particular reason why our PPC products wouldn't run on non-Apple hardware. In fact, I know of at least one site running CivCTP on an RS6000.

The concept of Linux Game Programmer as a paying job is a relatively recent one. One is unlikely to see too many resumes with "8 years experience coding games on Linux" (or, if so, it should be viewed with skepticism). When sifting through resumes of prospective coders, does Loki lean towards programmers with a strong gaming background or rather those with more Linux programming experience?

Scott:

Everyone here is a Linux fanatic, and most of our developers have been coding for Linux for years. Familiarity with Linux, the associated development tools and C/C++ are the key requirements.

As best as you recall, what was the most -unusual- response you had, with regards to the idea of porting software to Linux?

Scott:

The guy from Microsoft gave me a belly laugh, but given the circumstances, I don't think that would count as unusual. Besides, not everyone at Microsoft thought it was such a bad idea.

I guess my favorite would be "Linux? Is that an OS, like Pentium?"

I've been using Linux for many many years now, and one of my favorite rants (or discussions) is how to make Linux more commercially palatable. Invariably, I always end up holding forth on how Linux will not be a force to be reckoned with until you can walk down the aisle at Fry's and see boxes and boxes of shrinkwrapped Linux software.

Unfortunately, as we all know this is a two-way street. People don't want to port to Linux because the base is so small, and people won't use a "niche" OS to raise the user base numbers until the apps are available. This is the classic catch-22 situation.

Well, now with companies like Loki you have managed to change the scene somewhat. I am delighted every time I walk down the aisle and see Loki software on the shelves, and consequently it seems like there are more and more companies coming to the table with linux ports or following a similar strategy as Loki.

It also seems to me that a critical mass point has been reached. Once you guys proved it was possible, lots of people started jumping on the bandwagon.

Now for my question(s). Did you set out on this path because you wanted to help kickstart this whole thing? Did you expect to be one of the major movers behind this sudden influx of commercial software for Linux?

Scott:

We started Loki because we wanted to make games for Linux. Remember, this was before the IPOs and pronouncements of support from the Fortune 500. The momentum behind Linux has been a very pleasant surprise, and allowed us to accelerate our plans. We're doing 16 games this year, and I think that's remarkable.

Scott Draeker
President
Loki Entertainment Software

This discussion has been archived. No new comments can be posted.

Answers from Loki President Scott Draeker

Comments Filter:
  • "...better thread handling..."

    What's wrong with Linux threading? No really, I'm interested.
    --
  • Did Scott answer some questions which were not moderated high enough but he found interesting?

    If he did that kinda nice of him, especially the ones about customer support.

  • by RancidPickle (160946) on Friday March 10, 2000 @08:21AM (#1211921) Homepage
    Well, that's one of the better interviews I've seen. To the point, off the cuff. I think Loki has the right idea right now... porting games to Linux will work great for now, and be profitable. Easier than each game company hiring new Linux programmers anyway. When the game companies realize that the market is lucrative, the programmers working at Loki will be worth their weight in gold... years of porting games to Linux experience. I think, though, that when Loki is done in the porting arena, they'll have some of the best programmers to produce new games. All they'll need is some designers with experience, or some of their internal folks with vision. Game design is a bitch, but in the era of Nintendo and Sony, it'll make them a pretty penny.

    And... as I have continually stated, any app or name-recognition game that appears for Linux helps nudge it towards acceptability by the public. It'll also push some more development on Linux, and some standardation of its APIs.
  • This interview shows some really good signs of things really coming together. I was never a Heavy Gear fan but I think I may need to go out and buy that puppy as soon as it goes gold. Keep up the good work loki, you've got my support 110%!

    ~Jester

  • damn nVidia
    when I heard scrambled source code
    Sorry I bought one.
  • by Maul (83993) on Friday March 10, 2000 @08:36AM (#1211925) Journal
    If there has been one thing in my experience that has stopped potential Linux users, namely those interested in running Linux, from switching over, it is the fact that they say the want to play the more popular games.

    Efforts by a lot of people over the last year have helped make these things possible, and Loki is primarily to be thanked. Quake 3 and Unreal Tournmanet for Linux keep my gaming needs met, so I don't have to boot into Windows at all anymore just to fill the urge to frag something. Sim City 3000 will be another quality game port that I'll probably buy, and hopefully we'll see some Blizzard games on Linux sometime soon.

    Of course, Loki can not port every game. Hopefully, gaming on Linux picks up even more, and companies start making an effort to get their products working on Linux without us having to beg.

  • by PapaZit (33585) on Friday March 10, 2000 @08:37AM (#1211926)
    IBM (and others) have found problems [ibm.com] with the default linux thread handling. IBM went so far as to send a patch to the kernel folks to correct it. The patch wasn't implemented because the patch fixes problems under high load (where it's most needed, IMO), but may decrease performance under low loads.
  • "Why mention hardware requirements? There are big differences in the quality of drivers available. The 3dfx and Matrox cards are well supported. ATI support is also progressing well. The NVidia drivers, however, are in really bad shape because the source they released is obfuscated -- to play on an analogy from Bob Young, it's like being allowed to work on your Ford, but being given only metric tools to do it."

    Ah ah ah :-)) Always fun to see anglo-saxon thinking that their braindead imperial system is remotely usable... I much prefer having the 14 mm end wrench after the 13 one that the 17/32th inch one after the 1/2 one...

  • What does an incremental linker do? Anyone care to enlighten me? I cant remember reading much about this one. Thanks.

  • First, what IBM found wasn't exactly a threading problem--it was a scheduler "optimization".

    Secondly as you point out, this doesn't apply at low loads so it can't be what Scott was talking about. Sure Civ:CTP doesn't use more than 100 or so threads. IBM was using thousands (if not more).
    --
  • Try Costco. A few weeks ago I was amused to see Red Hat Linux Deluxe ($24.99) stacked next to Windows 98 Upgrade ($84.99). If you want to talk about lowest common denominator Costco is barely above WalMart, and I saw a couple of jeans & flannel family men comparing the backs of the two boxes and muttering about "How can it be that cheap?".

    Hmm, there's a use for that $20,000 from a few articles back: help fund distribution of preloaded Linux computers (which are getting damned cheap for ~400MHz machines) to economically depressed school districts. What better way to help Open Source projects than to get kids hooked on source early? C'mon, the first one's free...

  • Specifically, what is it about Solaris's threads that "rock" and make Linux "look like a joke"?
    --
  • by tjwhaynes (114792) on Friday March 10, 2000 @08:58AM (#1211932)

    Damn!

    Damn Damn Damn!

    Why does Loki have to release all these games? I get so much done at the moment when I'm booted into Linux because there is not much in the way of games installed to distract me (apart from FreeCiv [freeciv.org] which doesn't complain if you leave it for a while). But now I see that Loki are about to port my nemesis of productivity - racing games. I mean, look at this quote:

    Well, we definitely want to support different gaming genres, and are in discussions now to license a racing game.

    Just how cruel and heartless can you get?! If it turns out to be Mobil 1 Rally Championship my coding days are over ... *sob* :-)

    Cheers,

    Toby Haynes

  • With all of the original programming that Loki is currently doing (openAL, SMPEG, etc...) the gaming community should really take off, now that we have XFree86 4.0 all we really need is full development of the APIs we currently have, and possibly the 2.4 kernel (with USB support and the like). We already have one of the biggest game names (quake I, II, III) ported. I'm looking forward to Alpha Centauri (highest ever rated game in PCGamer). We really, really, really, really, need to get diablo II ported. After that it's just a matter of time.

    ~Jester

  • by Milkman Ken (26074) on Friday March 10, 2000 @09:02AM (#1211935) Homepage
    The problem is this: in Windows, you can set the FS register for thread local storage, which gives you about *THIRTY* percent more performance.

    However, in Linux, you have to call a function before you create the thread telling the kernel that you're going to use that register. That's fine for threads that start from compiled code, but there are problems with threads that start from JNI.

    Basically, you can't use the FS register once the thread has already started, which is the main problem.

    Note that I have very little idea of what I'm talking about. This is almost verbatim from my friend at IBM who's working on their Java compiler.

  • You fool....
    13 mm = .0000001101010011111101111100111011 m
    14 mm = .0000001110010101100000010000011000 m
    15 mm = ??

    1/2 inch = .1 inch
    17/32 inch = .10001 inch
    9/16 inch = .1001 inch

    Duh... or do you still use decimal?

    Besides...
    The metric system is the tool of the devil.
    My car gets 40 rods to the hogshead, and that's the ways I likes it.
    -- Grandpa Simpson
  • You got that right. I have a TNT2 card at home that I'm going to use as a doorstop as soon as the voodoo 3500 I just bought arrives. Those Nvidia punks. I'm sure the same nvidia bashing is going on at the xfree86 4 thread as well. Lipservice, lipservice, lipservice...10 fps in Quake 3 is NOT a working linux driver.

    Monty

  • by imac.usr (58845) on Friday March 10, 2000 @09:07AM (#1211938) Homepage
    Apple has paid a dear price for once discouraging game development on the Mac so that it would be viewed as a 'serious' business computer.

    An image they're trying to change, though to what degree tends to vary depending on who you ask...

    The cool thing is that since Mac OS is based on BSD, and since BSD can generally run Linux apps with a mild amount of tweaking, companies like Loki could see a big jump in their market share by porting to BSD/Mac OS X, with little effort. Theoretically.

  • by barzok (26681) on Friday March 10, 2000 @09:07AM (#1211939)
    Ford, and most of the rest of the US auto industry, switched to Metric a long time ago for most of their parts. Just removing the battery from my truck ('99 Dodge Dakota, 86% North American parts content, built in Warren, Michigan, USA) requires a 10mm wrench, "imperial" tools need not apply (which was a real bitch, since I didn't have the proper wrenches in Metric to do it).

    So sure, give me Metric tools to work on my Ford (not that I'd ever get near one) or any other car; I'm sure it'll work just fine. Methinks a different analogy is needed.

  • So why is USA, the reputedly leading edge in technology, insistent on using the imperial system in preference to the metric system? :-)

  • Actually linux is much faster than solaris with certain thread libraries. For all you trolls who actually wanna *learn* (is that possible? an educated troll..hmm..) about thread libraries and see the benchmarks have a look at this :
    http://www2.linuxjournal.c om/lj-issues/issue70/3184.html [linuxjournal.com]
  • An incremental linker is like a linker, but more incremental.

    Seriously, what it does is speed the process of linking (ie. putting compiled object files together to form an executable program) by storing information about the process in some temporary files. Then, when the program is relinked, it is a lot quicker because a lot of information can be read from these files, when it would otherwise need to be recreated each time.

    Borland C++ and Delphi (on Windows) have incremental linkers; they also create gigantic temporary files, but there you go.

    --

  • Now I wish I hadn't bought the Win32 versions of Alpha Centauri and SimCity 3000, since now I want the linux versions. I guess I'll have to buy those too. :)

    Damn fine interview, though. Damn fine man, and a damn fine company.
  • Ah, but there's infinite flexibility with the imperial system. You can have wrenches in 1/32 increments, cigars in 1/64 amounts. Meanwhile there is nothing with you metric folks, I mean, what if I want something 12-13/32 millimeters wide? ;)
  • Go to www.wotsit.org [wotsit.org] and search for cookie. Its explained there

    C.

  • by timothy (36799) on Friday March 10, 2000 @09:30AM (#1211948) Homepage Journal
    (besides the beautiful box!) is that it comes with a copy of SuSE 6.3. It's an "evaluation" version, but fully functional. Doesn't come with support or all the software / docs that the packaged SuSE does.

    I bought it yesterday at the local mall's Electronics Botique. The saleswoman said that they don't sell a lot of Linux games, and when asked Why gave the usual (and undertandable) response that ... well, there aren't many games, so not many people want to install linux, so not many companies make games, so there aren't many games (repeat). Scott gets into this in the interview. She seemed exciting about Heavy Armor, though.

    Loki deserves great success for taking the huge risk of porting the games -- 16 this year?! Woo-hoo! But the Linux games market is really wide, wide open.

    I want to see:

    - a good submarine game, with bot subs to play against as well as networkable. I like submarine games because they can approach the reality of being in one (not having served in the sub corps myself, so that's mostly my imagination)

    - more kids software ... graphic alien decapitations would not be my choice for 7 or 8 year olds.

    - more learning software, which arguably falls into the games category (at least the best learning software does) ... how about a new LokiLearn division?! :)

    - More and better driving games. Sounds like at least one is in the works, at least. I want to be able to plug in info from AAA and "test drive" routes to new places. Helpful at the rate I get lost. Again, this is one of the ways in which "games" can be extended into the "real world" in case anyone thinks games aren't part of real life anyhow.

    - More abstract / dreamlike games of the MYST variety. MYST actually bugs me, never got into it -- but visually stunning, and doesn't bug me for the reason that many games do, which is the mental disconnect between the actions on screen and the controls. In MYST, of *course* it's disconnected. You pay extra for the confusion ;)

    Thanks for the answers, Scott - great read!

    just thoughts,

    timothy

  • At least you admit you don't know what the hell you are talking about. Somehow I doubt that this one issue is 'the problem' though... otherwise we wouldn't be wasting our time here. We would probably all be working on how to solve this problem.

    /*---------------------------*/
    Man? What is man?
    But a collection of chemicals with delusions of granduer.
  • porting games to Linux will work great for now, and be profitable.

    Another advantage to porting (for now): having a high % of Linux games be high quality, "award winning" type games. One of the worst things that could happen would be to have a lot of 'original' games come out that are really bad or buggy. Because -- however irrational this is -- many people would tend to blame Linux for the problem: "Sure, there are games for Linux, but look how lame they are. Just goes to show it's not a real gaming platform..."

  • So I wonder how manual "incremental linking" fairs in comparison, speed-wise?

    See, [for the enlightenment of newbie programmers out there] UNIX has these things called static libraries, which any programmer can use.

    So, instead of

    cc -o myprog {fiftythousandfiles}.o

    you can use

    cc -o myprog libpart1.a libpart2.a

    So, assuming you only worked in one "part" at a
    time, only the library for that "part" would
    get updated, and then you have in theory a
    smaller final linking phase.

    But I haven't done benchmarks on this. Has anyone
    else?

  • I think Loki will likely become a *game publisher* rather than a game developer. Providing there name, contacts, technical expertise and marketing skills to contracted game developers. I imagine the technical expertise they would provide would include - cross platform developement tools, APIs and open source game engines.

    Developing games in house would be just too risky.
  • Buying a game you don't actually like, to help drive the market, might *seem* like a good idea: but won't it skew the marketeers' stats? I mean, I'm no fan of First Person Shooters: if I buy Quake III for Linux, won't that encourage the suits to port U.T. but not bother with (say) Puzzle Bobble?
    --
  • The one thing I don't understand is why a company would care how many units Loki sells. I know they can't really talk about the details of their deals, but it seems to me like if Loki sells even one copy the original author wins.
    Say Loki ported (just an example, I'm sure no one really cares about this ;-) Diablo II to Linux and sells one box. Blizzard makes $5.00 or whatever off of this. Loki is out $100K or whatever it costs them to port it which sucks for them but it doesn't hurt Blizzard at all.

    The only real issue I see with this is the question of trusting Loki with their source code, but I think they've proven their reliability. I mean given how little Loki talks about their business issues I think the NSA is thinking of using their servers as a backup for their critical data ;-).

    So seriously what am I missing here? Given that the original authors have already paid their development costs, assuming that they at least broke even on the game wouldn't every dollar they make from Loki be pure profit? How does it cost them anything?

    By the way I am a happy Heroes of Might and Magic III owner. Thanks Loki.

    ---CONFLICT!!---
  • I much prefer having the 14 mm end wrench after the 13 one that the 17/32th inch one after the 1/2 one...

    As do I. Fortunately, my Fords do use metric tools. I guess that's due to having British and German models, not American ones. Now if I can just work out why I'm getting overheating problems after putting my new engine in...

  • Wait..what guy from microsoft was he talking about?
  • imac.usr wrote:

    The cool thing is that since Mac OS is based on BSD, and since BSD can generally run Linux apps with a mild amount of tweaking, companies like Loki could see a big jump in their market share by porting to BSD/Mac OS X, with little effort. Theoretically.


    I wonder if the similarities would be so great that they'd be able to sell a single box that says "Enclosed is Loki's [GAME X] for Linux, BSD and Macintosh OS X." and enclose system-specific tweaks on the install CD so they can be selected at startup.

    Meanwhile, someone buying the Windows version of any of the ported games gets to read "Requires Win9X or 2000. Does not support Windows NT ... or any other platform not listed."

    Is that a pipe dream?

    timothy
  • What's wrong with Linux threading? No really, I'm interested.

    I dunno, but it's a fair sight better than the pthreads implementation on Digital^M^M^M^M^M^M^MTru64 unix. Ran a benchmark once that did uncontested mutex lock/unlock on a single thread on a 600Mhz EV56, and found I could only do 30000 iterations/sec.

    This, on an architecture that has ISA support for a mutual exclusion instruction pair! And always has!

    So, working it out, that gives us about 20,000 core cycles to do a mutex lock/unlock. On a quad-issue machine.

    Never did track down what was going wrong...

  • by aardvaark (19793) on Friday March 10, 2000 @09:51AM (#1211959) Homepage
    O.K.,

    I've had it with nvidia:


    The NVidia drivers, however, are in really bad shape because the source they released is obfuscated -- to play on an analogy from Bob Young, it's like being allowed to work on your Ford, but being given only metric tools to do it. Without the necessary information, its simply not possible to create decent NVidia drivers, and until the drivers improve we can't officially support those cards. NVidia has promised to release closed source drivers which will improve performance.


    What a bunch of crap. I kept telling myself "Nvidia will do the right thing. They are atleast making motions". Too late now. I'm going to take his advice and let my money do the talking. I have a TNT, and I think I'm upgrading to a voodoo 3, and telling Nvidia why. Probably won't do much good, but atleast I'll feel better (_and_ have better gaming experience).

    It's hard to tell what companies to support this way though. Maybe I should buy a G400? They've certainly released info on their card and are playing nice. We need some sort of better info! It would be nice if there could be some sort of more or less official "Playing nice with Linux" approval points or something. Go check their points and buy their stuff. What would be even better, is to somehow let them know that you purchased the whatever because of it. Can you imagine all sorts of companies pandering to get Linux points? Makes me laugh. Probably won't happen. I'll just go buy a voodoo 3 I guess.

  • hmmm - maybe my windows calculator is faulty (eeek pentium divide error), but last time i checked
    1/2 inch = .5 inch
    17/32 inch = .53125
    9/16 inch = .5625
  • Incremental linking allows you to re-link a project only inserting the changes that you've made.

    Basically, instead of just linking the individual object files, it also puts a good deal of padding in the executable, that way when only a few object files have changed, it's able to place the new code into the executable without needed to re-link the entire project.

    Of course, there's more to it than just that, but that's the basic gist of it.

    This can dramatically speed things up on large projects, especially when you only need to make minor changes to a few files to test something, or attempt to fix a bug. Effectively the linker no longer needs to deal with the many object files that haven't changed, only the few that have changed since the last build.

  • Most likely, it was when Loki called up to ask Microsoft if they were interested in having any of their games ported to Linux. The MS guy apparently found the idea amusing, hence the chortle.

    --Matt
  • You completely missed the point, and at the same time helped support the viewpoint that linux programmers in general are sloppy,desktop programmers.

    The issue is, which has *BETTER* threads,not
    "which is faster?"
    You are equating yourself with a windows game
    programmer,when you assume "faster==better"

    Whereas professional people like the folks at IBM
    equate "better" with actually WORKING CORRECTLY
    under all conditions.

    See the other posts in this thread.
  • I understand that Scott doesn't want to talk about exact sales figures and such, but have this strong suspcion that they're very low. His avoidance of this issue only makes this more apparent. I'll say up front and repeat myself later that this isn't a bad thing, but it puts the Linux game market into a better perspective.

    Most games for Windows sell a whole lot fewer copies than most people realize. Yes, Unreal and Quake 3 and Who Wants to be a Millionaire do very well, but even games that seem to be high profile--by getting endless mentions at Blue's News [www.bluesnews] for example--often have numbers that may be shockingly low if you're not expecting it. Selling less than 30,000 copies of something with a lot of press isn't at all uncommon. Heck, if something sells more than 50,000 then it's doing incredibly well. So let's consider something that gets good reviews and lots of press and sells 30,000 copies. This is with ads in all the PC magazines and lots of web presence. How many copies do you think are going to be sold for Linux? Yes, there are many people using Linux, but remember that a good portion of them are either of the "software should be free" school or else they're literally in school and would rather get free stuff than pay $50 for a boxed game. Even aside, I think that if an average Loki title sells a thousand copies than that would be surprisingly good. Loki small; that will keep them in business; but the Linux game market may not bursting at the seams in the way that many people think it is.
  • by Anonymous Coward
    If you have the minimum hardware requirements and we can't help you to get the game working, then you can have your money back.

    Small nitpick. I bought Q3A for Linux about 2 months ago, and I haven't gotten multiplayer to work yet. It tells me that my CD Key is wrong. There was no card to send in to register the software to get the key, nor do I know of a web page to use to register the program. I'm confused as to whether or not Q3A includes a license to play multiplayer out of the box. Is the multiplayer key an extra cost option? If it is, then I can't figure-out where to buy it. Loki has been ZERO help, and ID pointed me back to Loki because its the Linux version of the game. I've asked Loki for another copy of the registration card to mail in, and got nowhere with that. I guess I'm just out the $50...

  • Well - you're not even the technology leaders any more. (http://www.idc.com/Data/Global/content/GB021400PR .htm)

    As for why you're still using the imperial system? Heh - that's anyone's guess. There isn't a single thing about the imperial system that's better. Probably pretty much the same reason why you're not using GSM - you think you're all high and mighty and can do what you want without anyone being able to do anything about it.

    hmm.. that usually works too.. for a while. brittain tried it, china did it, france did it.. a lot of nations have put themseleves as world leaders, but no one lasts for ever.

    Loki rocks tho. :)

    (-1 offtopic)
  • Well they started well ..... by shifting to a decimal currency .... but bogged down after that ....

    Having lived thru a transition from imperial to metric units I know it's not that big a deal and made so much sense in retrospect. Then I moved to the US and had to change back - what a nightmare - you forget what a pain dealing in 1/12s and 1/16s and 1/64s and the like is!

    The things I remember being most usefull to know during conversion were rulse of thumb, not exact conversion numbers - for the record - some simple things to remember:

    • 1mm - ~the width of a saw cut
    • 5x10 (cm) a '2x4'
    • a meter ~= 1 yard
    • 1 inch ~= 2cm
    • 1 kilogram ~= 2 lbs
    • 1 litre ~= 1/2 pint (maybe not in the US where pints are different from the rest of the world)
    • 3/30 mph/miles ~= 5/50 kph/km
    • 5/50 mph/miles ~= 8/80 kph/km
    • 6/60 mph/miles ~= 10/100 kph/km
    Few things in every-day life require exact measurements - when you buy meat you don't want exactly 1 lb - you want roughly enough to feed the people who are at dinner tonight - 1/2 a kilo will probably do the job. When my dad's gardening book was released in a 'metric edition' some fool copyeditor changed all the stuff like "plant the seeds an inch apart" with "plant the seeds 2.54cm apart" - you get the idea.

  • I just want to know where my Q3A box and manuals are... ordered Dec. 5th... that was more than 3 months ago... CD arrived in 3 weeks or a month, but still no box and manuals! I don't know if I'll be buying from them again.

    ~CP
  • So I was wondering if anyone else gets turned on by the idea of an X-Box style system running embedded Linux, and running games ported by Loki, or more specifically, designed for the LinuX-Box to begin with. Wouldn't that be lovely? A console based on embedded Linux. Not terribly far out either really.
  • An incremental compiler/linker is one that compiles and links only the changes since the previous build, greating reducing the compile/link time for building programs.

    Think of incremental compiling like incremental backups. You do your initial backup which takes the longest. Then you do incremental backups, backing up only the data that has changed since the last backup.

    Incremental compiling/linking is similar. You do your initial build, then as you subsequent builds, the compiler only compiles the changes and links the changes, greatly reducing build times.

    This white paper [ibm.com] has a more detailed description of this technology.

    - Rick Alther
  • Oops! The correct URL to the white paper is:
    http://www-4.ibm .com/software/ad/vacpp/library/version4/paper.html [ibm.com]

    - Rick
  • Same reason everybody's still using qwerty keyboards. Path dependance; we're so used to the damn things nobody wants to switch.

    Here's my [radiks.net] DeCSS mirror. Where's yours?

  • by Kesh (65890) on Friday March 10, 2000 @10:18AM (#1211978)
    The cool thing is that since Mac OS is based on BSD, and since BSD can generally run Linux apps with a mild amount of tweaking, companies like Loki could see a big jump in their market share by porting to BSD/Mac OS X, with little effort. Theoretically.

    I doubt it'll happen though. The MacOS has its own standards for graphics and hardware interface, plus the added benifit of the MacOS GUI. I suppose it might be possible, but you'd get better results with a MacOS X specific port to take advantage of InputSprockets and such. OpenGL support might make it easier though, and if Apple would drop SoundSprocket in favor of OpenAL, it might make things even easier for companies like Loki and Westlake Interactive [westlakeinteractive.com] to build ports.

    Now if we can just convince more developers to use OpenPlay networking instead of that horrid DirectPlay of MicroSoft's, we could have more games simultaneously released for Windows/MacOS X/ Linux, and the world would be a better place. :)
    ______________________

  • Wish list: I'd like to get an incremental linker one of these days. I'd also like to see better assembly tools, better debugging tools, better C++ support, better code optimization, better compatibility across the various Window managers, better thread handling and free beer.
    Reading this very nearly brings tears to my eyes. You can't know, unless you too have been there, how badly I've wanted all of these things under Linux since the early days of Slackware.

    It's always the games. Do you think that XFree4.0 would have come as soon as it has without the push from the gaming market? Do you think that we would have Mesa as stable and accepted as it is? Gaming pushes the graphics industry harder than any other force.

    But, it doesn't stop there. We'll be pushing for creative new networking libraries to support the kind of client-side massively multi-user gaming that will become popular. There will be a need for creative new ways to deal with sound, memory management, desktop integration and roaming sessions. All of this will be driven by other factors too, but gaming will be the only one pushing EVERYTHING.

    I just can't wait, which is why I'll be doing my little bit....
  • Yeah... I've been an ardent suporter of NVidia, as they were the first vendor to release an open-source driver of an kind.

    But they've gone BACKWARDS and they're promising a closed-source driver. What's up with that?

    I ditched my Matrox G200 because the Windows drivers blew goats and they continuously promised to release specs and slipped on 3 promised dates spread out over nearly a year. I'm tempted to pop that board back in my machine now... Was going to let my roommate borrow my G200, but he might get my TNT!

    Anyone know anything about the performance of the G200 compared to a TNT (original, not TNT2) under Windows nowadays? (Pretty much guaranteed that the G200 driver will be faster under Linux than the TNT...)
  • Cool, That makes a lot of sense. So If I just recompile one file out of ohh.. 50 source files ( i do this like 100's of times / night) It creates that object file and would only have to relink that object basically. Sheesh that *would* save me a bit of time. It is only a p166 MMX (which have a nice extra bit of cache versus the non MMX versions) with 128MB of ram so that would actually be very cool. :-) Thanks.

  • >Loki deserves great success for taking the huge
    >risk of porting the games -- 16 this year?!

    What risk would that be? Loki gets paid by the publisher 5 to 6 figures of money. If the game doesn't sell, publisher loses money paid to Loki, money for duplication, money for advertizing and money for distrubution. Loki wins whether or not the game sells.

    You should be thanking the publishers for taking the risk.

    -g

  • There was an article in DDJ a few months ago on "pseudo C++ incremental linking". Basically instead of using static libraries, a programmer can use shared objects (assuming it's supported by the platform). These .so's are linked at run-time. While there is a startup time penalty and possibly a runtime performance hit, it's nice to be able to make small changes to a project and not pay the full price of relinking.
  • Did you just say that the saleswoman of a mall electronics store was excited about a game coming out for Linux ?

    *faints*

  • You can still create 'great technology' like very large scale integration and still space the pins 1/10 of an inch. You might even say that using a more complex system based on the mystical 360 forces you to think more, whereas a simple-minded 'power-of-10' system leads to a flabby, lazy intellect :)) For a short time during the French Rev. they even had a system of TIME based on 10! So why DON'T we have, like 100 seconds/minute, 100 minutes/hour, and maybe 20 hours/day? Then our technology would be even better.

    I'd say a lot of US citizens are quite famalier w/ metric, it's taught in schools, all my auto tools are metric (for a VW and a Chevy "Suzuki" Sprint) and having a electrical engr. degree all college work in physics, etc is done in MKS. Also look at the National Institute of Standards and Technology fee schedule [nist.gov] and see lots of referances to mm. But yes, roads are still measured in miles, oil in quarts, milk in gallons. It's slowly changing that direction, but what do you expect from a country with 97 year old senators?
  • Very well said. I couldn't agree more.

    It think it's a real pity how such questions (that where asked as well) haven't been given to Scott. Ok, right, he probably wouldn't have answered them anyway. But this are really important issues.
  • No, the original person was right. In case you hadn't noticed, he was using binary numbers (or did you not read his entire post?). 1 divided by 2 is indeed .1 in binary. You can't have .5 because there are no 5's in binary notation.
  • The 3500 rocks. I've been using it for awhile now. Still trying to get Quake III working though - having probs finding the right drivers etc. Mostly because since I'm new to linux (only using it for about 14 months) I really have no idea where to find them. I'm major itching to play it though. Does the off-the-shelf version of Quake III have all the drivers etc that I would need? If so then I'd go buy it but I wanted to make sure it'll run on my system before buying. Could you email me if you know? And if you get the voodoo working with it? I really want to buy it but only if it'll work without me having to buy anything new.
  • - when you buy meat you don't want exactly 1 lb - you want roughly enough to feed the people who are at dinner tonight - 1/2 a kilo will probably do the job.

    You mean 0.5 kilo don't you? ;)

  • << hmmm - maybe my windows calculator is faulty (eeek pentium divide error), but last time i checked
    1/2 inch = .5 inch
    17/32 inch = .53125
    9/16 inch = .5625 >>

    .5, .53125? .5625? What're those? Around here, we only use 1's and 0's.
    -----------
  • by Jeremy Allison - Sam (8157) on Friday March 10, 2000 @10:53AM (#1211996) Homepage
    I suffered from the same problem. The CD key
    is listed on a little tag inside the *back page*
    of the manual, *not* (as the manual states) on
    the CD.

    What is on the CD is the product bar code (boy,
    did I feel dumb after typing this in :-).

    Regards & happy linux quaking :-).

    Jeremy Allison,
    Samba Team.
  • by FascDot Killed My Pr (24021) on Friday March 10, 2000 @10:59AM (#1211999)
    Your claim: Linux pthreads are not implemented correctly.

    Your examples: None.

    Your proof: None.

    Until you fill in the blanks, I have no reason to believe you. In fact, I have reason to believe you are a troll.
    --
  • They aren't any downloads to convert the Win32 version of Quake 3 to a Linux verions (as there was with Q2) so that they can gauge the popularity of Linux as a platform. Well, it seems that the point releases get around this problem (all these service packs - Q3 has more bugs than Win NT ;)).

    Talking to a friend last night who owns the Win32 version of Q3. It seems that he downloaded the Linux point release for Q3 and installed it over his Windows Q3 installation. Hey presto! Now he plays Q3 under Linux with [alleged] performance almost as good as under NT (Voodoo 3000).
  • Actually, our licensing agreements typically work the other way around. We pay the publisher for the right to port, publish and distribute the Linux version and pay a royalty for each copy we sell.
  • The one thing I don't understand is why a company would care how many units Loki sells. I know they can't really talk about the details of their deals, but it seems to me like if Loki sells even one copy the original author wins. Say Loki ported (just an example, I'm sure no one really cares about this ;-) Diablo II to Linux and sells one box. Blizzard makes $5.00 or whatever off of this. Loki is out $100K or whatever it costs them to port it which sucks for them but it doesn't hurt Blizzard at all.

    Well, Neither you nor I know the details of the moneyflow involved, but it's bad image-wise (at a minimum) if the port doesn't sell well.

  • Ya know, I didn't think I'd like it. But, the beta very much proved me wrong. It's a surprisingly fun game (surprisingly in that I wasn't sure I was going to enjoy it).

    Loki's done a good job with it. I'm looking forward to getting the full release, if only so that I have a manual ;-)

  • based on X-Windows (XFree86)? That's like sticking a yugo engine in a Ferrari. Maybe with SVGAlib or something custom and OpenAL.
  • greggman wrote:
    "What risk would that be? Loki gets paid by the publisher 5 to 6 figures of money. If the game doesn't sell, publisher loses money paid to Loki,

    money for duplication, money for advertizing and money for distrubution. Loki wins whether or not the game sells.


    Well, even if Loki gets money in advance from the publisher (I don't think that's true in all cases, but it might be in some), the risk I mean is larger -- Scott Draeker could be working in the traditional gaming world like he was a few years ago. So it's a big personal risk that he and any early higher-ups took that the business would succeed ... individual programmers at Loki are probably all smart and cool individuals -- I dunno, but I'll give 'em the benefit of the doubt;) -- and could each be working at jobs more assured than working for a company porting existing games to a platform which for years has been derided as inferior for games (at least when it comes to low-level graphics stuff).

    I hope for the sake of everyone there that they don't take on ueber-risky projects per se, since I'd like them to be around 5 years from now, but the company itself ... those outside the linux community would probably have laughed at the concept a few years ago, but they jumped into the void, to our benefit.

    That's all I meant ;)

    timothy
  • >There was no card to send in to register the software to get the key


    the cd key is printed on a sticker sticked (?) on the cd envelope.

  • Actually, on our machines here (Ultra-2 boxes with Solaris 2.6), we periodically get applications that get stuck in Solaris' LWP kernel code and never terminate. Calls to _exit() don't terminate!!! Also, we have periodic kernel panics where the kernel dump reports multiple attempts to enter a mutex lock by multiple threads. Possibly a device driver problem, but who could know?

    I do like not polluting my process id space with threads.

    I have seen memory leaks with versions of Linux pthreads:

    • main is pthread_create() and pthread_join() in a tight loop
    • function calls pthread_exit()
    I don't know if this is still is a problem.
  • As for the MYST lookalike, I'm currently working on a game that will be similar to MYST. The game will be a crossrelease with a single package for Win32, MacOS and Linux. So, hold on...
  • I don't really get this. At least on the projects I'm working on (about 200 source files, of which I often change just one), the compile of that single source file (which may only be 100 lines) takes much longer than the linking step. This is true on NT as well. An "incremental linker" would be the last thing I would consider to speed up work, I would rather have an "incremental compiler" (and yes MicroSoft has this, though it is nearly useless for our work).

    Building a library on Linux is S L O W though, apparently because of the huge number of debugging symbols put in. That really ought to be fixed, it is apparently caused by the Dwarf file format.

  • [I'll start by saying hey, I'm a MWC (married with children) web database guy, so you'd think that game programming is about as far away from what I do as a person could probably get. You'd be wrong...] This is well and truly one of the best interviews regarding Linux development that I have ever seen anywhere in web or print. (Kudos to both Scott and /.) But alot of what appear to me to be the important points haven't received much commentary:
    • Doesn't it reveal something about the nature of programming when the president of a company says"I'd like to point out that, without the source code to all of the software listed above, we would *not* have been able to..."Insert here: COMPLETE A MAJOR PROJECT " which in Loki's case was "port Heavy Gear II." I've lost count of the number of over-budget, problem ridden, ought-a-go-down-in-flames software projects I've seen that were failing because of closed-source pieces in the project. Read my lips: Open Source is the most important technical reason to use Linux!!

    • children's software is a good fit for Open Source efforts. Unlike games, the principal content for education (e.g. math, reading) doesn't change all the time. Commercial titles will add nice graphics, licensed characters and the like, but the skills training will be the same.

      Bingo. What's to stop someone from developing an essentially Open Source educational system, if someone released a good coding engine that could handle anything from Sesame Street math to complex real time simulations?

    • "We ported the Direct3D rendering to OpenGL. We ported the inline assembly. We created a standard way to play 3D positional sound, OpenAL. We added joystick, gamepad and mouse wheel support. We hacked gcc, gdb, glibc, Mesa and Glide."

      Thank you, thank you, thank you, and thank you. Even though I don't have the time to play games lately. Because I have a cousin with Cerebral Palsy, friends crippled by Polio. Friends with vision impaired kids that need advanced audio tech -- all things that will benefit from your open source efforts.

    So if you here anything from out here in web dev/dba land, it's the sound of my outa-the-seat, on-the-feet applause.
  • "Unfortunately", some of us already own windows versions of some of these games. In some cases, it is possible to use the data files from these along with a linux demo or point release (Quake III Arena for example) to play the game under Linux. In other cases, I doubt this is possible.

    Half of me would really like to see freely downloadable game engines missing the binary data for Linux so we don't have to buy the same game twice. Unfortunately, this wouldn't help Loki (and Linux gaming in general) one bit, as they wouldn't see any revenues from those copies of the game.
    Basically all solutions I can think of are flawed. Bundle both Linux and Windows versions together? No publisher would go for that, and besides release dates aren't the same for most ports to the two OS's, so that can't work. Making a freely-distributable windows engine that uses the Linux binaries wouldn't go over too well with the original publishers of the game either...

    So what to do? Maybe we just need to wait a while until world domination is (fully) achieved, and then we'll *only* be buying Linux ports of our favourite games!
  • I'd like to get an incremental linker one of these days. I'd also like to see better assembly tools, better debugging tools, better C++ support, better code optimization, better compatibility across the various..

    Hi Scott, I ran into you a while back at a conference.
    As a Linux game developer (crack.com - Abuse, Golgotha) I can whole heartily agree on the linking problem. The problem is not so much being incremental, but where the debug information is stored. Under Visual C++, the debug information is stored in a separate file and can updated incrementally. Under GCC all debug information is store in the executable and it's written out each link. A large game will produce a 30-50MB EXE with all the debug information compiled in. Even on a fast computer, this can take minutes to link, versus a few seconds on VC. This makes a big difference in development because you tend to forget what you were doing after a few seconds. :) I tried to talk some Cygnus people into adding incremental support, but I don't think anyone fully understands GCC anymore and such a major change would be a big undertaking - because GDB is involved. I suggest the problem could be solved if GDB would load debug information from .o files and just have GCC not link debug info.

    Some partial solutions we found:

    - Don't include header files unless you need to. Predeclare everything that you only use pointers to. GCC produces debugging information for all inline functions (even constructors you didn't declare), and classes that get included whether or not you use them. If you are porting someone else's game, this is hard to do.

    - Use Dynamically linkable libraries for code you are experimenting for. This is troublesome because it's not always easy to make everything modular and create an interface between the game and the DLL.

    - Buy a commercial compiler. There are 1 or two that I came across that support incremental linking. At the time they were pretty expensive so I didn't pursue this option.

    - Avoid templates when they don't add much value. Templates don't allow you to predeclare anything and produce a lot more debugging information.

    ... Now as to better C++ support, I don't know what you are referring to. GCC is very standards strict and has excellent support for templates, exceptions, and RTTI. I don't use namespaces, to I can't comment on that but I believe it's in there.

  • A similar problem, not related to Java/scheduling, was found when the Lotus Domino Server was ported to Linux. Itll work just fine for browser clients since these dont maintain a session. Itll only support up to around 200 Notes clients and then basically go into cardiac arrest mode.

    Whats funny here, though, is the fact that the exact same problems showed up in Sun Solaris and IBMs own AIX when the Domino server was first ported to these platforms.
  • Did you just say that the saleswoman of a mall electronics store was excited about a game coming out for Linux ? *faints*

    Heh:)

    Well, yes, on all counts.

    Women are half (or more) of the population, many humans in countries equipped with them enjoy shopping (or at least browsing) in malls, games are a univeral passtime, and heck -- everybody these days knows that Linux is more fun than Windows!

    timothy
  • There was a discussion on one of the Loki newsgroups regarding this. No numbers were released =( However, it's known that the number 2,000 was low-ball for CTP, but how much higher it was is purely speculative.

    The favored rumor was that the top two titles were in the 50,000 - 80,000 range.

    I don't know anything about the actual state, though... (read loki.misc [lokigames.com] for the thread, look for "So, how are things going?")

  • Ever since I bought Railroad Tycoon 2, man, I haven't caught up on Freshmeat or Slashdot, my housework is suffering, trash is piling up...

    Seriously, though, it's a great game.

    It's just so addictive.
    *contemplates leaving work early for more RT2*

    --Ben "Start another company!" August
  • In that there are shelves full of games of Windows in CompUSA and similar, and in Walmart and target there are display cases for all the major console games in addition to a few boxed software packages.

    The store I bought Q-Arena has about 2 feet of shelf for linux stuff, most of which was the OS itself, and just a few games.

    Just the same, I bet Loki would *have* to sell far more than 1000 copies just to break even. 1000*$50 = less than the take-home salary of one programmer. Add in rent and utilities, computer, Social "Security" extortion, insurance, etc etc, and 50,000 doesn't seem like it would be anything near enough.

    timothy
  • Just to confirm - Tux Games [tuxgames.com] will not sell an item as a pre-release item unless it is a guarenteed release.

    The games we have as pre-release are all definitely on the way

  • Just to confirm - Tux Games [tuxgames.com] will not sell an item as a pre-release item unless it is a guarenteed release.

    The games we have as pre-release are all definitely on the way

  • Because with a Mac there are _very few_ other choices in software out there, espically for OS.

    BeOS is about the only other thing, and you used to have to pay for it. LinuxPPC could be installed for free and played with.

    I know the reason I switched into looking at Linux from MacOS was:

    I wanted it for compatable operating environment with the SPARc workstations we used for our engineering projects in college. For what I did I could at least have many term open in X than by opening multiple copies of NCSA Telnet, and have a much more compatable term.

    I wanted to learn more about UNIX in general, and it offered me the best learning method for the least money.

    MacX is a resource hog. Rather just run X natively when running X apps off of the server.

    Linux has many more small cool programs than MacOS, it supports VM much better, and it does background processing many, many times better.

    SheepShaver promised me that when finished I could go back to MacOS if i left it's partitions intact (or, now, MoL).

    Virtual Windows rock
  • Let me try to answer that question, being a LinuxPPC user:

    I bought a G3 last year mostly for the hardware. The chip itself is very fast (espessially for a 300 Mhz chip) and runs very cool (i.e. there is not a loud fan all night, which is something my roommate wouldn't put up with). The case is a dream to work with (though that does not apply to iMacs or iBooks, I still don't really understand why anyone would want one of those...). I also really like the ATI RAGE 128... its a good card, even if it is not well supported under Linux. I also grew up with the MacOS (my second computer was a Mac II, MacOS 6.something) and feel a certain loyalty to Macintosh (why, I don't know).

    On the other hand, I think you hit the nail on the head when you said that "Mac is about lack of options and configurability." If you have a Mac running the MacOS, you are stuck with the MacOS. There is little that can be done to configure and customize it. This creates a bit of a dilema: good hardware vs. no options. The solution: Linux.

    Granted, there are not that many people who buy Macs for power. Most people get Macs to write papers and surf the 'net. In that capacity, the MacOS is stably, intuative and user friendly.

    The only real problem that I see with a Mac running LinuxPPC is that all of the hardware is proprietory. That means that we don't have a lot of neat stuff (like, say, video acceleration under X) and that even when things are ported to Linux, we're left out.

    And now that I have gotten completly off-topic, let me say that I agree with most of what you say. I don't like the MacOS very much anymore (I used to like it, and I still think it is infinitly better than Windoze) -- it lacks options -- but I do like the hardware very much and can run Linux, so I am happy.

    I hope that this does something to answer your question.

  • Hmm... _actually_ no on the first sentence.. (who's the social outcast posting as AC?) no on the second sentence.. no on the third sentence ..

    The purpose of this beast would be to provide an open gaming platform where anyone and everyone could make games targeted at the thing. No, putting X on it in its current form would be folly, just like putting WinCE on all Dreamcast games would be folly. Perhaps I am a social outcast with no life since I know that the DreamCast can run WinCE.. oh woe is me. BUT you could have a web browsing disk, like DreamCast, and it would boot up X for that.. and you'd have other games that just loaded and ran with some form of FBCon or SVGALIB. Another choice would be to let you integrate your game in a userland-like kernel space for extra speed and hardware control. No, the idea is that anyone could get in on it unlike the current consoles that often require a $10000 license for one developer station and game manufacturer approval. I know, I've looked into it seriously.

    I also never said it had to run Linux, a BSD-based gaming system would also be very cool. Just so happens this article was about Linux gaming.. or didn't you notice?
  • - More and better driving games. Sounds like at least one is in the works, at least. I want to be able to plug in info from AAA and "test drive" routes to new places. Helpful at the rate I get lost. Again, this is one of the ways in which "games" can be extended into the "real world" in case anyone thinks games aren't part of real life anyhow.

    Just as long as game designers don't forget that if two driving games are equal in all other regards the one with weapons will be superior...

  • Linux has threads as the sole ``execution primitive'' or whatever you'd like to call it. Threads can either be alone in their memory space (then we call them processes), or they can be several sharing the memory space (we call them threads). For historical reasons the thread identifier is called the process ID, or pid, but don't let that fool you.

    Now with that said, consider the difference between two processes (two single threads in each their memory space) shaing a chunk of memory (shared memory has been available "always" in Linux and UN*X), and two threads (two threads in a single memory space) having private storage...

    Tell me the difference... No, wait, there's none (!)

    This was discussed on LKML, and the above is my recap of the conclusion. People focus so much on technology instead of what the technology is intended to do, that they fail to see that thread private storage is meaningless when you have processes and shared memory.

    To quote Linus' ending statement:

    I'll take portability, sanity and clean design before some "my dick is bigger than your dick" direct rendering argument any day.
    - Linus Torvalds (commenting on IRIX, GL and thread-private storage)

  • Agreed 100%!

    It was great to finally see someone from a fairly closed-source commercial company (even from a guy who in other companies would have pointy hair) state that OSS is not about price, it's about the O and the S before the S.

    I work for a company developing closed-source commercial software, for Linux, BSD, NT, and whatever else people want. I (we actually) work on Linux and BSD, *then* port to NT. Why ? Development is _so_ much easier when you have the sources for your platform and tools handy.

    Besides, having filed bug reports for both GCC and MS VC++, I can also say that in my experience the community support is not just superior, it's a whole other dimension of willing and useful support.

    It's not just the open source alone that matters, it's also the fantastic people behind it. It doesn't matter what you pay for Linux systems (or BSD for that matter), no kind of money could ever buy me this kind of support on a closed source platform. The fact that I don't pay much for Linux is just a nice side effect.

    I get *sick* of papers always referring to OSS as ``gratis software'', not Free, not Open. Even though in denmark we have different words for gratis and Free. But hey, they're the people who refer to RMS as a criminal because they've heard he's a hacker...
  • Just what seems slow as hell ?

    Forking a whole new process on Linux is faster than spawning a thread on NT - Check your Linux Journal back-issues for numbers.

    The idea is to fork two processes and let them share *some* memory. This should do the same as forking one process, then an additional thread with extra private memory - remembering to keep some of the original memory private for the original thread too.

    clone(CLONE_VM) will spawn a new thread in the same address space as the calling thread (the original ``process''). It's the way to create a new thread on Linux. Actually AFAIR fork() uses clone() without CLONE_VM to do a ``real'' fork.

    All threads making up a ``process'' share the same memory. Thus you don't have something called thread-private storage. However, separate processes (having one or more threads each) may share memory - thus you have a number of threads sharing some memory while keeping some private. Instead of deciding on privatizing, you decide on sharing. You can perfectly well end up with the same end result, and an uncluttered kernel too.

    Well I don't remember the whole thread. But I think the conclusion was that thread private storage (or whatever we choose to call it) was not needed when we had DRI (with proper locking) in the kernel. As for threads and context switches in general, context switches are _fast_ under linux. And if you won't be needing the private storage anyway, they're even uncalled for. It doesn't matter that they improve speed on less well designed architectures, if we have the better design.

    There was a mention of IRIX which provides thread-private storage. People who had worked on the IRIX kernel clearly stated that Linux should _not_ go there. It's a horrible thing to do to a UNIX kernel, and much better interfaces can be made instead to make the need for thread private storage vanish.
  • Hmm... Now that you're saying it, I actually remember seing the _getspecific call in pthreads a few days back.

    My best guess is that it's an implementation that was unsuited for what the thread was all about: multiple threads protecting their hardware graphics contexts using thread private storage. I'm pretty sure that if the pthreads implementation was sufficient, there wouldn't have been such a thread on LKML :)

  • I'm not sure, but I /think/ that pthreads actually handles thread-specific data by having a (shared) table indexed (or maybe hashed) by the thread ID. This works but is somewhat inefficient. As I recall, the debate in question (which I happened to read on Kernel Traffic through a freak accident :) ) revolved around using VM magic to make some pages of an address space private to the thread and others shared between processes. Or something like that. This would be more efficient, but I guess it was decided that it would add to much bookeeping and cruft to the kernel.

    Daniel
  • What I know is that Solaris manages its actual threads in userspace, and can map any number of 'threads' onto any number of 'processes', where a process is an object the kernel knows about and schedules. (They're usually called "user threads" and "kernel threads", but that can get a bit confusin :) ) Of course, a UNIX process can consist of several of these 'processes'.

    What I've heard is that this gives you:
    -> Flexibility, since you can decide whether to do threading entirely in userspace, entirely in the kernel, or both, and
    -> Speed, since threading constructs (eg, mutexes) CAN be handled entirely in user code (but, I assume, not always)

    A related issue is that the Solaris scheduler is supposedly better than Linux's for large numbers of processes; I have heard (I haven't bothered to check myself as it doesn't impact me, since I run relatively few processes; this may be outdated) that Linux's scheduler runs in O(n) (or maybe worse?) time in the number of processes, while the Solaris scheduler is more efficient. (I believe Solaris uses a table-driven mechanism to schedule processes)

    Unfortunately, I don't know how true this is for current versions of Linux (and Solaris, but they haven't released anything big I know of since I got this info)

    Daniel
  • The article can be found here:

    Pseudo-Incremental Linking for C/C++ [ddj.com]

    Cheers
  • > Requires Win9X or 2000. Does not support Windows NT

    Yu do know that Win2000 _IS_ NT 5.0 w/ DX 7.0.

    NT 4.0 supports DirectPlay 6.1a (via ServicePack5), but the rest of DX is 3.0 on NT 4.
  • > The one thing I don't understand is why a company would care how many units Loki sells.

    I work at a game company and have asked management about doing a Linux port. Until they see sales figures, a Linux port is no go :-(

    > I know they can't really talk about the details of their deals, but it seems to me like if Loki sells even one copy the original author wins.

    You are forgotting the cost of labour (programmer's time to do the port.)
    If a port will only sell 10,000 units, it would end up costing the company MORE. Now a port, selling 50,000 units would make [financial] sense (pardon the pun, but left to stand :)

    Cheers
  • Over here, they seem cool enough with it.

    Go into PC World and you'll find row after row after row of comptuers lined up in demo mode. The Windows boxes tend to be running adverts, screensavers or just showing the desktop.

    The iMacs are all playing A Bug's Life.

    Now, look at the volume of games available for each platform and think whether Apple UK might possibly have had a word with PC World on this one...

    Greg
  • Porn pushes bandwidth, but not much else. People generally don't go out and buy a new machine to support porn, when the old machine can display it just fine.

    Games on the other hand keep pushing memory size, bus speed, processsor speed, bandwidth, CDROMs, rendering speed, video memory, etc, etc, etc.

If I had only known, I would have been a locksmith. -- Albert Einstein

Working...