From quakeproplus@hotmail.com Thu Jun 27 18:30:14 2002 Date: Tue, 25 Jun 2002 10:56:44 +0000 From: William B. To: jpg@ai.mit.edu Subject: Mr Grossman #2.. Mr. Grossman, "But it grieves me to hear that you're motivated by credit. From the very first day that I started tinkering with QuakeC my one and only motivation was a love of the game and a desire to make it more fun for myself and for others. Credit, of course, is nice, but it should not be the reason that you do what you do." In 2000 when I encountered multiplayer Quake for the first time I and became passionate about the game. My motivation to improve the the engine was in the interest of keeping the classic Quake not only alive but to also inspire people who have never played Q1 before to take interest. I actually recall going to your Proquake website before starting work on XQuake/QPro+ and reading: "ProQuake is the first modification to the quake source which is specifically intended for intense deathmatch play. You won't find spiffy new graphics, cheats, changes to the physics, or features that work "most of the time". What you will find is a rock solid set of enhancements to unmodified netquake. Things that quake should have had from the get go.. like precise aim. Small, simple changes that improve the quality of netplay enormously." This explanation of Proquake was one of the things that inspired me to think about a different type of Client. I pictured a client like Proquake not onlywith a rock solid set of ehancements without cheats, changes to physics, or features that work "most of the time," mixed with intense visual graphics, sound quality, music support, cheat detection and graphical FPS variables. I was relieved when you contacted me and seemed excited about the XQuake/QuakePro+ project because I was using your source code as the backbone for my project. I also had much respect for your efforts with Proquake and the CRMod and because of this was hoping to work with you not against you. When you requested the source code I did not feel the core work had been nearly completed nor did I feel the XQuake/QPro+ binaries had been made publicly available long enough for people to recognize the features to be from the XQuake/QPro+ project. I feared upon immediate release of the source code all the best features would be immediately assimulated into Proquake rendering my client unneccessary and not to be desired. I was concerned that Without this demand for my client it had no chance of successfully getting off the ground and making an impression within the Quake community. A funny story of how I got hell bent on making nice graphics in XQuake had to do with how much time I spent playing Quake. My friends and family naturally wanted to see the game that captivated my interest for so many hours of the day. I had an epiphany of what they would witness. A bleak looking game that was 6 years old with muddy graphics and shit for sound quality and no music support. Not a very impressive game when compared to the more mulimedia oriented games of today. What people couldn't tell from just looking at the game was the physics and maps in Quake was very balanced and the game was not only fun as hell but served as a good tension releaser at the end of a long day. No longer wanting to be embarrased by spending too much time playing a game that looked as dull as pac man I decided a face lift didn't seem like a bad idea. Just for the record cheating has always been a serious issue with me. When I started this project I came up with the following guidelines on what modifications were acceptable and which were not. The XQuake definition of cheating modifications: 1. anything that allows enemies or powerups to be seen around corners, through walls, or in shadows. 2. anything that assists with aiming, dodging, or gives spawn time information (powerups/weapons/armor) 3. anything that changes shadow casting or changes player/model brightness amongst shadows. 4. anything that reports false information to the server (i.e. fake ping). The XQuake definition of permissible modifications: 1. Visual enhancements to the engine, lighting, models, and maps which do not provide an unfair advantage. 2. Performance enhancements which increase fps or lower ping times. 3. Fixes which improve accuracy, smoothness, and game play - such as precise aim, centered shaft, improved packet handling. 4. Enhanced features that bring Quake to par with the latest First Person Shooters - such as fog effects, 24bit textures, music support, glow effects on some models, adjustable max fps, etc. "Under which section of the GPL, exactly? Am I missing something obvious here? I've read the GPL from start to finish three times since receiving your email because I couldn't remember the section you're describing. I still can't find it." I apologize I probably mislead you directing you to the GPL to get details. Please refer to the documentation located here: http://www.gnu.org/copyleft/fdl.html "Your specific examples are poor: - I first saw RCON in q3, and I think q2 had it too. It would be redundant to acknowledge Id for this.. etc" I wasn't relating to Q3 or Q2, but soley Q1. When a person(s) has publicly released binaries with novel features in the Q1 engine they are entitled credit for their contributions. The person(s) are entitled to recognition even if you recreate or make better the same feature(s) without looking at their source code. If you recreate the same feature unknowingly that someone else has created first in another binary release, then your are still obligated to give the appropriate credit once you are made aware of the oversight. "In any case, I'll be up front with you and tell you that there are two objections I have to your work on xquake: 1) Your refusal to release the source code" I will be releasing the source code once I've revised it based on the Proquake 3.20 source code. I would like your support in making XQuake compatible with your secured dll file. In exchange for your support I will agree to run by all new additional features (and previous features if you require) with yourself for examination before making them publically available. If you find the new features questionable then we can discuss it. If there's a difference of opinion I will either a. terminate work and eliminate the feature or b. Modify the feature until we both reach consensus to support it. "I've already talked about this; I don't think I need to say more other than that I knew exactly what John Carmack meant in his second email. 2) Your programming abilities" If a majority of the people are using my client, then my abilities as a programmer has been justified by producing for people a product they have chosen to be of most service to them. I assure you there's nothing in XQuake that is going to jump out and bite people in the ass when they arent looking. I also do not assume responsibility for being the the only Q1 client provider. People have a choice. Now that the XQuake source code is going to be publicly available people will provide me with bug reports, code changes/fixes and feedback about code that is in need of work. In regards to this, while I was working on the secured client/server code, I resolved to add the secure client/server code to the latest versions of Proquake. This way people would have a choice to use your unmodified client or my own. I also resolved if I got enough request to support additional clients I would have supported them as well. I made this decision long before I heard you also were working on a secure client/server for Proquake. I hope this further clears up any differences we have, and I look forward to working with you in regards to the secure dll file. -Bill _________________________________________________________________ Join the world^Òs largest e-mail service with MSN Hotmail. http://www.hotmail.com