Setting aside my comments about not being too surprised (give enough users/hackers enough time and a jucy enough target/challenge) - my big questions is this:
What, if anything, will Blizzard do in the form of an 'official response' that acknowledges the cheats and lets the online community know how it will be dealth with?
As fellow slashdotters probably remember, I wrote an article on online cheating last june that was printed in Game Developer and posted to gamasutra.com
I asked people at several companies if they would talk about exploits that had occured in their games. One of those requests went to Blizzard, asking if I could talk about what happened to Diablo 1. Now at that point in time (last spring), the cheats and exploits on Diablo 1 were well known and old news. Yet the response I got back from Blizzard was (this obviously is not the exact quote) "No - we can't talk about anything regarding any cheating on any of our games and if you did say something too specific we'd strongly discourage you as we might get mad". For the record, in the article, I discussed the various cheats in my own games (Age of Empires series) most of all.
Now, this was actually about par for the course - for every developer willing to talk, there were ten that were in public denial mode. And as you might have guessed, it's a peeve of mine. Wishful thinking won't make anything go away and it only can further hurt the honest players.
I do think the climate is shifting, and that users are becoming less tolerant of 'head in the sand' tactics by developers and publishers.
I think I got Wall Ball about 7 years ago from a thrift store or flea market. When the crash of 83 occured I had a 2600, but was really into my 800. About 1989 I bought a 2600 console at the Monthly electronics and computer swap meet, with the intention of getting 'Adventure' I wound up pruchasing about 150 games before I finally got a copy Adventure. By that time I was hooked.
I've done some 2600 and 7800 programming, but don't have much time for it these days.
I've there for the EMU scene. I've dumped the EPROMS directly of my 7800 prototype games.
I also tracked down one of the original designers of the Magnavox Odyssey^2 and got him to agree to share original technical documentation on it (did you know it is powered by the Intel 8244 and 8048 chips - the former of which Intel denys ever existing), which I then forwarded to the fellow (Dan Boris) who was working on the Odyssey^2 emulator (and stuck at the time).
A few other posters here mentioned they have seen collections that dwarf that one. I'm one of those people with such a collection. Alibet the focus of mine has been mostly pre-NES games. In fact, I have a few pictures of my "core" collection up on my web space.
A rough inventory, not counting the consles themselves:
Atari 2600: 475+ different games, 1000+ "extra" (duplicate) cartridges
Atari 5200: 60+ released games. 100+ extras
Atari 7800: Everything ever Released (60+ titles), shrinkwrapped, times 3. 150+ extras
Colecovision: ~100 different titles, 300 extras
Intellivsion: ~85 different titles, 100 extras
APF M-1000/Imagination Machine: 10 of 12, released,5 extras
Fairchild Channel F: 23 of 26 released, 20 extras
Vectrex: 15 games, Multicart
Emerson Arcadia: 10 games
RCA Studio II: 8 games, 6 extras
Magnavox Odyssey: 5 complete games, 20 circuit boards
Magnavox Odyssey 2: all 50 US released titles, complete, 150+ extras
Phillips Videopac: 66 of 70 releases, Complete Chess and MS Basic modules, 30 extras.
and some more recent items:
Sega Master System + 40 games
NEC Turbographics 16 & Turboexpress + 20 games
Sega Game gear + 20 games
Sega Genesis + 80 games
JVC X'eye + 15 CD games
Atari Jaguar: All cart & CD releases through '99, complete.
and I am sure I forgot something there.
Oddly enough: not a single Nintendo until the N64.
In some ways, collecting for these systems is harder as I wasn't able to uses places like Funcoland and Blockbuster to get the collections going. Instead I've picked them up from flea markets, garage sales, and lots of trades and ebay.
What gets interesting about collecting pre-NES games is the distribution curve. The first 70% of the released games catalog isn't too hard to come by.. Then it starts getting progressivly harder and hard to find the more rare items. For example, Most Atari 2600 games can be had for a few dollars, but recently a boxed complete "Chase the Chuckwagon" went for over $1,000 on eBay. For collectors like myself, things slow down after a while as items you don't have don't come available very often, and when they do, you are bidding against other collectors in the same boat.
The ones that are the rarest are usually the ones that (a) sucked and didn't sell well, or (b) were released late, near the video game crash of 1983.
And that doesn't even begin to take into account unreleased and prototype games. For example, I own two unreleased Atari 7800 games: KLAX and (NTSC) Sentinel. A total of 9 and 8 copies respectively are known to exist. In 5 years only 1 of the 17 has been known to change hands.
After the NES era, companies like Nintendo and Sega exerted much more control over the manufacture and distribution of games for their consoles, and as a result you have fewer unbelievably rare released games like 'Chase the Chuckwagon' and 'Quadrun'. The few unlicensed NES games such as the color dreams stuff and tengen tetris are there though and command the rare premium.
For me it has been more fun colelcting pre-NES games because the industry was so new and didn't have the rules that it has now.
Finally, There are days I am tempted to turn my back on my collections and sell it all off. I can't help but wonder what sort of adventure that would be, and just wast sort of price it would fetch.
.sig? I don't need no stinkin'.sig
Re:Minor Rant - Conversion of options on buy up.
on
Sizing Up a Start-Up
·
· Score: 1
The way it's done, and this is just my very limited understanding so it could be 100% wrong, is that you are replacing shares of company X with shares of company Y.
The sale price of the company is what drives the whole thing. Say company C decides to buy company XYZ for 100 million dollars. Doesn't matter if the purchase is done with stock or cash, company XYZ did something right to become worth $100M.
If company C paid cash for XYZ, every 'issued' share of company XYZ stock would be worth (Purchase price) / (number of shares issued).
Lets say in this case, there are 2 million shares of XYZ stock. Most is owned by the founders, but some has been allocated for employee options.
Now this is where I am not very clear, but I think that options grants are considered issued at the time of the grant. That means the total # of shares in the grant have to be accounted for in the company sale, even if they all have not been vested. This may not always be the case though.
Anyway, in the XYZ example, at the time of purchase its agreed by both parties that a share of XYZ stock is worth $50 (100M / 2M).
Now the next thing to figgure out is how much each share of company C stock being used to purchase XYZ is worth. This probably depends on the specifics of the deal, but I'd guess that since XYZ stock is pubically traded, they agreeded that they would use the stock price on the sale date. Say it ends that day at $75.
Now you have 1 share of C stock buying 1 1/2 shares of XYZ stock. ($75/$50 = 1.5 shares conversion) So this ratio is applied to all of the issued XYZ stock. A person owing 100 shares of XYZ now has 66 shares of C and $50 cash (the 2/3 fractional share, assume some sort of terms were written into the deal to take care of the fractional shares).
The same thing is applied to stock options, so that two values stay constant as of the date of sale: 1) the discount on the exercise price and 2) the total value of the option grant.
On the day of the sale, an employee had a grant for 300 shares of XYZ at $35. For purposes of sale, XZY stock was valued at $50, so the stirke price was at 70% of value, and the total value was $15,000 (300 * $50) and the employee would have paid $10,500 to exercise, netting him a profit of $4500. Note that since XZY stock isn't traded, the options were issued with the idea that either an IPO or an pruchase event was a future possibility.
Convert the numbers as discussed above, replacing each share of XYZ with 2/3rds (1/1.5) share of C and after the sale the employee has a grant for 200 shares of company C stock at $52.50. If exercised, the total value is $15,000 (200 * 75), at a cost of $10,500 for a $4500 profit -- same as it was before, just under new ownership. Note that now the employee has tradable stock and is happy that his options are worth something.
Purchasing with stock does give the buying company an advantage because they don't have to hand over the unvested stock on the day of the sale, and it gives the employees with options a reason to stick around after the sale.
I'm sure the specifics depend on the deal, and I don't really know what is the "norm", but I think it pretty much goes this way for being purchased by a publically traded company.
The basic principal is still the same - stock represents ownership in the company; and when a sale is made, the 'owners' are compensated.
With a privately held company doing the purchasing, using stock to purchase another company is trickier. If you own shares of a public company, you can do with them what you wish, and liquidate them for cash at any time though a well understood means.
With stock in a privately held company, what $$$ you can get for it totally depends on convincing someone to buy it from you and price they agree on. And often when an employee has privately held stock from his employer, they have an agreement that lets the company buy the stock back at a price based on the current company valuation in the employee leaves the company or other events - they often have the right of refusal if you try to sell to someone else (they have to pay the employee the offering price if the offer is bona fide to get it back usually)
The whole "IPO & Stock Option" thing has been blown up in our culture as some sort of new lottery. There is nothing wrong with being at the right place at the right time and finding yourself a stock millionaire before you are 40, even though you aren't even in management. Yet, to listen to the media and uninformed, everybody and their brother was busy digging in and cashing out while you were just stuck plodding along in your job. We (most of us here anyway) know the true picture is much more sobering. So why, I ask, is (was) there so much effort spent on promoting this "ideal" of the young stock-option millionaire who works like mad for a few years and then cashes out? And why is (was) it sold to people as "everyone else is getting theirs, what about you"?
Now I put things in past tense due to the (media-led) backlash. (I say media because they now seemed disproportiantely fixated on.com failures), yet I'm left wondering why this image was held up high in the first-place. To motivate the rest of us? To make people in more common jobs feel inadequate? As a backlash against the downsizing and disposable employee era of the early '90s?
And what ever happend to promoting the virtues of meaningful work and a balanced life - something most people can achieve? Ahh, they must be too boring and not sexy enough.
Anyway, enough pondering. Now I want to point out that there is an alternative upside to stock (options) other than the much-worshiped IPO.
And that is to be an employee of a small company that will never go public, but is likely to be bought by a publicly held company.
That is to say, a company formed to fill a nitch - usually requiring some sort of industry specialization and a need to be profitable sooner than later. As such a company builds products and technologies that are well recieved in their corner of the marketplace, they come to the attention of the industry giants, who often seem to be on the lookout for an infusion of fresh blood and product technology.
Consider Cisco, a company that has fed itself a steady diet of small companies for the last few years. Most of those acquired companies were probably never to going to IPO in the forseable future. Yet the employees of those acquired companies that had stock & options suddenly went from having privately held stock with nebulous value to publicaly traded stock & options with a clearly defined value.
In such cases the usual procedure is correct the quantity to reflect the buying companies stock price (note they often purchase with stock instead of cash), but keep the ratios intct
For an example if an employee of a start-up got 10,000 options priced at 5 cents each, and at the time of purchase, the company stock was valued at $1, purchased with stock by a company who'se public stock was trading at $50, the employee would find themselves with options for 200 options priced at $2.50. The point here is that employee's company never IPO'd, yet the stock became worth something.
So my point is that in addition to asking "will this company make it to IPO?", the books author should have also added "Will this company reach a position where a bigger company will want to buy it?"
I remember the ZX-80 (white case, 1K RAM) being sold as a kit, but I could of swore that the ZX-81 was sold already assembled here in the US. The Sinclair ZX-81 was obviously before they cut the distibution deal with Timex.
Can anyone shed some light on this bit of computer history trivia?
The Atari 2600 has a total of 39 BITS of what would qualify as Video RAM, and that's if you have loose qualifications. Note that's BITS and not BYTES. or put another way, just slightly more than one single 'int' register on a current CPU.
The RAM is RAM for everything, including the stack. Many games for the Atari 2600 never went more than 2 call levels deep on the stack.
The Program address space was 4K, or 4096 BYTES, and read-only.
The sound chip had 2 channels (voices).
Each sound channel had a 5-bit frequency range, or only 32 different possible frequencies. However there were 8 modes that could adjust the sound channel operation, allowing for a larger number of actual output frequencies.
The system was capable of displaying 128 different colors: 16 hues, at 8 intensity levels each.
Try playing a game like Pitfall 2, and look at the graphics, the game world size, and especially the music. Then ponder what it took to program such a game.
As someone who has regularrly used both Micrsoft's Visual C++ and Borland C++ Builder for the past 4 years, I can answer in word: NO
Let me sum it up this way: If it was all about "Programming as a pure art form" we wouldn't ever be using Windows, X Windows or any other layer between us and the computer. We would write our own display drivers, window managers, (G)UI stuff, etc, etc ad nausum...
It has very little to do with the tools/languages/compilers and an awful lot to do with the programmer and his circumstances. It sound like that in your situation you are being pushed too fast, regardless of the tools you have at your disposal.
And that's all each RAD product is: Another (alibet very powerful) tool there for you to choose ot not choose.
In the past 4 years, I've written some code that I believe was fricking awesome code. Some of it was in Assembler, some in straight C++, some using C++ builder. And in the past 4 years I've written a smaller amount of code that would qualify as anti-awsome. Some it was in straight C++, some in C++ builder (None in assembler,;-) The choice of development tools was a non-factor.
Borland's development environment and components don't take away my opprotunities for creative expression in code; rather they take away much of the drudgery. I wrote my own window-button-click code back in '89. I got tired of re-writing it by '92. Now I'm glad it's taken care of --- UNLESS- I have a reason to monkey with it - in which case the VCL lets me jump in and do just that. RAD never took away the cool/unique parts of the appiclations I wrote, they just let me spend a larger percentage of my time budget on them.
As a person experienced with both (Borland's) RAD development, and the more traditional approach I 110% agree with the following statement:
Apart from the Delphi developers, Kylix also brings hundreds of thousands of applications, built in Delphi today, ported with Kylix tomorrow. On the first night that Kylix ships, we'll probably see more new Linux applications than we've seen in the past few months...
Kylix will be a huge boon for Linux by providing the reason that will give non-geek users the opprotunity to try it: applications that mean something to them.
Most modern games use an engine design where below a certain level, AI players are no different from Human players. With that, it would be much more work and trouble to create two versions of the game.
I've never really heard of a case as you described where the initial release of a game was delayed.
Anyway, most people like the idea that they could go online later even if all they plan to do is play single player for now.
Hmm.. I don't think that was ever possible in either AoE or AoK. The commands to the transport woulr be rejected because you aren't the owner of the transport. In AoK it would be because the Transport isn't your or an Allies.
You need to consider who I was writing the article for... other Game Developers. The social aspects are something beyond the control of the developer. One the other hand, release a multiplayer game that is easy to hack, and you have a disaster (fiscal/reputation/etc) for the developer.
Heck... Look at eBay and their feedback system. As much as they have worked at it, there still are problem users who mess with the system.
Oh wow. I just got back into Dallas from Siggraph 30 minutes ago and discovered my mailbox filling up with emails from the/. side-effect. Just a couple quick comments on the discussion....
0) This article first appeared in print in the June 2000 Issue of Game Developer Magazine.
1) I didn't come up with the title. I honestly couldn't think of a catchy title, so I let my editor come up with one. As far as nit-picking over the useage of "Hacker" and "Cracker" - don't sweat it. Yes, I know the difference.
2) The most important point in my mind is that multiplayer cheating hurts other human players and is an order of magnitude different from the things we do when playing solo (single player) games. When a person realizes they are on the receiving end of a cheat - that another human being wants to do that to them - it's a hugely distructive feeling.
2a) People walk away from games and badmouth them to their friends when they think they are getting screwed. The better selling your game, the more this matters.
3) Many people have been emailing me and posting about things I didn't cover. I really appreciate it though I do already have some of it. When I wrote the article I had to keep it to about 7000 words, so I only got to cover about 1/2 of what I wanted to. Given the reception it has received, there will likely be a second article on the topic.
3a) Keep the comments and emails coming - I will try and respond to all.
That's all for now. I really appreciate everyone's input and thoughts on the matter.
Having met Woz in person (at the Apple ][ 20 year reunion, hosted by Jon Romero and Ion Storm), I can verify the most surprising aspect of Woz is his personality. A nicer, more sincere, yet fun loving, life enjoying, mischevious twinkle-in-his-eye uber-geek does not exist. Most of the people I know that have technical skills that approach "build their own arcade machine using only IC's and radioscrap" suffer from lack of human interaction skills and life balance. But not Woz. I think it's impossible to hang around him for any length of time and not go "Hey! what a cool guy".
I'm not an expert on MP3 encoding, but I am in the midst of learning what I can in the interest of archiving my personal CD collection with the highest practical quality.
Take a look at this link:
http://www.r3mix.net/
Basically the author encodes various songs and test.wav sounds with different encoders/bitrates and analyzes the playback as compared to a 44khz.wav file of the original.
The results show a range of differences between encoders. The most popular encoders (xing), which I had been using myself in Music Match (latest version replaced it w/ Fraunhofer I think), just whack off all the frequencies above 16K hertz, no matter how high the encoding bitrate. As I understand it, that is just an arbitrary decision made by whoever implemented the encoder. If you encoder goes to 22Khz, is the Kenwood technique really necessary?
Another very interesting surprise was the finding of a bug in the latest Fraunhofer encoder as used by MusicMatch. Using the "Very High" quality setting (most people don't - it drops encoding to about 0.2x speed) the results were much worse than low bit rates at lower qualty.
What we have is no real consistancy in MP3 encoding between different sources. Different people use different rippers, encoders, and bitrates. I can download the same song 5 different times from the net, and I'll bet the files won't be identical.
And therein lies the problem as I see it -- this processing approach that Kenwood is working is on is going to vary in effectivness depeding on the encoding of the MP3 in question.
One thing I wish was done, was for there to be fields in the MP3 ID3 header for:
1) Encoder/Software Name
2) Encoder/Codec version #
3) Encoder setting (Bitrate + options)
These would be a great use in determining quality at a glance, as bitrate alone doesn't tell me that much.
The truth is most people I know use MusicMatch at about 160Kbps on Fast mode. It's a matter of convience - being able to just stick the CD in the drive, and in 10 minutes it's ripped using digital extraction from the CD. I've done it myself on about 1600 songs from my personal collection of 1200 cd's.
Now, I'm reaching the point where I can tell the difference between 160k and 192K on some songs. Add to that what I've learned about encoding (and the fact that it's constantly evolviong) and the questions of what to do arises. Should I re-rip my CD's with LAME? (I did that once to go from 128K to 160K and MusicMatch). Should I Wait? Should I just go on?
And finally, I still have this question: What about playback? Is there any difference between playback engines? I've got a RIO 300 w/64 Mb and I use it all the time. If I buy a newer device will it sound better? When I did a JPEG decoder years ago, I put in two options for the IDCT - faster vs higher quality. Not much difference between the two, but some.
I just read the print version of the WSJ earlier today, and their take on it was that Democratic party politics and favors owed to labor unions had a big factor in the issuing of the ruling.
How in the world can unions organize at-home workers (where would they go if they were on strike? to the office?). I have to run right this instant, but can someone find and put up a link to the WSJ story/editoral? I think it adds some insight into the political code being executed here.
I have to disagree with the first part: I don't believe that you can verify that a game is running a specific and trusted executable.
Maybe I'm wrong -- I am not a cryptographer, and don't even play one on TV -- but I just don't understand how this is technically possible. If someone thinks they know how to do this, I'd like to hear how.
Jamie, You are technically correct. A more accurate thing to have said whould have been:
Even if the game executable running is unaltered it doesn't mean damn thing. Someone can still be cheating bigtime.
As a game developer, the underlying issue is that there are more ways to cheat than just hacking up the code. A good game will assume that it is running in a hostile environment and attempt to raise the difficulty and cost of cheating (with an understanding of its vulnerabilities).
...please check out my upcoming article in Game Developer Magazine on Cheating in Online Games. It will appear in the May (+/- 1 Month) 2000 issue (The exact date of publication will be determined when both Alex Dunne (GD Magazine Senior Editor) and I get back from our respective vacations).
(Darn! Of all the days to be gone visiting relatives, there are ~320 posts already - I'm hoping someone still has moderator points left)
The article for Game Developer discusses not only cheating in fast client/server games like Quake and other shooters, but in strategy games such as Age of Empires and Starcraft, Action-RPG's such as Diablo, Massively multiplayer games such as Ultima Online, and others. It also makes an effort to identify and classify cheating efforts from the blatant hacks to the gray-area issues of a game's design. It discusses the various architectures games use, and the inherent strengths and weaknesses in them. It talks about the specifics of how games get hacked, specific counters for them, and the limits therein. It also examines programming weaknesses that can lend themselves to cheating in non-obvious ways. My goal with this article is to provide to others in the game industry a reference to assist them in their efforts to secure their games. (For those interested in my credentials, I've written significant portions of all three "Age of Empires" games, and worrying about cheating and designing counters for them is something I'm paid to do in my day job.:)
With that said, there are four rules that apply to Cheating in ALL Multiplayer games:
1) Despite what you think, someone really wants to cheat bad enough to do it. 2) Despite what you think, cheating in game (insert title here) is possible. 3) Despite what you think, someone really wants to cheat bad enough to do it 4) Despite what you think, cheating in game (insert title here) is possible.
I repeat myself because denying the problem (which many game publishers do) does not make it go away.
----------------------------- In response to various issues raised in the ~320 posts so far, I would like to assert the following regarding online gaming:
Closed Source will not prevent cheating, only slow it down (a little)
Terje Mathisen is correct - it is absolutely impossible to make a completely cheatproof system
This is not a case of "Security Holes" in the game programs, but rather basic aspects of the design of our computers and network communications being used to achieve particular results. To perceive it as such is to promote a fallacy.
You can verify that a game is running a specific and trusted executable. This does not achieve security. You can not verify anything else that is running on that computer or any other computer between you and the other players that passes your communication packets along.
Security through obscurity is not security
John Carmack's post includes pretty much all I was planning on saying about cheating in Quake-engine games and clarifies the misconceptions in many of the other posts. The issues with the Quake Architecture are summed up in his comment: "The cheating clients/proxies focus on two main areas -- giving the player more information than they should have, and performing actions more skillfully. " - What I classify as "Information Exposure" and "Reflex Augmentation".
Information exposure will remain one of the biggest problems for most games. In nearly every game, there is a degree of interpretation in the display of a fixed piece of information. A cheater can alter that interpretation (display something that should not be shown, make bright something dark, make a sound louder, whatever) on his and only his machine without altering that information with respect to the game world it is a part of.
Information exposure does not have to involve modification of game's code, data, or network communications. Passive reading of network packets and key values from another processes' memory space are sufficient to provide a cheater with a significant advantage with some games.
Reflex Augmentation will remain a big problem for games where player's reflexes are an important part. How fast you can move the pips in Backgammon does not matter - it has no bearing on the outcome of the game, or the other player's turn. In Quake or Half-Life, it's all about being fast and accurate; that's why you can never have a fast enough system, video card, or ping. Aim-bots and other proxies will always be capable of passing themselves off as the real thing. The fundamental problem here is the inability to distinguish human inputs into the game from computer generated inputs. Quake server modifications to attempt to distinguish the two have led to the Aim-Bots adding human-style "errors" into their inputs until their accuracy is reduced to just below the statistical threshold that the server will allow. That really good human players may be incorrectly fingered as cheaters only underscores the limits of this option.
Game Design decisions may inadvertently add to the problem and lead to quicker dissatisfaction with a given game. I'll use Half-Life for an example. Let's assume an auto-aim proxy exists for it (I believe it does). Half-Life has a weapon in Deathmatch that has two interesting capabilities (which have a place in normal gameplay): 1) it kills with a single shot no matter how much health or armor the target has. 2) it shoots through walls. I will leave it as an exercise to the reader as to how much less fun the game becomes (became) the day that proxy makes (made) the rounds.
Encryption in communications has some important limitations:
1) Any sort of protocol that involves adding any back-and-forth to complete a single action will raise "ping" times significantly. Games are already struggling to do everything possible to reduce lag. The gaming community would reject adding 250 ms to everyone's ping. 2) Packet loss is accepted for some portion of communications in some action games. Any sort of encryption on those packets has to be able to survive lost packets. 3) CPU bandwidth is limited. Too many cycles devoted to encryption and decryption (especially on the server) will negatively impact game performance. 4) If the end user has access to both the client and server, they can and will be debugged. By very smart people.
Slashdot user 'Pete-classic' touched on one of the anti-cheating efforts that I feel has been under-explored to date: identifying people that cheat at a game and exposing them to the online user community for that game. Being able to record games and play them back from the perspective of other players (as you can in Age of Empires II) brings the ability to audit a game after it is played. While this can't address all possible forms of cheating, it's a good tools for raising suspicion in those cases that it can't outright detect. It's also equally useful for proving that you were beaten by a better opponent.
An opportunity exists for developers to add hooks into future games to assist the user community in policing itself. Imagine if you will, that when your server browser bring up a list of games, next to the net-speed indicator is an indication of the controversy and reputation of the server. Social solutions are going to be complex and take time evolve, but they offer possibilities that programming alone can't.
So much more to say, but I have to sign off now. Thanks for reading and caring.
-Matt Pritchard Ensemble Studios Age of Empires, Rise of Rome, Age of Empires 2: Age of Kings
As I type this, I am using a Linksys ProConnect 4-Port CPU switch which IMHO is a real nice digial switch. (I know IS guys who hate Linksys so I expect to get flamed any second now).
The really nice thing about it is that it lets me mix and match my older and newer components. You can connect either an AT or a PS/2 Keyboard to it, and each computer can connect via its AT or PS/2 keyboard connectors. The same is true of the Mouse, though you have to connect a PS/2 mouse to it.
My setup has the following:
Human Side: MS Natural Keyboard (PS/2), MS Intellimouse (PS/2), and 19" Radius Trinitron Monitor.
Computer Side: 486-133: AT Keyboard, Serial Mouse P166MMX: AT Keyboard, Serial Mouse P233MMX: AT Keyboard, PS/2 Mouse P2-450 : PS/2 Keybaord, PS/2 Mouse
The switch allowed to get rid of all the extra keyboards and monitors and really reclaim a bunch of space in my office. Nothing is my usage has suffered.
Nice things about the switch:
1) The image quality on the monitor is very nice; it supports up to 1600x1200 (My wife got me a 19" Trinitron monitor for my birthday, so I have a good monitor to test with). I can tell the quality difference on the cards with fast RAMDAC's and the lousy ones.. it's about exactly the same as I saw using a directly connected monitor. No problems or glitches when switching to machines at different resoultions and refresh rates.
2) You can switch machines from the keyboard with the sequence . or you can push a button on the unit (which also shows you which machines are active and currently selected) It seems odd, but you quickly get it memorized down to a single motion.
3) Caps lock, Num Lock, (and I guess Scroll Lock) settings are unique to each machine, and when you switch machines, the keyboard is restored to that's machines settings.
4) Been as reliable as my Linux box on the Cable Modem (Both of which helped by being on a UPS)
Odd Things about the switch:
1) I have an Intellimouse hooked up to it, and only the computers that use the PS/2 Mouse connections receive the mouse wheel information. Those with serial connections don't get them. A Call to Linksys tect support said they just didn't include support for that in it.
2) The keyboard sequence to change machines listed in the manual is incorrect. I had to get the correct sequence off their web site.
The price:
When I bought it about a year ago, I paid $200 for the switch. While I was up visiting a friend in Detroit last month, we stopped in CompUSA and saw it for $129, which my friend prompty then bought. (and has had no problems with).
Cable sets seem to be pricy. I bought a bunch of matching, generic cables at Fry's and have had no problems. I think I paid around $12 per 3-cable set.
Issues for the Future
1) There is no sound switching. I have one set of nice speakers to go along with my one Monitor, one Keyboard, and one Mouse. Why don't the manufacturs include support for audio switching as well? To my knowledge, not a single switch brand does this yet. If they think I might want to hear error beeps from the non-focused machine, do they think I'm not smart enough to hook up another set of speakers?
Anyway, I solved this by buying a 4-port Audio Selector at Frys (Sony, SB-A40, $30), but that means I have to reach over and manually switch it.
2) USB support. I'm not sure what technical issues are involved in this, but if Future PC's are expecting USB mice and Keyboards, someone will have to make a switch that handles it. I wonder if it's possible to do mix-and-match USB to PS/2 and AT converting...
3) Given #1 and #2, what about Game Controller support?:-)
I think what is really happening here is that serious CPU Switches (as opposed to those mechanical switchboxes) are leaving the exclusive domain of the IT business users and finding their way into homes and other personal uses. As they make that move, prices are under pressure to go down, and features to go up.
As an industry insider (core developer for all 3 Age of Empires games), I've known for a long time that Diablo II wasn't going to come out this year. There are two reasons for this, and both of them are for the better.
First Reason: Blizzard's Management and operating principial is to not release a game until it is done to a high degree of polish. This includes testing for such hard to quantify things such as "is it fun?" This goal is held in high enough regard by the company that it will allow release dates to suffer for it. Not every game company does this - in fact I would say that game companies that do are in the minority. This is made practical by the....
Second Reason: Blizzard can *afford* to let Diablo II slip. Their previous titles, and the fact that they publish themselves, has given Blizzard an incredible cash flow and reserves. Consider that Blizzard employs around 80 (give or take) people. It would probably be conservative to say Diablo 2 has cost more than $5 Million dollars (so far) to make. Time and time again in the game business, money considerations have forced a game to be shipped before it is finished and polished. Time and money to do it right is a luxury.
What's interesting about the business is that this becomes something of a self-perpetuating cycle: The top selling games are the ones that make the lion's share of the money.. allowing their creators the luxury of not having to make any cuts or concessions in their next game, while the ones that didn't sell well leave their creators in the position of having to do their next game quickly and cheaply.
Another Factor: Content Level Expexctations - these have risen steadily every year. As each year passes, you have to put some x% "more" into a game for it to be received at the same level by the game buying public. Must be a side effect of radiation from ever increasing CPU speeds.
As the costs of making a "Triple-A" (or "AAA") quality game (That phrase is used to death by people in the industry) have risen steadily in the last decade, we are seeing less change in terms the people and companies that make the chart toping games. I'm not really sure if this is good, bad, or just the way it is. So far it's not significant enough to stifle innovation or newcomers, but if development costs keep rising you have to wonder about the future...
Anyway...
With Diablo 2, Blizzard faces a couple of tough challenges:
#1: They have to make the game more resistant to hacking and cheating. This is not anywhere as easy as it sounds or most programmers think. If you are really interested in the subject, I am in the process of writing an lengthy article on the subject of cheating in on-line games for 'Game Developer' magazine, which should appear around the time Diablo 2 is released. (If you really are interested, feel free to email me). Diablo's problems with cheaters were so well known, that it tainted the reputation of the game and sets a high bar of expectations to be met for Diablo 2.
#2: The privacy challenge. It's fair enough to say that every network packet sent by Diablo 2 will be under the microscope of many/. readers. As well it should be. Things like that are not accidental, and it's my strong belief that Blizzard will be much more careful this time.
All that said, I'm looking forward to it. I know many of their guys and they are excellent at what they do. Hopefully, putting their developers on The Age of Kings beta will get us on the D2 beta.:) (It's a sort of tit-for-tat in the Game Biz.. We send them a beta of our game, and all productivity at their officies grinds to a halt for a couple weeks, so.. they are compelled to return the 'favor' and spread the delays around.)
Setting aside my comments about not being too surprised (give enough users/hackers enough time and a jucy enough target/challenge) - my big questions is this:
What, if anything, will Blizzard do in the form of an 'official response' that acknowledges the cheats and lets the online community know how it will be dealth with?
As fellow slashdotters probably remember, I wrote an article on online cheating last june that was printed in Game Developer and posted to gamasutra.com
I asked people at several companies if they would talk about exploits that had occured in their games. One of those requests went to Blizzard, asking if I could talk about what happened to Diablo 1. Now at that point in time (last spring), the cheats and exploits on Diablo 1 were well known and old news. Yet the response I got back from Blizzard was (this obviously is not the exact quote) "No - we can't talk about anything regarding any cheating on any of our games and if you did say something too specific we'd strongly discourage you as we might get mad". For the record, in the article, I discussed the various cheats in my own games (Age of Empires series) most of all.
Now, this was actually about par for the course - for every developer willing to talk, there were ten that were in public denial mode. And as you might have guessed, it's a peeve of mine. Wishful thinking won't make anything go away and it only can further hurt the honest players.
I do think the climate is shifting, and that users are becoming less tolerant of 'head in the sand' tactics by developers and publishers.
I'm waiting to see what happens next.
I'd ramble on, but I have to leave.
-Matt Pritchard
I think I got Wall Ball about 7 years ago from a thrift store or flea market. When the crash of 83 occured I had a 2600, but was really into my 800. About 1989 I bought a 2600 console at the Monthly electronics and computer swap meet, with the intention of getting 'Adventure' I wound up pruchasing about 150 games before I finally got a copy Adventure. By that time I was hooked.
I've done some 2600 and 7800 programming, but don't have much time for it these days.
I've there for the EMU scene. I've dumped the EPROMS directly of my 7800 prototype games.
I also tracked down one of the original designers of the Magnavox Odyssey^2 and got him to agree to share original technical documentation on it (did you know it is powered by the Intel 8244 and 8048 chips - the former of which Intel denys ever existing), which I then forwarded to the fellow (Dan Boris) who was working on the Odyssey^2 emulator (and stuck at the time).
for the 2600? Yep. The ones I don't have by that manufacturer is Shuttle Orbiter and Out of Control.
A few other posters here mentioned they have seen collections that dwarf that one. I'm one of those people with such a collection. Alibet the focus of mine has been mostly pre-NES games. In fact, I have a few pictures of my "core" collection up on my web space.
.sig
collection closet 1
collection closet 2
collection closet 3
A rough inventory, not counting the consles themselves:
Atari 2600: 475+ different games, 1000+ "extra" (duplicate) cartridges
Atari 5200: 60+ released games. 100+ extras
Atari 7800: Everything ever Released (60+ titles), shrinkwrapped, times 3. 150+ extras
Colecovision: ~100 different titles, 300 extras
Intellivsion: ~85 different titles, 100 extras
APF M-1000/Imagination Machine: 10 of 12, released,5 extras
Fairchild Channel F: 23 of 26 released, 20 extras
Vectrex: 15 games, Multicart
Emerson Arcadia: 10 games
RCA Studio II: 8 games, 6 extras
Magnavox Odyssey: 5 complete games, 20 circuit boards
Magnavox Odyssey 2: all 50 US released titles, complete, 150+ extras
Phillips Videopac: 66 of 70 releases, Complete Chess and MS Basic modules, 30 extras.
and some more recent items:
Sega Master System + 40 games
NEC Turbographics 16 & Turboexpress + 20 games
Sega Game gear + 20 games
Sega Genesis + 80 games
JVC X'eye + 15 CD games
Atari Jaguar: All cart & CD releases through '99, complete.
and I am sure I forgot something there.
Oddly enough: not a single Nintendo until the N64.
In some ways, collecting for these systems is harder as I wasn't able to uses places like Funcoland and Blockbuster to get the collections going. Instead I've picked them up from flea markets, garage sales, and lots of trades and ebay.
What gets interesting about collecting pre-NES games is the distribution curve. The first 70% of the released games catalog isn't too hard to come by.. Then it starts getting progressivly harder and hard to find the more rare items. For example, Most Atari 2600 games can be had for a few dollars, but recently a boxed complete "Chase the Chuckwagon" went for over $1,000 on eBay. For collectors like myself, things slow down after a while as items you don't have don't come available very often, and when they do, you are bidding against other collectors in the same boat.
The ones that are the rarest are usually the ones that (a) sucked and didn't sell well, or (b) were released late, near the video game crash of 1983.
And that doesn't even begin to take into account unreleased and prototype games. For example, I own two unreleased Atari 7800 games: KLAX and (NTSC) Sentinel. A total of 9 and 8 copies respectively are known to exist. In 5 years only 1 of the 17 has been known to change hands.
After the NES era, companies like Nintendo and Sega exerted much more control over the manufacture and distribution of games for their consoles, and as a result you have fewer unbelievably rare released games like 'Chase the Chuckwagon' and 'Quadrun'. The few unlicensed NES games such as the color dreams stuff and tengen tetris are there though and command the rare premium.
For me it has been more fun colelcting pre-NES games because the industry was so new and didn't have the rules that it has now.
Finally, There are days I am tempted to turn my back on my collections and sell it all off. I can't help but wonder what sort of adventure that would be, and just wast sort of price it would fetch.
.sig? I don't need no stinkin'
The way it's done, and this is just my very limited understanding so it could be 100% wrong, is that you are replacing shares of company X with shares of company Y.
The sale price of the company is what drives the whole thing. Say company C decides to buy company XYZ for 100 million dollars. Doesn't matter if the purchase is done with stock or cash, company XYZ did something right to become worth $100M.
If company C paid cash for XYZ, every 'issued' share of company XYZ stock would be worth (Purchase price) / (number of shares issued).
Lets say in this case, there are 2 million shares of XYZ stock. Most is owned by the founders, but some has been allocated for employee options.
Now this is where I am not very clear, but I think that options grants are considered issued at the time of the grant. That means the total # of shares in the grant have to be accounted for in the company sale, even if they all have not been vested. This may not always be the case though.
Anyway, in the XYZ example, at the time of purchase its agreed by both parties that a share of XYZ stock is worth $50 (100M / 2M).
Now the next thing to figgure out is how much each share of company C stock being used to purchase XYZ is worth. This probably depends on the specifics of the deal, but I'd guess that since XYZ stock is pubically traded, they agreeded that they would use the stock price on the sale date. Say it ends that day at $75.
Now you have 1 share of C stock buying 1 1/2 shares of XYZ stock. ($75/$50 = 1.5 shares conversion) So this ratio is applied to all of the issued XYZ stock. A person owing 100 shares of XYZ now has 66 shares of C and $50 cash (the 2/3 fractional share, assume some sort of terms were written into the deal to take care of the fractional shares).
The same thing is applied to stock options, so that two values stay constant as of the date of sale: 1) the discount on the exercise price and 2) the total value of the option grant.
On the day of the sale, an employee had a grant for 300 shares of XYZ at $35. For purposes of sale, XZY stock was valued at $50, so the stirke price was at 70% of value, and the total value was $15,000 (300 * $50) and the employee would have paid $10,500 to exercise, netting him a profit of $4500. Note that since XZY stock isn't traded, the options were issued with the idea that either an IPO or an pruchase event was a future possibility.
Convert the numbers as discussed above, replacing each share of XYZ with 2/3rds (1/1.5) share of C and after the sale the employee has a grant for 200 shares of company C stock at $52.50. If exercised, the total value is $15,000 (200 * 75), at a cost of $10,500 for a $4500 profit -- same as it was before, just under new ownership. Note that now the employee has tradable stock and is happy that his options are worth something.
Purchasing with stock does give the buying company an advantage because they don't have to hand over the unvested stock on the day of the sale, and it gives the employees with options a reason to stick around after the sale.
I'm sure the specifics depend on the deal, and I don't really know what is the "norm", but I think it pretty much goes this way for being purchased by a publically traded company.
The basic principal is still the same - stock represents ownership in the company; and when a sale is made, the 'owners' are compensated.
With a privately held company doing the purchasing, using stock to purchase another company is trickier. If you own shares of a public company, you can do with them what you wish, and liquidate them for cash at any time though a well understood means.
With stock in a privately held company, what $$$ you can get for it totally depends on convincing someone to buy it from you and price they agree on. And often when an employee has privately held stock from his employer, they have an agreement that lets the company buy the stock back at a price based on the current company valuation in the employee leaves the company or other events - they often have the right of refusal if you try to sell to someone else (they have to pay the employee the offering price if the offer is bona fide to get it back usually)
-Mp
First allow me to rant:
.com failures), yet I'm left wondering why this image was held up high in the first-place. To motivate the rest of us? To make people in more common jobs feel inadequate? As a backlash against the downsizing and disposable employee era of the early '90s?
The whole "IPO & Stock Option" thing has been blown up in our culture as some sort of new lottery. There is nothing wrong with being at the right place at the right time and finding yourself a stock millionaire before you are 40, even though you aren't even in management. Yet, to listen to the media and uninformed, everybody and their brother was busy digging in and cashing out while you were just stuck plodding along in your job. We (most of us here anyway) know the true picture is much more sobering. So why, I ask, is (was) there so much effort spent on promoting this "ideal" of the young stock-option millionaire who works like mad for a few years and then cashes out? And why is (was) it sold to people as "everyone else is getting theirs, what about you"?
Now I put things in past tense due to the (media-led) backlash. (I say media because they now seemed disproportiantely fixated on
And what ever happend to promoting the virtues of meaningful work and a balanced life - something most people can achieve? Ahh, they must be too boring and not sexy enough.
Anyway, enough pondering. Now I want to point out that there is an alternative upside to stock (options) other than the much-worshiped IPO.
And that is to be an employee of a small company that will never go public, but is likely to be bought by a publicly held company.
That is to say, a company formed to fill a nitch - usually requiring some sort of industry specialization and a need to be profitable sooner than later. As such a company builds products and technologies that are well recieved in their corner of the marketplace, they come to the attention of the industry giants, who often seem to be on the lookout for an infusion of fresh blood and product technology.
Consider Cisco, a company that has fed itself a steady diet of small companies for the last few years. Most of those acquired companies were probably never to going to IPO in the forseable future. Yet the employees of those acquired companies that had stock & options suddenly went from having privately held stock with nebulous value to publicaly traded stock & options with a clearly defined value.
In such cases the usual procedure is correct the quantity to reflect the buying companies stock price (note they often purchase with stock instead of cash), but keep the ratios intct
For an example if an employee of a start-up got 10,000 options priced at 5 cents each, and at the time of purchase, the company stock was valued at $1, purchased with stock by a company who'se public stock was trading at $50, the employee would find themselves with options for 200 options priced at $2.50. The point here is that employee's company never IPO'd, yet the stock became worth something.
So my point is that in addition to asking "will this company make it to IPO?", the books author should have also added "Will this company reach a position where a bigger company will want to buy it?"
-Mp
I remember the ZX-80 (white case, 1K RAM) being sold as a kit, but I could of swore that the ZX-81 was sold already assembled here in the US. The Sinclair ZX-81 was obviously before they cut the distibution deal with Timex.
Can anyone shed some light on this bit of computer history trivia?
Allow me to set the facts straight:
The Atari 2600 has 128 BYTES of RAM.
The Atari 2600 has a total of 39 BITS of what would qualify as Video RAM, and that's if you have loose qualifications. Note that's BITS and not BYTES. or put another way, just slightly more than one single 'int' register on a current CPU.
The RAM is RAM for everything, including the stack. Many games for the Atari 2600 never went more than 2 call levels deep on the stack.
The Program address space was 4K, or 4096 BYTES, and read-only.
The sound chip had 2 channels (voices).
Each sound channel had a 5-bit frequency range, or only 32 different possible frequencies. However there were 8 modes that could adjust the sound channel operation, allowing for a larger number of actual output frequencies.
The system was capable of displaying 128 different colors: 16 hues, at 8 intensity levels each.
Try playing a game like Pitfall 2, and look at the graphics, the game world size, and especially the music. Then ponder what it took to program such a game.
As someone who has regularrly used both Micrsoft's Visual C++ and Borland C++ Builder for the past 4 years, I can answer in word: NO
;-) The choice of development tools was a non-factor.
Let me sum it up this way: If it was all about "Programming as a pure art form" we wouldn't ever be using Windows, X Windows or any other layer between us and the computer. We would write our own display drivers, window managers, (G)UI stuff, etc, etc ad nausum...
It has very little to do with the tools/languages/compilers and an awful lot to do with the programmer and his circumstances. It sound like that in your situation you are being pushed too fast, regardless of the tools you have at your disposal.
And that's all each RAD product is: Another (alibet very powerful) tool there for you to choose ot not choose.
In the past 4 years, I've written some code that I believe was fricking awesome code. Some of it was in Assembler, some in straight C++, some using C++ builder. And in the past 4 years I've written a smaller amount of code that would qualify as anti-awsome. Some it was in straight C++, some in C++ builder (None in assembler,
Borland's development environment and components don't take away my opprotunities for creative expression in code; rather they take away much of the drudgery. I wrote my own window-button-click code back in '89. I got tired of re-writing it by '92. Now I'm glad it's taken care of --- UNLESS- I have a reason to monkey with it - in which case the VCL lets me jump in and do just that. RAD never took away the cool/unique parts of the appiclations I wrote, they just let me spend a larger percentage of my time budget on them.
As a person experienced with both (Borland's) RAD development, and the more traditional approach I 110% agree with the following statement:
Apart from the Delphi developers, Kylix also brings hundreds of thousands of applications, built in Delphi today, ported with Kylix tomorrow. On the first night that Kylix ships, we'll probably see more new Linux applications than we've seen in the past few months...
Kylix will be a huge boon for Linux by providing the reason that will give non-geek users the opprotunity to try it: applications that mean something to them.
I threw mine away the day it arrived in the mail. Can they force me to go the town landfill and hunt for it if they "recall it at any time"?
I don't fs*kn think so....
The TRS-80 Model 1 cassetes were loaded/saved at 500 baud, not 300. Later, the Model 3 added an option to operate the tape at 1500 baud.
The Atari 400/800 accessed its tape drive at 600 baud.
Most modern games use an engine design where below a certain level, AI players are no different from Human players. With that, it would be much more work and trouble to create two versions of the game.
I've never really heard of a case as you described where the initial release of a game was delayed.
Anyway, most people like the idea that they could go online later even if all they plan to do is play single player for now.
-Matt Pritchard
Perhaps it would have been better if I said to edit the code resources with resedit??
Or maybe to replace the masked rom with an EPROM after you hooked a 74Ls02 to the chip select line?
I just thought that everyone would understand what I meant....
-Mp
Hmm.. I don't think that was ever possible in either AoE or AoK. The commands to the transport woulr be rejected because you aren't the owner of the transport. In AoK it would be because the Transport isn't your or an Allies.
-Matt Pritchard
You need to consider who I was writing the article for... other Game Developers. The social aspects are something beyond the control of the developer. One the other hand, release a multiplayer game that is easy to hack, and you have a disaster (fiscal/reputation/etc) for the developer.
Heck... Look at eBay and their feedback system. As much as they have worked at it, there still are problem users who mess with the system.
-Matt Prichard
After I turned the article in. That's what I get for staying up to 3am to finish the darn thing.
Oh wow. I just got back into Dallas from Siggraph 30 minutes ago and discovered my mailbox filling up with emails from the /. side-effect. Just a couple quick comments on the discussion....
0) This article first appeared in print in the June 2000 Issue of Game Developer Magazine.
1) I didn't come up with the title. I honestly couldn't think of a catchy title, so I let my editor come up with one. As far as nit-picking over the useage of "Hacker" and "Cracker" - don't sweat it. Yes, I know the difference.
2) The most important point in my mind is that multiplayer cheating hurts other human players and is an order of magnitude different from the things we do when playing solo (single player) games. When a person realizes they are on the receiving end of a cheat - that another human being wants to do that to them - it's a hugely distructive feeling.
2a) People walk away from games and badmouth them to their friends when they think they are getting screwed. The better selling your game, the more this matters.
3) Many people have been emailing me and posting about things I didn't cover. I really appreciate it though I do already have some of it. When I wrote the article I had to keep it to about 7000 words, so I only got to cover about 1/2 of what I wanted to. Given the reception it has received, there will likely be a second article on the topic.
3a) Keep the comments and emails coming - I will try and respond to all.
That's all for now. I really appreciate everyone's input and thoughts on the matter.
-Matt Pritchard
Having met Woz in person (at the Apple ][ 20 year reunion, hosted by Jon Romero and Ion Storm), I can verify the most surprising aspect of Woz is his personality. A nicer, more sincere, yet fun loving, life enjoying, mischevious twinkle-in-his-eye uber-geek does not exist. Most of the people I know that have technical skills that approach "build their own arcade machine using only IC's and radioscrap" suffer from lack of human interaction skills and life balance. But not Woz. I think it's impossible to hang around him for any length of time and not go "Hey! what a cool guy".
Take a look at this link:
http://www.r3mix.net/
Basically the author encodes various songs and test
The results show a range of differences between encoders. The most popular encoders (xing), which I had been using myself in Music Match (latest version replaced it w/ Fraunhofer I think), just whack off all the frequencies above 16K hertz, no matter how high the encoding bitrate. As I understand it, that is just an arbitrary decision made by whoever implemented the encoder. If you encoder goes to 22Khz, is the Kenwood technique really necessary?
Another very interesting surprise was the finding of a bug in the latest Fraunhofer encoder as used by MusicMatch. Using the "Very High" quality setting (most people don't - it drops encoding to about 0.2x speed) the results were much worse than low bit rates at lower qualty.
What we have is no real consistancy in MP3 encoding between different sources. Different people use different rippers, encoders, and bitrates. I can download the same song 5 different times from the net, and I'll bet the files won't be identical.
And therein lies the problem as I see it -- this processing approach that Kenwood is working is on is going to vary in effectivness depeding on the encoding of the MP3 in question.
One thing I wish was done, was for there to be fields in the MP3 ID3 header for:
1) Encoder/Software Name
2) Encoder/Codec version #
3) Encoder setting (Bitrate + options)
These would be a great use in determining quality at a glance, as bitrate alone doesn't tell me that much.
The truth is most people I know use MusicMatch at about 160Kbps on Fast mode. It's a matter of convience - being able to just stick the CD in the drive, and in 10 minutes it's ripped using digital extraction from the CD. I've done it myself on about 1600 songs from my personal collection of 1200 cd's.
Now, I'm reaching the point where I can tell the difference between 160k and 192K on some songs. Add to that what I've learned about encoding (and the fact that it's constantly evolviong) and the questions of what to do arises. Should I re-rip my CD's with LAME? (I did that once to go from 128K to 160K and MusicMatch). Should I Wait? Should I just go on?
And finally, I still have this question: What about playback? Is there any difference between playback engines? I've got a RIO 300 w/64 Mb and I use it all the time. If I buy a newer device will it sound better? When I did a JPEG decoder years ago, I put in two options for the IDCT - faster vs higher quality. Not much difference between the two, but some.
I just read the print version of the WSJ earlier today, and their take on it was that Democratic party politics and favors owed to labor unions had a big factor in the issuing of the ruling.
How in the world can unions organize at-home workers (where would they go if they were on strike? to the office?). I have to run right this instant, but can someone find and put up a link to the WSJ story/editoral? I think it adds some insight into the political code being executed here.
I have to disagree with the first part: I don't believe that you can verify that a game is running a specific and trusted executable.
Maybe I'm wrong -- I am not a cryptographer, and don't even play one on TV -- but I just don't understand how this is technically possible. If someone thinks they know how to do this, I'd like to hear how.
Jamie,
You are technically correct. A more accurate thing to have said whould have been:
Even if the game executable running is unaltered it doesn't mean damn thing. Someone can still be cheating bigtime.
As a game developer, the underlying issue is that there are more ways to cheat than just hacking up the code. A good game will assume that it is running in a hostile environment and attempt to raise the difficulty and cost of cheating (with an understanding of its vulnerabilities).
(Darn! Of all the days to be gone visiting relatives, there are ~320 posts already - I'm hoping someone still has moderator points left)
The article for Game Developer discusses not only cheating in fast client/server games like Quake and other shooters, but in strategy games such as Age of Empires and Starcraft, Action-RPG's such as Diablo, Massively multiplayer games such as Ultima Online, and others. It also makes an effort to identify and classify cheating efforts from the blatant hacks to the gray-area issues of a game's design. It discusses the various architectures games use, and the inherent strengths and weaknesses in them. It talks about the specifics of how games get hacked, specific counters for them, and the limits therein. It also examines programming weaknesses that can lend themselves to cheating in non-obvious ways. My goal with this article is to provide to others in the game industry a reference to assist them in their efforts to secure their games. (For those interested in my credentials, I've written significant portions of all three "Age of Empires" games, and worrying about cheating and designing counters for them is something I'm paid to do in my day job.
With that said, there are four rules that apply to Cheating in ALL Multiplayer games:
1) Despite what you think, someone really wants to cheat bad enough to do it.
2) Despite what you think, cheating in game (insert title here) is possible.
3) Despite what you think, someone really wants to cheat bad enough to do it
4) Despite what you think, cheating in game (insert title here) is possible.
I repeat myself because denying the problem (which many game publishers do) does not make it go away.
-----------------------------
In response to various issues raised in the ~320 posts so far, I would like to assert the following regarding online gaming:
Closed Source will not prevent cheating, only slow it down (a little)
Terje Mathisen is correct - it is absolutely impossible to make a completely cheatproof system
This is not a case of "Security Holes" in the game programs, but rather basic aspects of the design of our computers and network communications being used to achieve particular results. To perceive it as such is to promote a fallacy.
You can verify that a game is running a specific and trusted executable. This does not achieve security. You can not verify anything else that is running on that computer or any other computer between you and the other players that passes your communication packets along.
Security through obscurity is not security
John Carmack's post includes pretty much all I was planning on saying about cheating in Quake-engine games and clarifies the misconceptions in many of the other posts. The issues with the Quake Architecture are summed up in his comment: "The cheating clients/proxies focus on two main areas -- giving the player more information than they should have, and performing actions more skillfully. " - What I classify as "Information Exposure" and "Reflex Augmentation".
Information exposure will remain one of the biggest problems for most games. In nearly every game, there is a degree of interpretation in the display of a fixed piece of information. A cheater can alter that interpretation (display something that should not be shown, make bright something dark, make a sound louder, whatever) on his and only his machine without altering that information with respect to the game world it is a part of.
Information exposure does not have to involve modification of game's code, data, or network communications. Passive reading of network packets and key values from another processes' memory space are sufficient to provide a cheater with a significant advantage with some games.
Reflex Augmentation will remain a big problem for games where player's reflexes are an important part. How fast you can move the pips in Backgammon does not matter - it has no bearing on the outcome of the game, or the other player's turn. In Quake or Half-Life, it's all about being fast and accurate; that's why you can never have a fast enough system, video card, or ping. Aim-bots and other proxies will always be capable of passing themselves off as the real thing. The fundamental problem here is the inability to distinguish human inputs into the game from computer generated inputs. Quake server modifications to attempt to distinguish the two have led to the Aim-Bots adding human-style "errors" into their inputs until their accuracy is reduced to just below the statistical threshold that the server will allow. That really good human players may be incorrectly fingered as cheaters only underscores the limits of this option.
Game Design decisions may inadvertently add to the problem and lead to quicker dissatisfaction with a given game. I'll use Half-Life for an example. Let's assume an auto-aim proxy exists for it (I believe it does). Half-Life has a weapon in Deathmatch that has two interesting capabilities (which have a place in normal gameplay): 1) it kills with a single shot no matter how much health or armor the target has. 2) it shoots through walls. I will leave it as an exercise to the reader as to how much less fun the game becomes (became) the day that proxy makes (made) the rounds.
Encryption in communications has some important limitations:
1) Any sort of protocol that involves adding any back-and-forth to complete a single action will raise "ping" times significantly. Games are already struggling to do everything possible to reduce lag. The gaming community would reject adding 250 ms to everyone's ping.
2) Packet loss is accepted for some portion of communications in some action games. Any sort of encryption on those packets has to be able to survive lost packets.
3) CPU bandwidth is limited. Too many cycles devoted to encryption and decryption (especially on the server) will negatively impact game performance.
4) If the end user has access to both the client and server, they can and will be debugged. By very smart people.
Slashdot user 'Pete-classic' touched on one of the anti-cheating efforts that I feel has been under-explored to date: identifying people that cheat at a game and exposing them to the online user community for that game. Being able to record games and play them back from the perspective of other players (as you can in Age of Empires II) brings the ability to audit a game after it is played. While this can't address all possible forms of cheating, it's a good tools for raising suspicion in those cases that it can't outright detect. It's also equally useful for proving that you were beaten by a better opponent.
An opportunity exists for developers to add hooks into future games to assist the user community in policing itself. Imagine if you will, that when your server browser bring up a list of games, next to the net-speed indicator is an indication of the controversy and reputation of the server. Social solutions are going to be complex and take time evolve, but they offer possibilities that programming alone can't.
So much more to say, but I have to sign off now. Thanks for reading and caring.
-Matt Pritchard
Ensemble Studios
Age of Empires, Rise of Rome, Age of Empires 2: Age of Kings
As I type this, I am using a Linksys ProConnect 4-Port CPU switch which IMHO is a real nice digial switch. (I know IS guys who hate Linksys so I expect to get flamed any second now).
:-)
The really nice thing about it is that it lets me mix and match my older and newer components. You can connect either an AT or a PS/2 Keyboard to it, and each computer can connect via its AT or PS/2 keyboard connectors. The same is true of the Mouse, though you have to connect a PS/2 mouse to it.
My setup has the following:
Human Side: MS Natural Keyboard (PS/2), MS Intellimouse (PS/2), and 19" Radius Trinitron Monitor.
Computer Side:
486-133: AT Keyboard, Serial Mouse
P166MMX: AT Keyboard, Serial Mouse
P233MMX: AT Keyboard, PS/2 Mouse
P2-450 : PS/2 Keybaord, PS/2 Mouse
The switch allowed to get rid of all the extra keyboards and monitors and really reclaim a bunch of space in my office. Nothing is my usage has suffered.
Nice things about the switch:
1) The image quality on the monitor is very nice; it supports up to 1600x1200 (My wife got me a 19" Trinitron monitor for my birthday, so I have a good monitor to test with). I can tell the quality difference on the cards with fast RAMDAC's and the lousy ones.. it's about exactly the same as I saw using a directly connected monitor. No problems or glitches when switching to machines at different resoultions and refresh rates.
2) You can switch machines from the keyboard with the sequence . or you can push a button on the unit (which also shows you which machines are active and currently selected) It seems odd, but you quickly get it memorized down to a single motion.
3) Caps lock, Num Lock, (and I guess Scroll Lock) settings are unique to each machine, and when you switch machines, the keyboard is restored to that's machines settings.
4) Been as reliable as my Linux box on the Cable Modem (Both of which helped by being on a UPS)
Odd Things about the switch:
1) I have an Intellimouse hooked up to it, and only the computers that use the PS/2 Mouse connections receive the mouse wheel information. Those with serial connections don't get them. A Call to Linksys tect support said they just didn't include support for that in it.
2) The keyboard sequence to change machines listed in the manual is incorrect. I had to get the correct sequence off their web site.
The price:
When I bought it about a year ago, I paid $200 for the switch. While I was up visiting a friend in Detroit last month, we stopped in CompUSA and saw it for $129, which my friend prompty then bought. (and has had no problems with).
Cable sets seem to be pricy. I bought a bunch of matching, generic cables at Fry's and have had no problems. I think I paid around $12 per 3-cable set.
Issues for the Future
1) There is no sound switching. I have one set of nice speakers to go along with my one Monitor, one Keyboard, and one Mouse. Why don't the manufacturs include support for audio switching as well? To my knowledge, not a single switch brand does this yet. If they think I might want to hear error beeps from the non-focused machine, do they think I'm not smart enough to hook up another set of speakers?
Anyway, I solved this by buying a 4-port Audio Selector at Frys (Sony, SB-A40, $30), but that means I have to reach over and manually switch it.
2) USB support. I'm not sure what technical issues are involved in this, but if Future PC's are expecting USB mice and Keyboards, someone will have to make a switch that handles it. I wonder if it's possible to do mix-and-match USB to PS/2 and AT converting...
3) Given #1 and #2, what about Game Controller support?
I think what is really happening here is that serious CPU Switches (as opposed to those mechanical switchboxes) are leaving the exclusive domain of the IT business users and finding their way into homes and other personal uses. As they make that move, prices are under pressure to go down, and features to go up.
As an industry insider (core developer for all 3 Age of Empires games), I've known for a long time that Diablo II wasn't going to come out this year. There are two reasons for this, and both of them are for the better.
....
/. readers. As well it should be. Things like that are not accidental, and it's my strong belief that Blizzard will be much more careful this time.
:) (It's a sort of tit-for-tat in the Game Biz.. We send them a beta of our game, and all productivity at their officies grinds to a halt for a couple weeks, so.. they are compelled to return the 'favor' and spread the delays around.)
First Reason: Blizzard's Management and operating principial is to not release a game until it is done to a high degree of polish. This includes testing for such hard to quantify things such as "is it fun?" This goal is held in high enough regard by the company that it will allow release dates to suffer for it. Not every game company does this - in fact I would say that game companies that do are in the minority. This is made practical by the
Second Reason: Blizzard can *afford* to let Diablo II slip. Their previous titles, and the fact that they publish themselves, has given Blizzard an incredible cash flow and reserves. Consider that Blizzard employs around 80 (give or take) people. It would probably be conservative to say Diablo 2 has cost more than $5 Million dollars (so far) to make. Time and time again in the game business, money considerations have forced a game to be shipped before it is finished and polished. Time and money to do it right is a luxury.
What's interesting about the business is that this becomes something of a self-perpetuating cycle: The top selling games are the ones that make the lion's share of the money.. allowing their creators the luxury of not having to make any cuts or concessions in their next game, while the ones that didn't sell well leave their creators in the position of having to do their next game quickly and cheaply.
Another Factor: Content Level Expexctations - these have risen steadily every year. As each year passes, you have to put some x% "more" into a game for it to be received at the same level by the game buying public. Must be a side effect of radiation from ever increasing CPU speeds.
As the costs of making a "Triple-A" (or "AAA") quality game (That phrase is used to death by people in the industry) have risen steadily in the last decade, we are seeing less change in terms the people and companies that make the chart toping games. I'm not really sure if this is good, bad, or just the way it is. So far it's not significant enough to stifle innovation or newcomers, but if development costs keep rising you have to wonder about the future...
Anyway...
With Diablo 2, Blizzard faces a couple of tough challenges:
#1: They have to make the game more resistant to hacking and cheating. This is not anywhere as easy as it sounds or most programmers think. If you are really interested in the subject, I am in the process of writing an lengthy article on the subject of cheating in on-line games for 'Game Developer' magazine, which should appear around the time Diablo 2 is released. (If you really are interested, feel free to email me). Diablo's problems with cheaters were so well known, that it tainted the reputation of the game and sets a high bar of expectations to be met for Diablo 2.
#2: The privacy challenge. It's fair enough to say that every network packet sent by Diablo 2 will be under the microscope of many
All that said, I'm looking forward to it. I know many of their guys and they are excellent at what they do. Hopefully, putting their developers on The Age of Kings beta will get us on the D2 beta.