Check the Blues News archives from the past few days, Zoid. Someone just made a program that would allow Doom DM to run in a client/server manner.:)
That's pretty cool. It's still rather far from the same experience. No player prediction and its still got a log of bugs.
I was also meaning the mulitplayer experience with the new DOOM game would be great. Adding a server based multiplayer to old DOOM is cool and all, but I drool at playing a new DOOM with a new Carmack enhanced engine over the 'net.
One thing I learned about JohnC with my three and a half years with id--he's extremely to the point.
Well, I'm not surprised that he (and others there) would like to make another DOOM. DOOM was a very successful product and an incredible game. Capturing its spirit will be a challenge since a lot of DOOM's factors were in its ability to give you such an impending sense of danger and power:
DOOM featured rooms of dozens upon dozens of enemies. This was something that just wasn't feasible in Quake or Quake2 with the limitations of the number of polygons on screen. I hope that JohnC has some solutions to achieving this.
DOOM had one of the best musical scores of any video game.
The monster design was amazing. I remember screaming when I first encountered the Cyberdemon and the fear he instilled into me.
DOOM only had LAN based play (and modem one vs one). A proper client and server arcitecture for DOOM based deathmatch would just simply rock.
DOOM had insane player speeds. The DOOM guy ran almost twice as fast as the Quake guy did in relation to the world. Such speeds aren't really condusive to internet play since it makes prediction harder. However, I hope those insane speeds make it into the new DOOM.
But there are some issues--when DOOM came out, people were new to the first person shooter genre and one of the reasons DOOM was such a fun game was as you learned how to play you started being able to kill monsters better. These days I (and most experienced players) can run rings around a Cyberdemon and toy with him. DOOM taught me how to strafe, dammit.:)
It's a shame to see Paul let go. He was certainly one who didn't have any problem expressing his opinions. But he could sure pound out some amazing 3D models. His work in Quake2 and Quake3 was outstanding--it's sad to see his art won't be in the new DOOM.
A part of me is upset with my own disassocation with id. I would have loved working on DOOM CTF levels.:)
In any case, I can't wait to see what id can come up with in a new DOOM. I want to be scared all over again.
And anyway, many C++ programmers don't know jack about writing good C or maintaining C programs. They don't understand how to do polymorphism or generic programming unless it's provided by their language. Smart C hackers have been doing this without language support, and thus better understand how it works, and have better intuition about the performance impact of certain C++ language features.
Actually, I was quite surprised as I started learning and writing C++ code at the new job. The surprise was that my C code had started to somewhat resemble a lot of the C++ methodologies. I'm not talking syntacically, but my design methods were starting to fall into the same sort that C++ features as built into the language.
My C programs were starting to become more C++ like with such stuff as const correctness, clean seperation between definition and implementation, etc. So moving to C++ wasn't as hard as I thought it would be.
I found that C++ just brought new tools to the table.
Obselence -- Something to fear?
on
Too Old To Code?
·
· Score: 5
This is something I've started worry about myself lately. I'm 30 now and wondering if I can keep up. One of the major reasons I left my job at id Software was to find new challenges and learn more.
I've been programming in C for like fourteen years now and it seems C is starting to phase out. C++ and other languages are starting to become more widely used and I was starting to fear that if I didn't learn C++ quickly, I'd get phased out.
The other problem I have is that from over a decade of work in C, it's taken me a period of adjustment to switch to a different methodology such as C++. Sure I understand the semantic differences in changes from procedural to an object based design, but I felt lost for the first while in applying those theories to real code.
I've found that in order to stay competitive, one must never stop learning. That may even include changing jobs in order to successfully find the training you are seeking.
Due to how fast technology changes, I think it will be rare for a person to stay at the same job for more than a few years in the computer field. You just usually can't get enough variation in the job to get all the training and skills you need to keep advancing your knowledge and your career. If someone does find a job that does provide this, they are pretty lucky.
Finally! An excuse to sell those Mint-condition MS-DOS 3.3 packages that I found while cleaning my employeers basement!
I've often wondered if old software boxes (complete with disks/CDs, manuals, and registeration card) would someday become a collectible. This would make selling them on EBay somewhat lucrative.
Look at what else has become collectables--old vinyl audio discs, old cars, books. Why should software be any different? I could see spending a good amount of money personally on something like a mint box of the original Infocom Hitchhiker's Guide to the Galaxy Apple ][ edition--the plastic bag of pocket fluff and the peril sensitive sunglasses would be worth it alone.
I remember in school lugging around an MS-DOS 3.2 manual when I was learning DOS stuff. I'd love to see that old binder manual again.
Of course, Microsoft seems to not want you to be able to trade this old stuff. Or is it they are only concerned about reselling of recent versions of Windows. What about DOS 3.x?
Ah, Defender. We have one at my workplace. Another fellow who works here and myself have been battling each other for high score.
It's starting to get pointless, I think we could both go forever now.:)
Defender is still one of the most intense games I've ever played. You just get so "in the zone" when playing it. Everything else disappears except for that ship on the screen. Your hands become extensions of your mental state.
I guess its a similiar experience to "deep hack mode" as described in the Jargon file.
I know I just can't get enough of the intensity of Defender. I just finished playing it about twenty minutes before I posted this message.:)
I also find it strangely comforting that Andy likes Defender as well. Defender may have been a daunting user interface when people first encounter it--but its prefect in its design once you learn it.
Also, Defender was five buttons on a two-way joystick. Stargate added the sixth button for Inviso--temporary invulnerbility for those people who couldn't dodge in Defender.:)
That will fix it. It occurs on newer GL drivers that support triple buffer. GLQuake was only written during double buffering days, it only draw the status bar twice (leaving an old image in the third buffer).
I really like the unit. I wanted something small that I could cart around data such as games, mp3s and others. I loaded Homeworld on to it last night and it ran surprising well in both OpenGL and Direct3D. As a little game machine, this sucker really shines.
I originally purchased it as machine to play MAME games on and so far this is working pretty well. My only complaint is I can't seem to get sound working with DOS MAME. The Sound Blaster DOS emulation on the SoundMax drivers seems to just crash. MAME32 (the win32 version) runs fine howerver.
In all, I really like the unit. It's a small size, but it's not small in its capability. It's a good powered machine and can play most of the latest games (Half-Life, Homeworld, etc). Quake3 does run, but the 4MB of texture memory really slows it down.
The TV SVideo and composite out is very handy for portability as well--you can take it to people who don't have a monitor handy and use any TV. I've been watching DVD movies on it hooked to my TV and it works very well.
I also like the fact its easily upgradable. It's a Socket 370, so as new Intel Coppermines come out, you can upgrade the processor easily. IBM is also producing newer small drives with larger capacity so it would not be unreasonable to throw a 24GB drive in there in the next year when one ships.
I'd recommend it for someone looking for an additional PC to their current one that doesn't take a lot of space and is easy to pack up and move.
I'm a huge fan of Total Annihilation actually and would love to play it online more often. But I had the same problem--it didn't work through masquerading.
The entire reason the majority of Win32 based games is they depend on DirectPlay. To put it bluntly, DirectPlay is probably the most badly designed protocol I've ever seen.
It has no concept of firewalls, it opens up random port numbers and does double connections between hosts. Its just evil badness.
I've searched and disassembled and tried to figure out how it works so I could write an ip_masq_directplay module for the kernel, but I couldn't find any decent specifications.
If DirectPlay supported something like SOCKS, this wouldn't be an issue.
I eventually gave up on playing directly, but there are other solutions to play the game online:
1. MPlayer is a free service and they use a front end to the game. You can play matches with TA on MPlayer. They overload the protocol that TA uses and work fine through Masquerading.
2. Kali works prefectly with Masquerading. For TA, Kali emulates itself as a IPX driver that DirectPlay runs over (I believe). Kali works with just about everything. It was also nice to see Kali fire up and immediately tell me I was using NAT and figured out its translated address automatically.
I gave up trying to play TA on Boneyards. I emailed one of the guys at Cavedog (Rick Lambright) and talked specifically about NAT issues. We talked about TA and its dependancy on DirectPlay and that its pretty much screwed in getting it fixed. Kingdoms suffered the same fate.
Cavedog has been disbanded (or extremely downsized) so I'm not sure what the status would be now if anything can be down.
The best solution is to convince someone at the assimilation headquarters at Microsoft to add NAT support (or something like SOCKS) to DirectPlay. If that was added, it could retroactively make ALL DirectPlay games work.
I have not played a RTS game that I haven't had to fight the interface more than the opponent. Every RTS that I have played eventually gets to a point where the interface fails you or you lose track of everything so easily it isn't even funny.
Finally someone has pointed out the number one flaw in the majority of RTS games today.
I can't stand Starcraft's user interface. Limited queuing, no way to order patrols, etc.
There is one game that got the interface and unit AI right: Total Annihilation.
Total Annihilation's user interface featured unlimited command queuing (movement, building, patrol, everything could be queued!) and intelligent units. Construction/repair units on patrol would automatically repair anything they came across (for example, have a few construction planes patroling over your ground forces and they'll happily repair as needed without your direct intervention). Units on the move would take pot shots at any enemy units they went by--something StarCraft can't figure out what to do. StarCraft Terran marines will run RIGHT BY enemy units and completely ignore them until they finish their "move" command.
In StarCraft, I felt the interface design was done that way to limit my ability to control the game. I felt like I had to push too many buttons to get anything done. In TA, I felt like a commander. I would tell my units "do this, go there, build this, blow that up then go on patrol" and they would just go do it, and do it intelligently.
I can't STAND any RTS that doesn't have a command interface with the depth that Total Annihilation had. Homeworld came close, but its nature was such that command queuing wasn't important.
He wrote a novelisation of the movie. The resulting novel, of course, was far better than the film.
Really? The Abyss is one of my favorite movies of all time.
I found the extended laser disc version of the movie was astounding with the revised ending. The original movie that was cut for time had a really quick and rushed ending.
I'll have to check OSC's novelization out.
I've only read a couple of his books: Ender's Game and Wyrms. Wyrms was really strange--it felt like some sort of writing experiment with weird SciFi plots. Didn't read well for me and actually turned me off reading most of Card's other works.
I've avoided the sequeals to Ender's Game because I felt that the story ends really well as it does in the original novel. Sure, it's nice to see continue on and see where the characters go and take us with them, but after the double-surprise, I was left pretty fulfilled.
> Try using pre-GPL GLQuake1 with anything other than a 3Dfx board.
Yes, the old GLQuake code is kinda broken. But when I wrote it, the ONLY hardware solution was a 3DFX board for Linux! That was two years ago.
You can get glquake.glx to work, but you have to screw with it a bit. I was amazed glquake.glx worked since I wrote the glX version without a proper glX renderer (just a Mesa 3DFX in a window hack). There is a glibc version on the Linux Quake Boxed Set from MacMillan.
Of course, now that we've released the source, you should be able to get glquake.glx running in no time.:)
We thought long and hard about CD Key issues before we decided to go with them. With a game like Quake3: Arena where multiplayer is an essential focus of the game--protecting against unlicensed use is a necessity.
I'd like to address some of your points directly tho.
1. The authentication code only denies when we are sure you aren't using a valid key. If the authentication server can't be reached, we allow the player on. We only deny when we're sure you're not legit. This may allow some unlicensed people to play, but overall the idea is to only annoy (and mostly deny) people who didn't buy the game.
2. Stolen keys can be a problem. However, we have a pretty long key string and the chances of guessing (generating) one are several billions to one. The biggest concern I have is people ripping open boxes in stores and writing down keys (it happened with Half Life). I think there's a return policy for that. Activision would have more information about that.
3. Yes, it can be viewed you are mostly at the whim of the producer. It is our game and you license it, not purchase it from us. You get unlimited play when you spend that one time purchase fee.
In regards to LAN play, no keys are used when playing on a local LAN, so you can spawn LAN games with your friends.
CD Key systems are a necessary evil. I'd wish we could go without one, but in the era of digital copying and licensing, it's one of the best solutions out there right now.
Honestly, I think key based solutions for network specific software (The keys in Q3 are only used in multiplayer) is probably the way the future is heading.
DIVX is an interesting comparison. The problem with DIVX is that it would track much more general information that we can with CDKeys. DIVX would tell them not only that you watch movies, but what movies, when and how many times. With CDKeys, all we know is that you bought our game and play it sometimes.
As for privacy issues, sites like the CLQ, http://www.theclq.com, do much more tracking than CDKeys do. They poll all the servers everywhere and keep track of players and generate stats. We don't have any ability to attached a CDKey to player name (the name is not sent with the authorization request).
I will agree that the privacy issues with unique identifier (key) based systems can be a little scary. We'll do our best to make sure that our system is used for what its intended for--to stop people from stealing our game.
Is there hardware OpenGL support on the Alpha? I am planning on supporting it as a server platform, but unless you can get hardware OpenGL working on it, there's not much point in compiling a client.
I have SMP code written (and it seems to work well) but there isn't any SMP support in the 1.07 binary.
When adding thread support, linuxquake3 became dependant on libpthreads. I didn't want that dependancy since I found a binary linked with glibc 2.0+libpthreads doesn't run on a glibc2.1 system+libthreads.
The SMP code is still a tad buggy and I need to do more testing on it.:)
I may distribute a seperate linuxquake3-smp binary in future builds. I'm just worried that I can't build a universal SMP binary that will work on glibc2.0 and 2.1 systems. Bummer.
Re:Still lots of CPU usage on dedicated server
on
Linux Q3Test 1.07
·
· Score: 1
eh? All my tests show 1.07 is very nice about using CPU. I have a server running on my gateway Linux firewall box. With eight players on it, top reports:
So it's using 70% of the CPU for eight players (the box is a lowly P2-233). When there's no one on it, it consumes very little CPU.
I'm curious as to how you are running the server. i have seen problems where people use nohup to run it and it gets confused when stdin is closed (you log out) and ends up spinning on the select for stdin. Thought I fixed that tho.
I run all my servers under screen so I can get quick console access to them from anywhere.
An important thing to know is that the ping time as shown in the game does include your frame rate. If you are getting 20fps, that's 50ms added to the trip time to the server. Add a good 30ms to get over a WAN link and you're sitting at 80ms.
But if you are getting 100fps (not unreasonable, I get 100fps pretty consistently on my Voodoo3 on a P2-450), that's only at most 10ms added to the trip time.
This patch was fixed in version 3.17 of Quake2 and all following releases and in version 2.1 of QuakeWorld and all following releases.
It was a piece of test code that got left QuakeWorld (and Quake2 inherited in the code base). QuakeWorld was never an "official" prouduct--it was only a test platform for new networking ideas such as prediction. As soon as it was identified, both games were patched and new versions were made available.
The exploit page you cite lists Quake1 (regular Quake) as vulnerable, which is bogus since Quake1 doesn't even have rcon facilities. It also states it isn't logged which is false since every rcon prints out on the console with the address it came from.
Root compromise? Any decent sysadmin would never run a Quakeworld or Quake2 server as root to begin with (the servers do not need special privledges).
This issue was dealt with quickly and appropriately.
A P233 with a Voodoo1 is pretty low end. But I'm glad you got a good game experience from it. That's why there's all those tuning options in the graphics menu.:)
Q3A is not a completely multiplayer game. The single player game (not seen yet) can be compared to something like Mortal Kombat--progressive deathmatch against bots. We'll see how it turns out.
I have tested beta NVIDIA RIVA TNT/TNT2 drivers on a TNT. They work, but do not use direct rendering or support GL_ARB_multitexture or compiled vertex arrays--pretty much a triple whammy to hurt performance. It is difficult to get a playable game out those beta drivers. This is unforunate.
The Precision Insight guys are working on direct renderered OpenGL pipelines in the future (XFree86 4.0). Hopefully we'll see support for TNT/TNT2 soon.
Hardware 3D support under Linux is just really starting to heat up. I'm hoping that by the end of the year, Linux will be a leading contender in the realm of hardware accelerated OpenGL workstations.
1. There isn't a current framerate counter. You can use 'timerefresh' to get a guess based on the current position.
2. Because you have vsync on. Turn it off. Quake3 has renderered its pass and is waiting to for the vblank interval to switch buffers. You can turn off vsync by doing this in the shell:
export FX_GLIDE_SWAPINTERVAL=0
3. Quake3 is a _lot_ more demanding than Q2. It pushes about five to ten times as many triangles as Q2 did. Use "fastest" in the video configuration along with r_lodbias 2 in the console.
4. This 'faster' you are seeing is vsync.
5. Great! The only real problem people are having is that Q3 blows up if you don't have a 16bit depth on the desktop. I'm going to revise this in the next test relesae.
Linux Q3Test is an OpenGL glX based application, so they should work if hardware acceleration is enabled. Full screen play may not work unless the X11 Servers supports the XFree86 VidModeExtensions.
When the Linux Q3Test is out, give it a try and lemme know how it goes.:)
I haven't tested the Banshee. I'm not sure if it will work. Depends on if Daryll has finished up the Glide support for the Banshee. I don't have a Banshee to try it out on.:(
Voodoo2 is certainly supported. You don't want to play in a window on a Voodoo2--it's fullscreen only really (which is a good thing). When I'm playin...err testing, it's on my Voodoo2 under Linux.
Check the Blues News archives from the past few days, Zoid. Someone just made a program that would allow Doom DM to run in a client/server manner. :)
That's pretty cool. It's still rather far from the same experience. No player prediction and its still got a log of bugs.
I was also meaning the mulitplayer experience with the new DOOM game would be great. Adding a server based multiplayer to old DOOM is cool and all, but I drool at playing a new DOOM with a new Carmack enhanced engine over the 'net.
there wouldn't be a chance of a zoid map-pack?
:)
No promises.
Well, I'm not surprised that he (and others there) would like to make another DOOM. DOOM was a very successful product and an incredible game. Capturing its spirit will be a challenge since a lot of DOOM's factors were in its ability to give you such an impending sense of danger and power:
But there are some issues--when DOOM came out, people were new to the first person shooter genre and one of the reasons DOOM was such a fun game was as you learned how to play you started being able to kill monsters better. These days I (and most experienced players) can run rings around a Cyberdemon and toy with him. DOOM taught me how to strafe, dammit.
It's a shame to see Paul let go. He was certainly one who didn't have any problem expressing his opinions. But he could sure pound out some amazing 3D models. His work in Quake2 and Quake3 was outstanding--it's sad to see his art won't be in the new DOOM.
A part of me is upset with my own disassocation with id. I would have loved working on DOOM CTF levels.
In any case, I can't wait to see what id can come up with in a new DOOM. I want to be scared all over again.
And anyway, many C++ programmers don't know jack about writing good C or maintaining C programs. They don't understand how to do polymorphism or generic programming unless it's provided by their language. Smart C hackers have been doing this without language support, and thus better understand how it works, and have better intuition about the performance impact of certain C++ language features.
Actually, I was quite surprised as I started learning and writing C++ code at the new job. The surprise was that my C code had started to somewhat resemble a lot of the C++ methodologies. I'm not talking syntacically, but my design methods were starting to fall into the same sort that C++ features as built into the language.
My C programs were starting to become more C++ like with such stuff as const correctness, clean seperation between definition and implementation, etc. So moving to C++ wasn't as hard as I thought it would be.
I found that C++ just brought new tools to the table.
This is something I've started worry about myself lately. I'm 30 now and wondering if I can keep up. One of the major reasons I left my job at id Software was to find new challenges and learn more.
I've been programming in C for like fourteen years now and it seems C is starting to phase out. C++ and other languages are starting to become more widely used and I was starting to fear that if I didn't learn C++ quickly, I'd get phased out.
The other problem I have is that from over a decade of work in C, it's taken me a period of adjustment to switch to a different methodology such as C++. Sure I understand the semantic differences in changes from procedural to an object based design, but I felt lost for the first while in applying those theories to real code.
I've found that in order to stay competitive, one must never stop learning. That may even include changing jobs in order to successfully find the training you are seeking.
Due to how fast technology changes, I think it will be rare for a person to stay at the same job for more than a few years in the computer field. You just usually can't get enough variation in the job to get all the training and skills you need to keep advancing your knowledge and your career. If someone does find a job that does provide this, they are pretty lucky.
I've often wondered if old software boxes (complete with disks/CDs, manuals, and registeration card) would someday become a collectible. This would make selling them on EBay somewhat lucrative.
Look at what else has become collectables--old vinyl audio discs, old cars, books. Why should software be any different? I could see spending a good amount of money personally on something like a mint box of the original Infocom Hitchhiker's Guide to the Galaxy Apple ][ edition--the plastic bag of pocket fluff and the peril sensitive sunglasses would be worth it alone.
I remember in school lugging around an MS-DOS 3.2 manual when I was learning DOS stuff. I'd love to see that old binder manual again.
Of course, Microsoft seems to not want you to be able to trade this old stuff. Or is it they are only concerned about reselling of recent versions of Windows. What about DOS 3.x?
Ah, Defender. We have one at my workplace. Another fellow who works here and myself have been battling each other for high score.
:)
:)
:)
It's starting to get pointless, I think we could both go forever now.
Defender is still one of the most intense games I've ever played. You just get so "in the zone" when playing it. Everything else disappears except for that ship on the screen. Your hands become extensions of your mental state.
I guess its a similiar experience to "deep hack mode" as described in the Jargon file.
I know I just can't get enough of the intensity of Defender. I just finished playing it about twenty minutes before I posted this message.
I also find it strangely comforting that Andy likes Defender as well. Defender may have been a daunting user interface when people first encounter it--but its prefect in its design once you learn it.
Also, Defender was five buttons on a two-way joystick. Stargate added the sixth button for Inviso--temporary invulnerbility for those people who couldn't dodge in Defender.
gl_triplebuffer 1
That will fix it. It occurs on newer GL drivers that support triple buffer. GLQuake was only written during double buffering days, it only draw the status bar twice (leaving an old image in the third buffer).
/// Zoid.
After reading the original story on Slashdot, I purchased one of these puppies and started playing with it.
I put up small review with some pictures
I really like the unit. I wanted something small that I could cart around data such as games, mp3s and others. I loaded Homeworld on to it last night and it ran surprising well in both OpenGL and Direct3D. As a little game machine, this sucker really shines.
I originally purchased it as machine to play MAME games on and so far this is working pretty well. My only complaint is I can't seem to get sound working with DOS MAME. The Sound Blaster DOS emulation on the SoundMax drivers seems to just crash. MAME32 (the win32 version) runs fine howerver.
In all, I really like the unit. It's a small size, but it's not small in its capability. It's a good powered machine and can play most of the latest games (Half-Life, Homeworld, etc). Quake3 does run, but the 4MB of texture memory really slows it down.
The TV SVideo and composite out is very handy for portability as well--you can take it to people who don't have a monitor handy and use any TV. I've been watching DVD movies on it hooked to my TV and it works very well.
I also like the fact its easily upgradable. It's a Socket 370, so as new Intel Coppermines come out, you can upgrade the processor easily. IBM is also producing newer small drives with larger capacity so it would not be unreasonable to throw a 24GB drive in there in the next year when one ships.
I'd recommend it for someone looking for an additional PC to their current one that doesn't take a lot of space and is easy to pack up and move.
I'm a huge fan of Total Annihilation actually and would love to play it online more often. But I had the same problem--it didn't work through masquerading.
The entire reason the majority of Win32 based games is they depend on DirectPlay. To put it bluntly, DirectPlay is probably the most badly designed protocol I've ever seen.
It has no concept of firewalls, it opens up random port numbers and does double connections between hosts. Its just evil badness.
I've searched and disassembled and tried to figure out how it works so I could write an ip_masq_directplay module for the kernel, but I couldn't find any decent specifications.
If DirectPlay supported something like SOCKS, this wouldn't be an issue.
I eventually gave up on playing directly, but there are other solutions to play the game online:
1. MPlayer is a free service and they use a front end to the game. You can play matches with TA on MPlayer. They overload the protocol that TA uses and work fine through Masquerading.
2. Kali works prefectly with Masquerading. For TA, Kali emulates itself as a IPX driver that DirectPlay runs over (I believe). Kali works with just about everything. It was also nice to see Kali fire up and immediately tell me I was using NAT and figured out its translated address automatically.
I gave up trying to play TA on Boneyards. I emailed one of the guys at Cavedog (Rick Lambright) and talked specifically about NAT issues. We talked about TA and its dependancy on DirectPlay and that its pretty much screwed in getting it fixed. Kingdoms suffered the same fate.
Cavedog has been disbanded (or extremely downsized) so I'm not sure what the status would be now if anything can be down.
The best solution is to convince someone at the assimilation headquarters at Microsoft to add NAT support (or something like SOCKS) to DirectPlay. If that was added, it could retroactively make ALL DirectPlay games work.
So, how do I get an honorary degree in Quake or modification design and implementation? :)
Finally someone has pointed out the number one flaw in the majority of RTS games today.
I can't stand Starcraft's user interface. Limited queuing, no way to order patrols, etc.
There is one game that got the interface and unit AI right: Total Annihilation.
Total Annihilation's user interface featured unlimited command queuing (movement, building, patrol, everything could be queued!) and intelligent units. Construction/repair units on patrol would automatically repair anything they came across (for example, have a few construction planes patroling over your ground forces and they'll happily repair as needed without your direct intervention). Units on the move would take pot shots at any enemy units they went by--something StarCraft can't figure out what to do. StarCraft Terran marines will run RIGHT BY enemy units and completely ignore them until they finish their "move" command.
In StarCraft, I felt the interface design was done that way to limit my ability to control the game. I felt like I had to push too many buttons to get anything done. In TA, I felt like a commander. I would tell my units "do this, go there, build this, blow that up then go on patrol" and they would just go do it, and do it intelligently.
I can't STAND any RTS that doesn't have a command interface with the depth that Total Annihilation had. Homeworld came close, but its nature was such that command queuing wasn't important.
Really? The Abyss is one of my favorite movies of all time.
I found the extended laser disc version of the movie was astounding with the revised ending. The original movie that was cut for time had a really quick and rushed ending.
I'll have to check OSC's novelization out.
I've only read a couple of his books: Ender's Game and Wyrms. Wyrms was really strange--it felt like some sort of writing experiment with weird SciFi plots. Didn't read well for me and actually turned me off reading most of Card's other works.
I've avoided the sequeals to Ender's Game because I felt that the story ends really well as it does in the original novel. Sure, it's nice to see continue on and see where the characters go and take us with them, but after the double-surprise, I was left pretty fulfilled.
> Try using pre-GPL GLQuake1 with anything other than a 3Dfx board.
:)
Yes, the old GLQuake code is kinda broken. But when I wrote it, the ONLY hardware solution was a 3DFX board for Linux! That was two years ago.
You can get glquake.glx to work, but you have to screw with it a bit. I was amazed glquake.glx worked since I wrote the glX version without a proper glX renderer (just a Mesa 3DFX in a window hack). There is a glibc version on the Linux Quake Boxed Set from MacMillan.
Of course, now that we've released the source, you should be able to get glquake.glx running in no time.
We thought long and hard about CD Key issues before we decided to go with them. With a game like Quake3: Arena where multiplayer is an essential focus of the game--protecting against unlicensed use is a necessity.
I'd like to address some of your points directly tho.
1. The authentication code only denies when we are sure you aren't using a valid key. If the authentication server can't be reached, we allow the player on. We only deny when we're sure you're not legit. This may allow some unlicensed people to play, but overall the idea is to only annoy (and mostly deny) people who didn't buy the game.
2. Stolen keys can be a problem. However, we have a pretty long key string and the chances of guessing (generating) one are several billions to one. The biggest concern I have is people ripping open boxes in stores and writing down keys (it happened with Half Life). I think there's a return policy for that. Activision would have more information about that.
3. Yes, it can be viewed you are mostly at the whim of the producer. It is our game and you license it, not purchase it from us. You get unlimited play when you spend that one time purchase fee.
In regards to LAN play, no keys are used when playing on a local LAN, so you can spawn LAN games with your friends.
CD Key systems are a necessary evil. I'd wish we could go without one, but in the era of digital copying and licensing, it's one of the best solutions out there right now.
Honestly, I think key based solutions for network specific software (The keys in Q3 are only used in multiplayer) is probably the way the future is heading.
DIVX is an interesting comparison. The problem with DIVX is that it would track much more general information that we can with CDKeys. DIVX would tell them not only that you watch movies, but what movies, when and how many times. With CDKeys, all we know is that you bought our game and play it sometimes.
As for privacy issues, sites like the CLQ, http://www.theclq.com, do much more tracking than CDKeys do. They poll all the servers everywhere and keep track of players and generate stats. We don't have any ability to attached a CDKey to player name (the name is not sent with the authorization request).
I will agree that the privacy issues with unique identifier (key) based systems can be a little scary. We'll do our best to make sure that our system is used for what its intended for--to stop people from stealing our game.
Is there hardware OpenGL support on the Alpha? I am planning on supporting it as a server platform, but unless you can get hardware OpenGL working on it, there's not much point in compiling a client.
I have SMP code written (and it seems to work well) but there isn't any SMP support in the 1.07 binary.
:)
When adding thread support, linuxquake3 became dependant on libpthreads. I didn't want that dependancy since I found a binary linked with glibc 2.0+libpthreads doesn't run on a glibc2.1 system+libthreads.
The SMP code is still a tad buggy and I need to do more testing on it.
I may distribute a seperate linuxquake3-smp binary in future builds. I'm just worried that I can't build a universal SMP binary that will work on glibc2.0 and 2.1 systems. Bummer.
eh? All my tests show 1.07 is very nice about using CPU. I have a server running on my gateway Linux firewall box. With eight players on it, top reports:
21369 zoid 12 0 14640 14M 816 R 0 69.4 20.3 473:39 linuxquake3
So it's using 70% of the CPU for eight players (the box is a lowly P2-233). When there's no one on it, it consumes very little CPU.
I'm curious as to how you are running the server. i have seen problems where people use nohup to run it and it gets confused when stdin is closed (you log out) and ends up spinning on the select for stdin. Thought I fixed that tho.
I run all my servers under screen so I can get quick console access to them from anywhere.
An important thing to know is that the ping time as shown in the game does include your frame rate. If you are getting 20fps, that's 50ms added to the trip time to the server. Add a good 30ms to get over a WAN link and you're sitting at 80ms.
But if you are getting 100fps (not unreasonable, I get 100fps pretty consistently on my Voodoo3 on a P2-450), that's only at most 10ms added to the trip time.
This patch was fixed in version 3.17 of Quake2 and all following releases and in version 2.1 of QuakeWorld and all following releases.
It was a piece of test code that got left QuakeWorld (and Quake2 inherited in the code base). QuakeWorld was never an "official" prouduct--it was only a test platform for new networking ideas such as prediction. As soon as it was identified, both games were patched and new versions were made available.
The exploit page you cite lists Quake1 (regular Quake) as vulnerable, which is bogus since Quake1 doesn't even have rcon facilities. It also states it isn't logged which is false since every rcon prints out on the console with the address it came from.
Root compromise? Any decent sysadmin would never run a Quakeworld or Quake2 server as root to begin with (the servers do not need special privledges).
This issue was dealt with quickly and appropriately.
A P233 with a Voodoo1 is pretty low end. But I'm glad you got a good game experience from it. That's why there's all those tuning options in the graphics menu. :)
Q3A is not a completely multiplayer game. The single player game (not seen yet) can be compared to something like Mortal Kombat--progressive deathmatch against bots. We'll see how it turns out.
I have tested beta NVIDIA RIVA TNT/TNT2 drivers on a TNT. They work, but do not use direct rendering or support GL_ARB_multitexture or compiled vertex arrays--pretty much a triple whammy to hurt performance. It is difficult to get a playable game out those beta drivers. This is unforunate.
The Precision Insight guys are working on direct renderered OpenGL pipelines in the future (XFree86 4.0). Hopefully we'll see support for TNT/TNT2 soon.
Hardware 3D support under Linux is just really starting to heat up. I'm hoping that by the end of the year, Linux will be a leading contender in the realm of hardware accelerated OpenGL workstations.
1. There isn't a current framerate counter. You can use 'timerefresh' to get a guess based on the current position.
2. Because you have vsync on. Turn it off. Quake3 has renderered its pass and is waiting to for the vblank interval to switch buffers. You can turn off vsync by doing this in the shell:
export FX_GLIDE_SWAPINTERVAL=0
3. Quake3 is a _lot_ more demanding than Q2. It pushes about five to ten times as many triangles as Q2 did. Use "fastest" in the video configuration along with r_lodbias 2 in the console.
4. This 'faster' you are seeing is vsync.
5. Great! The only real problem people are having is that Q3 blows up if you don't have a 16bit depth on the desktop. I'm going to revise this in the next test relesae.
Theoretically, yes. But you need a "real" glX library on the Linux side to forward it. Mesa doesn't seem to do this right.
:)
I have an SGI O2 and tried it, but it didn't seem to work. This is obviously an unsupported feature.
Linux Q3Test is an OpenGL glX based application, so they should work if hardware acceleration is enabled. Full screen play may not work unless the X11 Servers supports the XFree86 VidModeExtensions.
:)
When the Linux Q3Test is out, give it a try and lemme know how it goes.
I haven't tested the Banshee. I'm not sure if it will work. Depends on if Daryll has finished up the Glide support for the Banshee. I don't have a Banshee to try it out on. :(
Voodoo2 is certainly supported. You don't want to play in a window on a Voodoo2--it's fullscreen only really (which is a good thing). When I'm playin...err testing, it's on my Voodoo2 under Linux.