Quake3 Arena on Linux
Bill Lynch wrote in to
send us a quick quote from John Carmack's most recent .plan update:
"Q3test, and later the full commercial Quake3: Arena, will be simultaniously
released on windows, mac, and linux platforms." The plan also
has a pretty lengthy discussion on the new Apple boxes and
games. Comments about Code Warrior for Linux and the like.
Interesting stuff.
carmack announced that anyboyd who licences the Q3 codebase will get the mac portion for free... any idea if that means licensees will get the linux codebase for free also?
"be at peace while rebooting". I rebooted my mac system more times
the first weekend than I have rebooted all the WinNT systems I
have ever owned. True, it has gotten better now that I know my
way around a bit more, and the codebase is fully stable, but there
is just no excuse for an operating system in this day and age to
act like it doesn't have access to memory protection.
But they fixed that, remember? Hahahahhah.
Will they port to LinuxPPC and/or MkLinux? LinuxPPC R5 is getting closer to completion. It shouldn't be too much of a problem to port over, right? (please use the framebuffer...)
You might want to try Code Crusader, it is fairly good. Its on freshmeat somewhere.
What linux is it ported to?
x86.
What about PPC, ARM, SPARC, Alpha, MIPS?
Sure, not all are stable, but I'd like to see more of the multi-platform aspect of Linux to be shown. I'm really urked when people say that they have ported thier application to Linux, even though it's Linux for the x86 as if that's the only Linux.
IDE's are a historical accident. They became very popular under Windows 3.x because true multitasking wasn't possible, so you had to settle for a monolithic environment that "did everything" for you. Today, I suspect many people are using IDE's when they'd be just as well-off with multiple xterms.
GUI 'programming' is much better under an IDE, I'll grant you that. I don't see how an IDE improves other kinds of programming.
For the most part he tends to be technically correct. But you must take into account any biases he has. He is a programmer first and foremost and a user second. Things that he wants to make his job easier may not directly benefit users. I left the following message in response to his .plan.
/. are power users, you must remember that we are the minority and that your average schmuck looking to buy their first computer is probably better off with a Mac than anything else. The ease of use is still superior to Winblows and their is no way I am giving my mother who still can't program the VCR a Linux box.
"Just a quick comment in regards to John's complaints about programming for the MacOS. The lack of some features (protected memory in particular) generally causes the programmer to write cleaner more efficient code. While it may be a pain in the ass it generally means that programs developed simultaneously for MacOS and another platform are more stable, less RAM hungry, and faster (on both platforms) than an application developed solely for Windows."
While I too want my system to be as stable as possible, I understand that a properly written program will not crash any more under MacOS than under Windows or Linux. That said, I am probably awaiting OS X as eagerly as JC. However, there is no way Apple could dump the current MacOS entirely and stay in business. There are too many existing MacOS apps. Apple will slowly transition users to OS X using Carbon compatablity to bring old applications along. Once OS X is released any forward thinking programmer developing a *new* application will code for the Yellow Box APIs not Carbon.
In short I have a lot of respect for JC's opinions and am excited that he is working to bring Q3 to MacOS, but you must read his comments regarding MacOS, Windows, Linux, etc, as those of a programmer not an end user. Also, although most of the people on
> I don't know enough about coding for Linux to comment, but I would /dev/mem or similar open and mmaped()) ... but
> guess it is possible cause problems this way from code executing at
> some level _outside_ the kernel?
Not really. In linux, different processes don't
even run in the same address space. Even if they
COULD scribble over another processes' (or the
kernel's) memory, they have no way to address it.
One exception is if you have root access and
have
that requires full superuser privs, and it's not easy to do accidentally.
Don't cry for PlanetQuake. Most heavy gamers really in the Quake Community agree that PlanetQuake sucks. They gobble up most independant sites and hog all the profits for yourself... if you have a page hosted on PQ you don't see a dime of that ad revenue.
One of the first things in id's book of game programming is portability. If you start right, porting to anywhere is easy.
So you can walk through your source code in the same buffer you used to type it in? Cool! That's always been my favorite feature of IDEs.
So here's my money, Mr. Carmack
I don't know what their current plans are. But I know Redhat recently turned down the right to ship :)
ID software (wasn't fitting with their current Open-Source philosophy). My feeling is that you will be able to special order a CD with Linux as the binary format
So when is Q3 supposed to be out? Even a stable demo? Those screenshots looked AMAZING.
nice .plan
there is no way Apple could dump the current MacOS entirely and stay in business.
.plan, uh, somewhere . . .
to be fair, carmack did sort of acknowledge that in the
What kind of graphics card do you have? Be very specific. cat /proc/pci should help if you don't already know.
The icon is the Quake III icon.
Hey Zoid, first off thanks for all the great work.
I know the current Voodoo2/Glide/Mesa interface doesn't use the 2nd texture unit but I also read that Q3 doesn't do multitexturing in the same way as Q2 so it won't use the 2nd text unit. Is this correct?
Second, will the Linux version support 3DNow in the game engine itself as well as possible Glide/Mesa 3Dnow enhancements?
Keep up the great work!
-A paying Quake, Quake II, and future Quake III customer.
My educated guess is that q3test (sort of a demo but not really) will be out mid-March with the final game 3 months after that.
...really. so many people whine about ide's, but if you don't like them, don't use them.
i like to be able to rough out an interface and hook some monor functionality up so the customer can at least see the graphics, and try out the feel.
Codewarrior is going to be a very good thing for Linux. It's already the development environment of choice for BeOS, AFAIK, so I am really looking forward to it.
Maybe if you have a problem with installation, the mailing list archive on linuxppc.org, I'd like to help you . . . by the way I have a Voodoo 2 in this PowerMac upgraded G3, it is pretty nice, but at the moment, without much use without Quake II.
JC says....
"This was important to me, because I felt that Quake2 had slipped a bit in portability because it had been natively developed on windows. I like the discipline of simultanious portable development."
This is the kind of stuff that even Apple and Microsoft can't even do. Programming is managing complexity. JC is one complex dude.
I know this is doesn't answer your question.
I hate MS-Windows, but MS Visual Studio is a very nice IDE, just as good as Turbo. Well, unless you're developing a graphical DOS program. Wolf3D was actually written in Turbo (wouldn't we love Wolfenstein on Linux!).
I hear they do have a big SGI for compiling and vissing levels, though. And boy, do they need it. My roommate made a level which takes about a day to compile and vis on his P166.
Not in hardware with Mesa yet. Only the excellent Voodoo series from 3Dfx works has hardware OpenGL support through Mesa under Linux as of yet. Check out MetroLink and Xi Graphics for possibly payware, though.
Oh yeah, OpenGL. Graphics API of the gods. I love that thing, it lets us do things like write frameworks for fully-functional textured game characters in half a day.
I belive www.idsoftware.com is run of the ISP
www.best.com(?) I used to be a subscriber to
best before moving to a cable modem and remember
them highlighting that id was one of their
customers.
I must interject that developing on systems like Macintosh or Windows 95 makes them much less stable.
The wizards are junk. What's nice about IDEs are the project management and in-line debugger.
Zoid, awesome job on Quake and Quake II.
Would you mind telling us why only hardware-rendering will be supported on Quake III, though? What about Windows, is it only hardware there too?
Thanks.
The latest I heard on the Linux/PPC list is, that they're going to send a G3 to Daryll, but I don't have an update on this, yet.
Mesa (3.1) works perfectly on Linux/PPC, we'll have to see how easy we can port the Glide driver over. Maybe we need to mess with the vertex/fpu stuff.
For your G3: There have been some developments recently, includeing the ability to boot from MacOS, like you can with "loadlin" from DOS. The program is called BootX, and can be run as an application or Extension. This makes it quite easy to try a kernel without messing with your system.
For more information try www.linuxppc.org, or drop us a Mail on linuxppc-user@lists.linuxppc.org, the LinuxPPC user Mailinglist.
Jens
Hi Zoid,
Whats the scoop on the TNT in Linux, is anyone going to write a mesa driver for it so we can play QuakeArena on a TNT like its intended?
Btw: CTF kix
It was chosen to do hardware Rendering only because doing both software and hardware renderers is time consuming and it holds back the hardware renderer. All platforms require an OpenGL capable card.
Codewarrior? Complex? Since when?
I've found Codewarrior to be just as easy as either what-was-once-Borland C++ or Visual C++. Just as stable, too.
Maybe the reason it seems so unstable for your CS101 programmers is because CS101 is where you learn what mistakes not to make: infinite loops, bad pointer assignments, infinite recursion. I don't remember how many times I brought down Borland C++, but none of it was due to the quality of the IDE, rather my own shitty programming skills at the time.
Have you guys looked at BeOS yet? It is extremely fast and efficient. Is a BeOS port likely in the near future? Maybe at time of release or as a patch? You will be surprised at what BeOS can do! Check it out. http://www.be.com. Thanks. -Chris
3dfx is a shitty company. They use anticompetive practices. They are a disgrace to the industry. The only good thing about them is that they realized the profit potential of an earley entry in the Linux market.
However, they will probably soon drop all Linux support (or rather they have, see the banshee). They ported glide to Linux in an attempt to get Linux developers to develop glide apps (which will then lock them to the 3dfx hardware platform). This backfired, because the MESA people made an OGL wrapper on glide and almost *NO* linux developers use glide directly, they use OGL. 3DFX's attept to lock the software failed and therefor we will not be seeing support from them for much longer.
Your response has absolutely nothing to do with the questions I asked.
Don't forget that one of the big things an IDE does for you is generation of makefiles (actually, it just automates the build, bypassing a makefile). While writing a makefile is a great way to make sure you understand how your program fits together, umm.... it's a PAIN IN THE ASS most of the time. For the record, I do most of my dev work in MS Visual Studio, but I have recently done some Emacs/javac stuff in Solaris and Windows Notepad (barf)/gcc-palmOS stuff in Windows 98. I guess I'm too damn lazy to fire up Emacs in Windows. I'm comfy with all 3, but I prefer a good IDE.
Q3 for Windows is hardware only too, Zoid's not trying to single out Linux for this or anything :)
I've never run Quake under Linux myself, but I've seen a few screenshots. They all showed Quake in a windows in X. Is it possible to run it full screen using svgalib for example? Also, which way is faster? Common sense tells me that, other things being equal, svgalib should be faster then X.
Finally, how's 3d hardware support in Linux? Last I heard only voodoos were supported.
Well, going to www.spec.org reveals that the top ppc system scores 15.1 integer, 10.1 float, and that the top intel system scores 17 integer and 13 float.
If no 3D hardware with freely available specs exists by the time Q3A is available, I'll see to getting a wireframe software rasterized mesa driver put together. It won't be pretty, but I'm sure it could be tuned enough to make it playable...
And as for the company 3dfx, yes, they are evil. Like everyone else, they refuse to release specs. Plus they push developers to use their own proprietary graphics lib rather than an open api, they sue people who try to write their own drivers (think Zanshin of the GL Dojo), they attack (I dunno how far this attack went...) people who clone their API to make glide games work on other hardware, etc. I refuse to buy from such a company, and I hope everyone else will have the good sense to do the same. I'd rather pay loads of $ for a massively parallal machine to render Q3A in software GL than put a penny in these greedy bastards' hands...
- RF (dfelker@cnu.edu)
NO. You mean use of windoze vs *INSTALLATION* and *ADMINISTRATION* of unix. Sit someone who's never used a computer before down at an out of the box doze system and a unix system set up by a competent admin for use by a novice, and there's no reason the unix system is harder to use.
So quit the FUD, or say what you mean.
- RF (dfelker@cnu.edu)
When he was coding the original Quake, he went through a 3D engine implementation a week... :)
- RF (dfelker@cnu.edu)
I can't really see how lack of protected memory could make better code. If the OS does not catch the program accessing memory of other apps, then how will the progammer know that he is doing something wrong? The OS will not kill the program when it does something wrong, and the cmoputer will not crash all the time making it unclear what the problem is.
BeOS *will* have Hardware OpenGL in R5. In fact,
that's the main part of the new version. They are improving other areas too, but they are focusing on expanding OpenGL support. There will probably also be a huge increase in the driver base.
who pays spec.org for most of their work:
Intel + Microsoft
Carmack is a very good programmer but he isnt just
pulling those skills out of his ass. he has in
the past (on at least one occasion that i can
recall) locked himself into a hotel room in a
random city for a few days so he could have
uninterrupted time to explore and try things. he
puts the time in and has the ability to turn
that time into very useful knowledge.
i think id contracted out for their web site (not sure about that but a web design company told my gf they made id's site when they were trying to hire her)
anyway, if that's true there may have been a behind the scenes reason for the choice. id is one of the few companies who have made such a good reputation for themselves that i'll buy their stuff the day it comes out (if i can find it).
so i'm not gonna hold their web server against them.
darth
darth@koyote.com
Is there any chance of a yellow box (OpenStep) version of Q3? If the guys at ID don't want to do it, then the people at Omni who did the Q2 port over a weekend could handle it.
If not I hope they at least make sure the Mac version will run in the blue box.
Tried dfm + WindowMaker? Nice combo.
This article's a bit old,so I hope you get this. I would have sent email, but you didn't leave an address. :(
;) I'm still not buying one of their cards, though, unless it's to reverse-engineer it...
Anyway...
About Zanshin. I'm not positive it was 3dfx, and perhaps you saw something I didn't, but according to the little bit of information that I found on the case, the reason he was being sued was because he had been given sample hardware for which he had to agree to something that included NDA-like terms (it might have included other stuff too; I dunno). Of course, it is possible that it was *another* (competing) manufacturer who had given him proprietary info who was suing him; I just assumed it was 3dfx.
As for the attacks on the guy who cloned the glide api (wrapping direct3d iirc)...look around. I don't know if they ever seriously harassed or threatened to sue him, but I saw a few things on some gaming-related site a while back, most likely blue's, about 3dfx being less than pleased with it...
If you can deny some of my claims about 3dfx, let me know. I'd like it if the only hardware vendor giving us any support turns out not to be as crooked as I though...
- RF (dfelker@cnu.edu)
Regarding the banshee, Daryll is making progress on it according to his news page, and for the new voodoo3 board, they mentioned Linux as supported in the press release.
For news about 3d on Linux, particularly 3dfx related, look at http://glide.xxedgexx.com/
Finally, someone who understands that programming in a GUI IDE is a lot more powerful than a few xterms running vi and gdb.
:)
Now if there was only a nice complete GPL'ed IDE as full featured as MS Visual Studio or Borlan.. er Inprise's offering.. maybe I can get some real work done
The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
Well lets see.
Project management provides a method of replacing Makefiles which is not only faster, but provides multidirectory dependancies easily.
Most debugging environments will open the correct source file to the exact line which was causing the problem at any breakpoint. This speeds things up quite considerably when you are working with a lot of breakpoints which happen to have functions in multiple files.
A single, unified editor for all code editing complete with multiple language syntax highlighting and function lookup/mispelling detection. Not many IDEs contain function lookup/mispelling detection, but it is quite nice when you do have it. Some will even warn you if you forgot a { when starting a function definition.
The end to the debate about how many spaces you should indent your code. When working in a GUI IDE, they almost all have tab-stop settings. Although this is true under a lot of editors, some IDEs will have ruler style tab-stop settings so the first tab is at 8 spaces, the second tab is at 4 spaces, the third.. etc etc.
Integrated compiling lookup. Similar to the debugging environment, open the file which caused the error to the correct line. Very handy.
The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
Well... will quake3 have the linux binary on the CD?
In my experiances with the codebase for Quake2 (I don't mean gamei386.so or whatever; i mean the quake2 binary and the gfx libs), it is semi-portable. some stuff is windows specific, and takes some fixing, and many re-compiles, but after a while, it compiles pretty well and runs without crashing.
I think whenever a new version of Quake2 comes out, Zoid just applys a "Linux patch" and compiles, but dont quote me on that.
In short, it dosnt compile out of the box (./configure;make;make install) but after some cutting-windows-crap-out and stuff it works nicely.
my $0.02
Speaking of IDEs, is there any IDE for Linux that uses ANSI graphics (perhaps in a color xterm)? I'm still using Borland Turbo C/C++ v3.0 for DOS (from 1992) to write most of my code because it's much more useful than any graphical (windows and/or X) IDEs I've seen.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
But, WebSite Pro is from Oreilly. Yeah, the book guys. That software is really good.
--
Ben Kosse
Remember Ed Curry!
Though I'm no Emacs user, I'll agree that Emacs appears to do most of the tasks people desire in their graphical IDE's. Like vi, however, there's a lot you have to learn about Emacs before it can be usable, and a bit of configuration needed to make it useful as an IDE. Your average GIDE is typically ready to go out of the box. I can usually hop on any Windows IDE that I've never used before and crank out a simple GUI app in a few minutes.
Like most Windows vs Unix apps, the Windows versions tend to be easier for new people to learn, but in this case, I don't think anything Unix-based will be any more powerful than what's already available for Windows. With the exception of my "vi lapses" (hitting escape all the time, etc.), Microsoft's IDE is extremely powerful and, quite frankly, speeds my coding time considerably over my (non-Emacs-based) Unix equivalents. Like I said, though, I haven't tried Emacs, so that might be just as easy... I'd recommend you try programming in VisualC++ or J++ on Windows and see what I mean.
Not to start another tab-stop war or anything, I really have to disagree about your argument against hard tab stops. Most all programs have the ability of adjusting the amount of space used by hard tab stops. I routinely set my tab stops in vi to 4 spaces. If someone else prefers a different number of spaces for indentation, it's a simple matter to set the tab stops to the value of their choice. Using 3 or 4 spaces when you're coding forces everyone to look at your source using your preferred "tab stop", and their coding habits may differ, causing the code to be a mish-mash of different spacing styles. If everyone uses hard tab stops and adjusts their editor appropriately, everyone is happy.
Where I work, there are three other coders that I routinely work with. One uses hard tabs, like me, and adjusts his tab stops to 3. The other two use spaces (2 and 4). Code that the "space people" have collaborated on tends to get very messy (especially when cutting/pasting and re-indenting so that the pasted block matches up with the code that already exists). Quite frequently, someone will miss a space or add an extra space, and things never quite line up. When I collaborate with the other "tab guy", our code is always very neat, indented precisely and generally very easy to work with. It's very easy to make code changes in simple editors like 'vi' without auto-indentation.
As you might expect, when a "tab person" and a "space person" end up collaborating, the results tend to be disasterous. The only thing worse than using spaces inconsistently is using tabs *and* spaces.
While most of my programming is done on Unix, occasionally I'll write some Java using VisualJ++. In addition to the GUI building portion of the IDE, the actual *coding* is considerably easier than most anything I've dealt with.
As you code, the IDE will note the types of classes and objects you declare, and as you use them, it will give you pop-up menus (in a passive, background sort of way so as not to interfere with your coding) with all of the possible methods and properties, so if you're not totally familiar with a class, or forgot how you declared it, you can see and choose from the list (or just keep typing). I find this feature extremely useful.
I'm not an Emacs user, so someone else might have the proper solution, but I would look and see if you can tell Emacs to use a different character besides a space for indentation (i.e. a hard tab), and set your indent level to 1? It would "auto-indent" 3 "spaces" (tabs) if you were 3 levels deep...
Not sure if this is even in the right ballpark, but it might be a usable hack. For all I know there's an Emacs option specifically designed to do what you're trying to do.
Good question.
When develoing software with CodeWarrior, I don't have to remember the different -W flags to
;)
turn warnings off -- I go to the "C/C++ Warnings" panel in the Project Settings and click on
checkboxes. When adding a source file to a project, I can just click on the targets I want it added
to. To check in a modified file, I just select it in the project window and choose "Check In" from a
menu. I never have to touch or even think about a makefile, because the IDE does dependency
tracking for me.
I see. You don't want to learn anything extra?
BTW, autoconf and makedepend are both usefull tools.
Checking in and out can be done in just about any Unix editor. I use Nedit and have ClearCase integrated in where I can do just about any ClearCase command just from the menus.
In other words, it lets me focus almost completely on writing code.
Doesn't look like you are now
The only problem with it is that the project file format's not open. But to me, it's not a big
problem...
Indeed!
"In true sound..." -Agents of Good Root
The big benefit of an integrated development environment like CodeWarrior is that it maintains and manages your projects for you, not because of any sort of interface construction. (IDEs often include interface-construction tools, but they're not the reason for IDEs' existence.)
When develoing software with CodeWarrior, I don't have to remember the different -W flags to turn warnings off -- I go to the "C/C++ Warnings" panel in the Project Settings and click on checkboxes. When adding a source file to a project, I can just click on the targets I want it added to. To check in a modified file, I just select it in the project window and choose "Check In" from a menu. I never have to touch or even think about a makefile, because the IDE does dependency tracking for me.
In other words, it lets me focus almost completely on writing code.
And for the vast majority of Macintosh projects, the IDE is flexible enough that you don't have to worry about not having makefiles or anything like that.
The only problem with it is that the project file format's not open. But to me, it's not a big problem...
Also, at least CodeWarrior is not a monolithic tool. There's the project manager -- the IDE proper -- which hosts compilers, preference panels, linkers, etc. as plug-ins, and also has an excellent syntax-aware text editor and class browser. Then there's Constructor, the interface construction tool, and ResEdit or Resorceror for editing resources. So while it's a complete environment, and some pieces of it do run in the same memory space, it's not all that huge or monolithic.
If these memory bugs are in other peoples' software, email or call or write them and tell them to run their code through Spotlight. It can really help you clean up your code and make it rock solid.
It's modeled after CodeWarrior and uses the compiler of your choice.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
It's funny someone mentioned that MacKiDo article. I was just musing on the definition of "real stability" after hosing X Windows on my Linux box while improperly (I guess) updating kdelibs in order to get Korganizer running.
Anyway, I've always read Carmack's take on the Mac with interest. Since I know nothing about gaming (vanilla Angband is still my game of choice), I'm curious about how much credence to give his opinions. Should Apple drop everything and do what he says? Is he a lone crank? Or somewhere in the middle? I'm curious to hear what knowledgeable people think.
What I'm listening to now on Pandora...
Although I totally agree that the using a PPC on a mac is vastly overrated, I am very curious to find out how fast the PPC is compared to Intel's offerings, if the MacOS wasn't slowing down the PPC so much. Has anyone done any sort of benchmarking in comparable builds of Linux to test out how much faster the PPC would be than the PII, if the OS wasn't slowing it down so much?
*n/t*
Look, that guy is a zealot and a kneebiter.
Trut is, it *hasn't* been fixed yet; guard pages don't go into the os until spring.
FWIW MacOS does NOT crash like that under normal (and even stressed) operation anymore...Even Netscape has a hard time kiling it these days...
An honest, foaming-at-the-macmouth-free post.
-K
One day, you'll learn to watch what you post...
I grabbed the following off of voodooextreme (http://www.voodooextreme.com) from Zoid about the Q3A's Linux support:
:)
---
"My current platform support for is clients on Linux x86 and SGI IRIX. For servers I'm supporting Linux Alpha, Solaris x86 and Solaris Sparc. LinuxPPC may be considered, but I couldn't get LinuxPPC to install on my Mac G3 machine.
Quake3 is a hardware _ONLY_ game for visuals. You must have OpenGL hardware support. Currently, that means MesaGL with VooDoo, but I have also got stuff working with XiGraphics Accelerated X11 as well. I have hardware Quake2 up and running with a Number Nine Revolution III card using OpenGL on it. I'll be testing Quake3 with it shortly.
So, the plan is hardware OpenGL support under Linux for MesaGL w/VooDoo, and XiGraphics Accelerated X with OpenGL (with serveral different cards supported). I'm also working with the Metrolink guys who are building accelerated OpenGL X servers as well.
Currently, there isn't any hardware OpenGL support for platforms such as Linux Alpha. Sun does have hardware OpenGL on their new UltraSparc Creator workstations and I'll be investgating support for that as well. I'd like to see Quake3 running on every platform that supports hardware accelerated OpenGL."
---
Since he's got it running under Mesa for Voodoo boards, I assume you might still be able to run it, albeit slowly, under Mesa in software mode (or is there a flag somewhere within Mesa that one can check to see if hardware support exists?).
Personally I don't have a Voodoo board and I'm not about to shell out $200 or more for a commercial X11 distribution so I guess I'll be playing Q3A on my Windows box...
Linux Alpha
Linux i386
Solaris SPARC
If you finger zoid@idsoftware.com, you should see links to those versions I think.
IDEs can become a bit smarter about code than just a bunch of text in files. Look at ObjectMaster, or SlickEdit for example. This programs know all sorts of stuff about a _project_ that an editor will not know. Will warn about syntax problems. Knows which functions/methods call from where and to where. Has macros for commonly used programming syntax. Adds your functions into the macros, complete with parameters. _Structured_ ( ie not simply a grep ) search project wide. When using a program like these I spend less time worrying about location of code, and syntax of code, and more timing thinking about algorithms and structure. Intelligent about OO code as well. Knows about inheritance etc. All in all a big win.
Isn't that what traps are for? I'm not entirely clear on linux's usage of traps, but I thought you could use them for stuff like syscalls
My current platform support for is clients on Linux x86 and SGI IRIX. For servers I'm supporting Linux Alpha, Solaris x86 and Solaris Sparc. LinuxPPC may be considered, but I couldn't get LinuxPPC to install on my Mac G3 machine.
:)
Quake3 is a hardware _ONLY_ game for visuals. You must have OpenGL hardware support. Currently, that means MesaGL with VooDoo, but I have also got stuff working with XiGraphics Accelerated X11 as well. I have hardware Quake2 up and running with a Number Nine Revolution III card using OpenGL on it. I'll be testing Quake3 with it shortly.
So, the plan is hardware OpenGL support under Linux for MesaGL w/VooDoo, and XiGraphics Accelerated X with OpenGL (with serveral different cards supported). I'm also working with the Metrolink guys who are building accelerated OpenGL X servers as well.
Currently, there isn't any hardware OpenGL support for platforms such as Linux Alpha. Sun does have hardware OpenGL on their new UltraSparc Creator workstations and I'll be investgating support for that as well. I'd like to see Quake3 running on every platform that supports hardware accelerated OpenGL.
/// Zoid.
/// Zoid.
Quite simply, carmack may be the greatest coder to live on this earth. He is always one step ahaed of the pack in whatever he does. To give an example of how good he is, he offhandidly mentioned that he wrote a voxel renderer for quake2. I mean offhand, he mentioned it like he had simply added another weapon. He has also caused microsoft to change it's stance on OpenGL, though, not much admittedly. After he started a movement, which gained several other developers, MS promised to work with SGI in making a new 3D API. Kind of an amalgam of Directx and OpenGL i guess.
So basically, anything carmack says is probably correct. He is a very thorough coder. After listening to him speakign about some of the problems he had encountered during quake/quake2 development, he was certain that the way he had gone was the best way, because he had tried every other way and they just didn't work as well.
Another cool thing mentioned, i beleive in Adrian Carmacks book (no relation), is that John wrote the dynamic lighting code for Quake in an hour. I just thought that was amazingly cool
The Reason idsoftware.com runs linux is because Disruptor is their siteop. And as we all know, disruptor is good for doing one thing, and one thing only. Making animated gifs.
For an example, he once came on efnet #quake and asked what the deltree command on linux was...
anyway, NT4 is easier for incompetant people, and that's the gist of it.
On a side note, telefragged.com runs apache i beleive. They run linux at least.
Blah, how can Carmack like CodeWarrior? It's not even the fact that it's an IDE that bothers me, it's just such a piss-poor program. We use it at my university, and I'm sure it causes at least 90% of the crashes on the machines there. Almost all of our Mac's (we have Windows machines, Unix (Solaris), and Macs... sometimes all in the same room) are literally killed because of CodeWarrior, and I hear my friends complaining about CodeWarrior's speed all the time. It's complexity is too high for our simple comp.sci 101 programs, though I suppose with a program as complex as Quake 3 it would help.
I've never liked IDE's anyway... I think typing out all the structs and classes yourself will teach you to be a better programmer than using all the goofy wizards will.
-"One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man." -EH
It's called a Makefile.
From that URL:
"NVIDA has targeted its multimedia accelerators at the mainstream PC market. This market consists of the Windows 9x and Windows NT operating systems. NVIDIA has full resources dedicated to tuning performance and quality under these operating systems. NVIDIA does not offer register level programming guides for development of other operating systems or applications at this time."
What a stupid policy. Will these HW companies never learn...?
Does Quake 3 have anything new that might contribute to "strategy" ? For example, new defensive techniques or weapons. I've been spoiled by Heretic 2 :)
Did anyone else notice that it seems to have only taken him 3 weekends to port Quake 3: Arena to MacOS?? A fully functional port in 3 WEEKENDS! Holy %@!@#$. Quake 3 is one of the most cutting edge games in the works right now (besides Unreal II and Unreal Tournament) and it only took 3 weekends to port. Carmack is good. And I also give a lot of credit to Tim Sweeney of Unreal fame who learned curved surfaces in a weekend. I wish I was even half that good.. Or even 1/4...
Hexy - a strategy game for iPhone/iPod Touch
I know.. But still... 3 weekends when you are dealing with 3D graphics, curves, acceleration, sound, network, textures, etc, etc... Insane! And to do all the required translations between his generic Q3 code and the MacOS in only 15k?
Hexy - a strategy game for iPhone/iPod Touch
Yes, the wonders of truly portable code..
I only wish I could write such code...
NT works, not as well as Linux in certain situations but works, get over it.
For this to happen there needs to be at least one example of Linux game that actually made some money ... otherwise , forget it. It is as simple as that.
It doesn't surprise me that http://www.planetquake.com runs IIS. Notice that it and all its affiliate sites (ritualistic.com, etc) all use ASP... Of course, I think we all know they'd be better off with apache...
There is an intergrated environment for linux:
XEmacs!
---
>Finally, someone who understands that programming in a GUI IDE is a
>lot more powerful than a few xterms running vi and gdb.
Who on earth is doing that still? I don't know
anybody doing development with xterm/vi/gdb.
Everybody here is using XEmacs+ddd (or whatever
graphical debugger working well on the particular
platform), and that integrated environment is as
good as they get (I *did* use the MS and Borland
IDEs back when I touched those systems).
The Question is how Quake3 will find out if a system supports hardware OpenGL? I guess under Win95/NT all you have to do is check if GL_RENDERER returns something different that "GDI GENERIC" which almost always means you have OpenGL ICD/MCD installed...
/proc/pci won't do the trick since mounted card doesn't have to provide support for hardware OpenGL under Linux. Glide/Mesa + Accellerated X11 are going to be the *only* two renderers in Quake3? What about GGI?
What about Linux? checking out
--
disty
"My current platform support for is clients on Linux x86 and SGI IRIX. For servers I'm supporting Linux Alpha, Solaris x86 and Solaris Sparc"
:-O
Does this really mean that we will not be able to run Quake3 servers on x86 hardware with Linux?
I think the likelihood that there will be support for both console and x is very high. Quake II had both. Also, Quake Arena will need some for of hardware acceleration, although the 3dfx cards are not the only ones that will be supported. The I740 2D/3D video card will also be supported.