這是給初學者的手機遊戲開發心得,涵蓋開發環境選擇、平台比較與 J2ME 實戰配置。
是否必須購買真機?
初學階段不必買真機,先在模擬器練習。但若要產品化,建議配備真機測試,因模擬器與真機運行環境差異大,模擬器跑得好不代表真機沒問題。
主流智能手機平台比較(2003 年視角)
- Microsoft SmartPhone (WinCE):適合優秀 Windows 程式設計師,熟悉 VC++/C# 環境。缺點:模擬器啟動與運行極慢,需耐心調試。
- Symbian (Nokia、Sony Ericsson、Siemens 等支援):支援 C++ 與 Java 開發。C++ 學習曲線陡峭,需安裝 Nokia nS60_sdk 整合至 VC6,對作業系統(Win2K+SP2)、VC6 SP3、安裝路徑(建議 C 槽)、Perl 與 JDK 1.3 環境變數有嚴格要求。常見錯誤:專案無法插入工作區,多為環境路徑配置問題。
- BREW (Qualcomm):基於 VC6 開發,生成動態庫再由模擬器載入。需向 Qualcomm 註冊開發者並繳納年費才能取得真機 ClassID,否則僅能用 MIF 編輯器產生本地 ClassID 在模擬器測試。純 C 語言開發,模擬類 COM 架構。
Symbian 為完整 C++ 類庫體系(類 MFC);BREW 為 C 語言模擬 COM。兩者皆依賴 C++ 思想建構嵌入式架構。
J2ME:降低門檻的最佳切入點
J2ME (Java 2 Platform, Micro Edition) 專為行動裝置設計,包含:
- 配置:核心 Java 語言實作,含針對小型裝置的 VM 與精簡類庫(CLDC)
- 描述檔:提供高階 API(UI 元件、音效等),如 MIDP
支援 Java 的手機通常採用 CLDC + MIDP。開發出的程式稱為 MIDlet(主類別繼承自 javax.microedition.midlet.MIDlet),或通稱 KJava。
J2ME 優缺點
- 優點:一次編譯,到處運行,無需針對特定裝置編程,大幅降低開發門檻
- 缺點:為安全捨棄底層硬體功能(電話、通訊錄、簡訊等),常被戲稱「只能做遊戲」
- 補救:廠商提供 OEM API 包(含 JNI),Sun 推出 MIDP 2.0 補充 API
J2ME 開發環境配置實戰 (WTK 1.4)
- 下載 JDK 1.3/1.4 與
j2me_wireless_toolkit 1.4 (WTK)
- 先裝 JDK,再裝 WTK(自動配置環境)
- WTK 2.0 雖有加密、遊戲、媒體控制新包,但支援手機極少,建議用 1.4
WTK 目錄結構與專案操作
apps:專案目錄,含 src (原始碼)、classes (編譯輸出)、res (資源如 PNG)、bin (JAR/JAD 輸出)
- 用 KToolBar 建立專案 → 編寫原始碼 → 編譯 → 運行模擬器 → 打包 (JAR/JAD)
- 原始碼編輯器可自由選擇:UE、Eclipse、Sun ONE、JBuilder 等
程式碼混淆保護
Java 位元碼易被反編譯。混淆工具(如 RetroGuard、ProGuard)打亂變數/方法名稱,同時壓縮體積。RetroGuard 只需將 jar 放入 WTK/bin 並在打包時選擇混淆選項;ProGuard 需配置檔,較麻煩,但 WTK 2.0 內建支援。
第三方 SDK 整合範例:Nokia
- 註冊 Nokia 開發者帳號
- 安裝
nds_jme 管理工具
- 安裝
nS60_jme_sdk 至 WTK/wtklib/devices 整合模擬器
- KToolBar 裝置下拉選單即可看到 60 系列裝置
- 注意:每次調試前必須先打包再運行模擬器