April 09, 2008

透過 WINE 玩 Hello Kitty 世界盃足球賽遊戲

[WINE] 最近的發展實在令人動容!

一向重視跨平台、開放系統的 Google 在收購若干軟體公司,接手原本的 Windows-only 的軟體元件是相當苦惱的問題,一來 MS-Windows 軟體有著「剪不斷、理還亂」的交叉參照不同來源元件的困擾,二來是移植到 Linux 或 BSD 一類的系統實在曠日費時,也難以與原本開發模式保持同步。所以 Google 也對 WINE 專案與其背後商業公司 [CodeWeavers] 釋出善意,做了資助與軟體強化的貢獻,這方面的細節可參考 Google 工程師 Dan Kegel 整理的 [Software Engineering with Wine],現在越來越多重量級商業程式透過 WINE 技術得以在 Linux 上現身,當然也包含 Google 提供的軟體。晚上突然興起,想玩 Windows/Direct3D 的電動,取出書架上擺放由 [Typhoon Games] 出品的 "Hello Kitty Football Cup 2002" 遊戲,將光碟插入主機後,就展開美妙的 hacking 之旅...

去年的 [WineConf2007] 上,眾多開發者就宣告自由軟體的 Direct3D 實做趨向完整,而今年也頻頻傳出 DirectX 遊戲的成功案例,這讓我有了很大的信心,所以花了一個晚上的時間,進行打電動的「前戲」。

從 git 取出 WINE 最新的原始程式碼,建構與佈署後,首先安裝 DirectX 10,建立一些內部 dll 的對應,也需修改必要的 registry,但是 WINE 一直不能成功載入,查閱 mailing-list 後加入修改的方式,終於能繼續前進。切換光碟目錄,執行 "wine Setup.exe",安裝過程很順暢,不過執行時期問題就出來。

(WINE 自動建立選單項目)

遊戲的主題畫面一直無法顯示,而且 WINE 不斷吐出 UNIMPLEMENTED 的警告,最麻煩的是那些 COM 相關的錯誤,看來還有得處理,不過竟然也發現投機取巧的途徑。總之,折騰了好幾個小時,終於可以玩電動了,在這台 Pentium 4、安裝 Ubuntu Linux 的電腦上,執行 "Hello Kitty Football Cup 2002" 遊戲很順暢,有圖有真相:
  • 足球賽廝殺畫面:
  • 出現於看板的 Kitty:
  • Kitty 選手列席的可愛模樣:
  • 到處都有 Kitty:
  • 衝刺中的 Kitty:
看起來很棒,現在剩下的問題就是遊戲畫面中的亂碼,還沒查出為何 UCS2 轉碼過程會出錯,不過應該可修正這個議題。WINE 專案預計於今年六月份釋出經歷十餘年發展的 1.0 版,看來有機會成為我今年最棒的生日禮物了 :-)
由 jserv 發表於 April 9, 2008 12:05 AM
迴響

赞前辈~~~~

華華 發表於 April 16, 2008 06:17 PM

非常感谢你对这个游戏的信息

Free Games 發表於 November 13, 2009 04:25 PM
發表迴響









記住我的資訊?