Windows 紙牌遊戲是我開發的,但我沒從中拿到一分錢

心靈是一棵開花的樹發表於2017-04-25

用過 Windows 的朋友,應該對紙牌遊戲不陌生。但有多少人知道這個小遊戲的開發者是誰呢?

自1990 年的 Windows 3.0 開始,微軟將遊戲附帶於 Windows 系統中。當時,許多使用者仍不熟悉圖形使用者介面,微軟想借助《紙牌》來“安撫被作業系統嚇倒的人們”。事實證明,遊戲有助於使用者熟悉滑鼠的使用,比如說移動紙牌時需要用到拖放技術。

Windows 紙牌遊戲是我開發的,但我沒從中拿到一分錢

2016 年 1 月,有人在 Reddit 上發帖,挖出了紙牌遊戲的幕後開發者——Wes Cherry,並在 Facebook 上給 Wes 留言了。

下面是 Wes Cherry 在 Reddit 網站上對紙牌遊戲的補充說明,伯樂線上摘編如下。

我是 Wes Cherry,我收到一條 Facebook 的訊息,說我的主頁被大量來自 Reddit 的網友刷爆了(我剛剛才註冊了 Reddit 的賬號)。

以下是一些關於紙牌遊戲的說明。這個遊戲是我在 1988 年夏季在微軟做實習生時用業餘時間為 Windows 2.1開發的。我之前在 Mac 上玩過一個類似的遊戲,為此我連期末考試都耽誤了,我想為自己寫一個 Windows 版本的。

程式碼沒啥特別的,唯一的亮點是我做了一些優化,使得紙牌的拖動看起來很流暢。要知道在那個時候,將一個畫素放在 EGA 緩衝區上,那要花一個世紀(需要在矽片上錘鑿)。

那時物件導向程式設計是一個新鮮事物,Windows 上也沒有可用的 C++ 編譯器,所以多型和繼承都是通過一個落後的訊息傳遞機制實現的。

當時微軟內部有個叫做 Bogus software 的“公司中公司”。它其實是一臺伺服器,一幫子程式設計師在上面折騰 Windows 為樂,以學習遊戲開發會用到的 API。Windows 組的一個 PM 發現了我寫的遊戲,並決定將它加入 Window 3.0 中。他明確告知不會給我任何報酬,但會送我一臺 IBM XT,以用於在學校期間解決發現的 Bugs。我當時覺得很划算,直到現在也這麼認為。

為什麼很划算呢,我又用業餘時間寫了一個 Windows 版本的 Pipe Dream,微軟的遊戲集中包括了這個遊戲。我因為此拿到了一些股票,後來換了幾千美元。

有人會開玩笑地當面給我一分錢,有人則會郵寄給我,有時候我被別人介紹為“沒有任何酬勞的紙牌遊戲開發者”。到現在為止,我已經收到 8 美分了。

我目前在 Washon Island 做蘋果酒生意, 這是我的網站 www.dragonsheadcider.com。如果你在西雅圖附近的話,歡迎來品酒。

除了給我的蘋果釀酒機寫一些嵌入式的 C/C++ 程式碼,我不再程式設計了。

謝謝大家的留言,太多了。我正在陪一個來自舊金山的好友玩耍,明天回來後回覆大家的問題。

這個朋友正在教我 7 歲的兒子用 Scratch 程式設計。很有趣,我兒子正在努力寫一款 Scratch 版本的 Minecraft(我的世界)。這個非常非常基礎,但是他願意做。

下面是 Wes Cherry 在 B3TA 網站上回答網友的提問,伯樂線上摘編如下:

armaitus 問:你會因為開發了這樣一個廣受歡迎且必不可少的應用,而微軟卻沒有給你任何報酬而難過嗎?

是的,尤其是看到你們都是付費來玩這個遊戲的。

Artamnesia 問:儘管比爾·蓋茨沒有給你報酬,但我願為這個神奇的遊戲付錢,你想要多少錢啊?

每份拷貝給一分吧。如果每個人都給的話,我承諾給大家辦一個大趴體。

queenie_b 問:你在編寫紙牌遊戲時玩什麼呢?你知道我差點因為你而丟掉學位嗎?當然,也是有一些其他原因啦。

呃,我在大學裡為了寫紙牌遊戲都放棄複習期末考試了。

你知道在全球範圍內,上班族玩紙牌遊戲浪費了多少時間和金錢嗎?

紙牌遊戲恰好在1991/1992年,正好是全球經濟蕭條時釋出。謝謝。噢,過去的時光一去不復返了。

(伯樂線上插播補充:自從遊戲成為 Windows 系統的標配以來,員工玩《紙牌》降低業務生產力成為普遍的問題。2006 年,紐約市市長邁克爾·布隆伯格看到一名政府公務員用辦公室的電腦玩《紙牌》後決定解僱他。 )

你有在玩紙牌遊戲時被發現,並謊稱在測試嗎?

本來我做了一個老闆鍵按鈕,按下時會隨機顯示一些 C 程式。但是微軟讓我刪掉它。

我曾經一次去聽 Rick Wakeman 音樂會時,發現他的音響師整場演出期間都在玩紙牌遊戲。你知道玩紙牌遊戲最有名的人是誰呢?

我知道比爾·蓋茨在玩,他說想贏不簡單。

這個遊戲有什麼作弊的後門嗎?是哪些呢?

有,當你玩翻三張(Draw Three)時,你可以按住 Ctrl+Shift+Alt,並點選獲取一張牌,這樣有大概率會贏。

是否有辦法改變遊戲最後連續彈出所有牌的速度呢?我發現不同的作業系統上速度是不一樣的。

有,升級到 IBM 286 或者安裝諾頓防毒軟體都會降低速度。我把這個工作交給 Moore 先生 了,他會提高速度的。(伯樂線上補充:這裡說的 Moore,其實就是指摩爾定律了。)

寫紙牌遊戲時,我嘗試了各種各樣能夠提高最後連續彈出紙牌速度的方法。有一個計算機雜誌提出了紙牌遊戲測計算機效能的方法,遊戲最後連續彈出紙牌越快,機器效能越好。

關於 Vegas 模式:

  • 它的工作原理是什麼?
  • 它為何這麼難?
  • 為什麼引入這個模式?
  • 你知道誰在 Vegas 模式下玩紙牌遊戲嗎?

我不是很願意把這些公之於眾。

  • 你為每張牌支付 $1(總共需要 $52),然後每出掉一張牌獲得 $5. 如果你玩翻三張會獲得三輪的機會,翻一張獲得 1 輪機會。
  • 你在拉斯維加斯見過這樣的賭場嗎?很貴的。
  • 我說不太好,這算一個功能吧。
  • 我在玩啊。第一次差不多10年。

你玩空當接龍 (Freecell)嗎?

不,我也不玩紙牌遊戲。

空當接龍一直在公佈統計資料,但紙牌遊戲沒有,我想要一份。

答案1:Freecell Freecell Freecell, 我討厭聽到人們說空當接龍的好。

答案2: 如果你的老闆看到這個統計資料後會裁掉你的。

在紙牌遊戲中有個彩蛋是比爾·蓋茨抓著一個海洋動物,這是真的嗎?

是的,Andrew Wyland 對最初的彩蛋做了很多修飾。(伯樂線上注: Wyland是一個著名的新時代海洋藝術製作者,見

我們曾經用 Borland 來 hack 紙牌遊戲,並將牌搞成一團糟。我們這樣做的時候,你會惱怒嗎?

有趣的是,過去的幾年我一直莫名其妙的惱怒,謝謝你讓我知道了原因。

烤麵包總是把有黃油的那面朝下,貓總是蹲坐在它的腿上。如果你把麵包綁到貓背上,會發生什麼呢?

你的眼睛會被憤怒的貓挖掉的。

在犯罪現場,留什麼卡片可以戲弄偵探呢?

搞一個卡片,寫上“他走這邊了à”(指向反方向)。哈哈哈。

紙牌背面的設計圖案是你選擇的嗎?你喜歡蝙蝠嗎?

有一半紙牌的背面是我女友 Leslie Kooy 設計的。不幸的是,她設計成了飛行的蝙蝠(flappy bat),所以我們分手了。

這個遊戲我玩 4 次,只能贏 1 次,我是不是有些笨?

我建議把“獲勝”重新定義為工作中的放鬆。

你玩掃雷嗎?最高分是多少?

我玩,我從比爾·蓋茨那裡學到了一個獲勝的技巧,就是儘可能快和隨機地點。

如果你可以選擇一個人, 讓他一天都說真話,你會選擇誰呢?

喬治·布什 (George Bush),那個邪惡的傢伙。我希望我有另一個紙牌遊戲在手,這樣的話我會發布出來,造成另一個經濟蕭條期。

考慮到紙牌遊戲將全球數百萬潛在的工作時間都浪費了,你認為你做了一件好事還是壞事?(我想是好事,所以不要認為我讓你難堪)

時間就像海綿裡的水,只要願擠,總還是有的,所以我沒做壞事。?

你被認出來過嗎?他們都說什麼?

“是的,警官,我想是他做的”。

如果你可以把世界上任何一個東西放到任意一個地方,你會選擇什麼,放到哪裡呢?

把我放到小甜甜布蘭妮那裡。

你與動物搏鬥過嗎?如果有,那你贏了嗎?

高中時,我一個朋友 Mark Causey 勾住我的下巴,把我踢了出來。

為什麼那個戴著太陽鏡,露著笑臉和舌頭的人出現在無人島大冒險( desert island )的卡片上?

你在說什麼?我建議你去做一個精神評估。

為什麼你在遊戲英文版裡不取名 Patience(耐心)呢?

因為我講英語,所以我稱它為 Solitaire(紙牌遊戲的正版英文名字)。

如果你將被困在荒島上,你會帶什麼遊戲呢?

機器人2084 (Robotron 2084), 最好玩的視訊遊戲。

如果紙牌遊戲在下個 Windows 版本中刪除了,你會怎麼想呢?

  • 你脫離了世界
  • 世界脫離了你
  • 被欺騙的感覺,內心很苦澀
  • 很溫暖的感覺,很愉悅
  • 其他?

當然是很愉快了。

你每次開發都會寫的程式碼是什麼?

10 PRINT “Wes Rulez!!!”
20 GOTO 10.

駝峰法命名發好,還是匈牙利命名發好呢?

我喜歡匈牙利法,雖然在現代語言中它不是很有用。駝峰法對我來說無意義。

你最後是給什麼專案寫程式碼?

免費外掛。我給我的 MP3 更新了一個播放程式——Juke 。我也釋出了一個視覺化軟體 Mocha,我的 Winamp 視覺化軟體。

如果紙牌遊戲每被玩一次,你就會獲得 $1,你會以一種舒服的狀態來接受這個採訪嗎?

我用了 11 個月的時間來回答這些犀利的問題。如果真有人付錢了,我不會這麼遲才來參加這個訪談。所以快點吧。

相關文章