內容提要
本書8、9兩章在實例解析的基礎上給讀者整理出了兩套適合RPG遊戲和ACT遊戲的程式構架,為讀者揭示出了程式開發中最核心的部分。通過對兩款手機遊戲的實例講解,完整、全面、深入淺出地幫助J2ME的初學者迅速理解手機遊戲程式開發的核心技術。通過“程式構架”+“通用模組”+“具體代碼”的方式,提高手機遊戲開發人員的工作效率,同時,也提高手機遊戲開發團隊的整體實力並助其迅速積累開發經驗。
本書前五章給出了遊戲製作各環節的最佳配置,為手機遊戲開發團隊的管理者指出了一個低成本、高效率、高質量的開發流程。
作者簡介
李曉潔,畢業於中國科學技術大學計算機科學與技術系。2005年初加入組建中心策劃部,成功的手機遊戲案例有:《米格—西遊記》系列,世界上第一款水墨畫風的手機遊戲,已經獲2006年“china joy金翎獎”全國最佳手機單機遊戲;《炎黃英雄傳》系列,2007年1月起擔任南京頌歌手機遊戲開發公司策劃部經理,代表作品有《皇家騎士團》系列、《哆啦A夢之大雄的恐龍2007》(正版)。截至目前已策劃各類型手機遊戲作品共十餘部。現任合肥漢娛網路技術有限公司亞太地區事業部經理。馬瑞,畢業於合肥工業大學計算機專業,現就職於迪斯尼中國。
編輯推薦
什麼是讀者想要看到的手機遊戲開發書?
考慮到中國手機遊戲行業的現狀,作者致力於撰寫一本適合國內手機遊戲開發者與手機遊戲開發公司使用的專業書籍。
通過總結多年手機遊戲開發的實際項目經驗,作者在介紹策劃、美術、程式三大製作環節的同時,關注各環節之間的配合,為手機遊戲開發者和開發團隊擬定出了一個科學、高效的開發流程。
如果你想真正了解手機遊戲開發是怎么回事,如果你想真正成為手機遊戲開發者中的一員,如果你想迅速獲得手機遊戲開發的實際項目經驗,就從閱讀這本書開始吧。
目錄
第一部分 手機遊戲的項目開發流程第l章 遊戲的開案立項
1.1 手機性能分析以及其局限性對遊戲選題的影響
1.2 遊戲類型的選擇
1.2.1 ACT(Action Game)動作遊戲
1.2.2 FTG(Fighting Game)格鬥遊戲
1.2.3 SPG(Sport Game)運動遊戲
1.2.4 PUz(Puzzle Game)益智遊戲
1.2.5 AVG(Adventure Game)冒險遊戲
1.2.6 PET養成類遊戲
1.2.7 RPG(Role Playing Game)角色扮演類遊戲
1.3 手機遊戲玩家分析
1.3.1 玩家的遊戲目的
1.3.2 玩家集中地域
1.3.3 玩家職業及年齡層
1.4 純市場導向類選題
1.4.1 電影巨製的周邊產業
1.4.2 知名遊戲的平台移植
1.4.3 善用名著的民眾基礎
1.4.4 人氣話題的善加利用
第2章 遊戲草案
2.1 市場定位分析
2.1.1 遊戲的新穎性
2.1.2 遊戲的延展性
2.2 系統簡介
2.2.1 列出所有遊戲中涉及到的遊戲系統
2.2.2 詳細描述遊戲中用到的新系統
2.2.3 權衡市場路線與系統配置
2.3 開發成本估算
2.3.1 人力資源配置
2.3.2 初步量化工作強度
2.4 立項及項目會議
2.4.1 立項會議的聽審階段
2.4.2 審核立項階段
2.4.3 項目啟動階段
第3章 RPG類遊戲策劃案的模板
3.1 遊戲簡介
3.2 遊戲系統
3.3 主選單設計
3.4 界面設計
3.4.1 遊戲選單的設計
3.4.2 狀態界面的設計
3.4.3 裝備界面的設計
3.4.4 物品界面的設計
3.4.5 技能界面的設計
3.5 遊戲製作流程圖
3.6 戰鬥狀態流程圖
3.7 腳本
3.8 主人公技能列表
3.9 敵人列表
3.10 道具列表
3.11 場景需求列表
3.12 美術資源需求
3.12.1 UI圖片需求列表
3.12.2 人物美術需求列表
3.12.3 動畫美術需求列表
3.12.4 道具美術需求
3.12.5 NPC需求
3.13 NPC列表
3.14 數值平衡
3.15 遊戲畫面風格
3.15.1 主體畫面風格
3.15.2 人物頭身比例
3.15.3 場景基色構圖
第4章 ACT類手機遊戲策劃案模板
4.1 遊戲簡述
4.2 遊戲系統設計
4.2.1 戰鬥系統
4.2.2 寵物召喚、輔助攻擊系統
4.2.3 卡片化身系統
4.2.4 反化身偽裝系統
4.3 ACT遊戲畫面風格設定
4.4 ACT遊戲的腳本設計
4.5 關卡設計
4.6 場景設計與需求
4.7 動作狀態列表
4.8 鍵位設計
4.9 主選單設計
4.10 遊戲流程圖
4.11 其他
第5章 手機遊戲美術的製作流程
5.1 地圖編輯器基本功能的使用介紹
5.1.1 地圖編輯器的安裝環境
5.1.2 cooledit地圖編輯器功能簡介
5.1.2.1 C001Edit地圖編輯器場景編輯功能
5.1.2.2 CoolEdit地圖編輯器動畫編輯功能
5.1.3 HotEdit地圖編輯器的安裝以及路徑
5.1.4 HotEdit地圖編輯器簡單介紹
5.1.5 HotEdit地圖編輯器的場景編輯功能
5.1.6 HotEdit地圖編輯器的動畫編輯功能
5.2 在HotEdit中製作遊戲場景
5.2.1 HtotEdit遊戲場景地圖層的製作
5.2.2 HtotEdit中遊戲場景建築層的製作
5.3 在HotEdit中製作人物動畫
5.4 HotEdit地圖編輯器的後台數據
5.5 場景設定
5.5.1 遊戲背景
5.5.2 場景風格設定
5.5.2.1 蒐集參考資料
5.5.2.2 確定遊戲視角
5.5.2.3 製作效果圖
5.5.3 場景製作及細化
5.5.3.1 拆分單位元素塊
5.5.3.2 細化單位元素
5.6 人物設定
5.6.1 造型設定
5.6.1.1 遊戲的類型需求
5.6.1.2 遊戲主體畫面風格
5.6.1.3 人物身份背景
5.6.1.4 人物與各場景的搭配
5.6.2 動作設定
5.6.2.1 基本動作設計要符合人物的身份背景
5.6.2.2 物理攻擊設計簡單、實用、流暢
5.6.2.3 設計法術技能以及技能特效的注意事項
5.7 HotEdit地圖編輯器中人物動畫的實現
5.7.1 像素圖表現
5.7.2 地圖編輯器中的動畫實現
5.8 美術資源的整合以及提交
5.8.1 美術各環節介紹
5.8.2 記憶體以及美術資源在各環節的合理分配
5.8.3 美術資源容量的控制
第6章 MIDlet應用程式的介紹
6.1 什麼是MIDP
6.2 MIDlet入門和一個簡單實例
6.3 MIDlet的生命周期
6.4 MIDP圖形用戶界面的介紹
6.4.1 MIDP高級圖形用戶界面Screen
6.4.1.1 TextBox組件
6.4.1.2 List組件
6.4.1.3 Alert組件
6.4.2 低級用戶界面Canvas
6.4.3 畫筆的各種畫圖操作
6.4.3.1 設定畫筆顏色
6.4.3.2 填充矩形
6.4.3.3 繪製線條
6.4.3.4 用畫筆寫字元串
6.4.3.5 一個簡單畫圖操作的實例
6.4.3.6 在記憶體中創建圖片的畫法
6.4.4 動畫的實現
6.4.4.1 創建執行緒
6.4.4.2 一個簡單動畫實現的實例
6.4.5 按鍵回響
6.4.6 帶按鍵回響的動畫
第7章 手機遊戲的開發環境的配置
7.1 J2ME平台介紹
7.2 J2ME開發環境配置
7.2.1 安裝.IDK
7.2.2 配置JDK的環境變數
7.2.3 測試環境變數
第8章 RPG類手機遊戲的開發實例
8.1 RPG遊戲基本框架
8.2 地圖的構建
8.2.1 地圖的組成
8.2.2 地表層
8.2.2.1 地表的數據
8.2.2.2 地表的基本繪製方法
8.2.2.3 地表的更優繪製方法
8.2.3 建築層(帶動畫的)
8.2.3.1 帶動畫的建築層的組成
8.2.3.2 保存和繪製單元幀的UnitFrame類
8.2.3.3 建築層的數組
8.2.3.4 用切片集來構造幀
8.2.3.5 建築層數組
8.2.4 角色層
8.2.5 地表層的碰撞
8.2.6 建築層的碰撞
8.3 角色系統
8.3.1 角色系統的組成
8.3.2 角色動作的幀類
8.3.3 角色的動作類和角色類
8.3.4 一個帶四方向行走動作的Role類示例
8.3.5 用按鍵控制角色動作切換
8.4 地圖和人物的整合顯示
8.4.1 按鍵控制人物移動
8.4.2 地圖的滾動
8.4.2.1 角色的居中顯示
8.4.2.2 地圖顯示越界的約束
8.4.2.3 角色越界的約束
8.4.3 碰撞的實現
8.4.3.1 角色幀的碰撞區域
8.4.3.2 角色行走中和地表層碰撞的計算
8.4.3.3 建築層的碰撞
8.4.4 遮擋的實現
8.4.5 計算螢幕的裁剪區域及取消非顯示區域的繪製
8.5 腳本系統
8.5.1 一個簡單的腳本事件
8.5.1.1 一個遊戲事件的非腳本做法
8.5.1.2 構造數據層來保存地圖觸發的事件
8.5.2 常規的遊戲事件
8.5.3 自定義的腳本命令
8.5.3.1 自動行走的腳本命令定義和實現
8.5.3.2 多個腳本事件的解析和實現
8.5.3.3 帶有多個命令的腳本事件
8.5.4 腳本的完成標誌
8.5.5 腳本的條件約束
8.6 用人物動作編輯器添加人物數據
8.6.1 完善當前的角色系統
8.6.2 角色動作編輯器使用
8.6.2.1 如何編輯角色
8.6.2.2 編輯器保存的數據格式
8.6.3 角色動作檔案的解析
8.6.3.1 ActionFrame類的載入數據方法的修改
8.6.3.2 RoleAction類的載入數據方法的修改
8.6.3.3 Role類的載入數據方法的修改
8.6.3.4 容納角色數組的Map類和數據讀入
8.7 用地圖編輯器生成地圖數據和角色出生點信息
8.7.1 地表層的編輯
8.7.2 建築層的編輯
8.7.3 其他人物的添加和在地圖上的設定
8.7.4 建築數據
8.7.4.1 建築檔案的格式
8.7.4.2 建築數據檔案的解析
8.7.5 地圖數據的格式和解析
8.8 從檔案讀入的角色的繪製和控制
8.8.1 角色數據Copy功能的實現
8.8.2 角色數據的創建
8.8.3 角色的繪製
8.8.4 角色的控制
8.8.4.1 角色動作的添加和繪製
8.8.4.2 主角動作按鍵回響處理
8.8.4.3 套用了編輯器的角色和地圖的碰撞
8.8.4.4 主角和其他角色之間的碰撞
8.8.4.5 主角動作控制和切換
8.9 戰鬥處理
8.9.1 攻擊矩形的添加
8.9.2 攻擊的判斷
8.9.3 骷髏兵的行為模擬
8.9.4 非玩家角色(NPC)的追蹤和攻擊判斷
8.9.4.1 追蹤
8.9.4.2 攻擊
8.10 用地圖編輯器編輯劇情——腳本的編輯
8.1l 地圖的切換
8.12 編輯器的原理和開發
8.12.1 地圖編輯器的需求分析
8.12.1.1 數據格式的定義
8.12.1.2 編輯器的界面需求分析
8.12.1.3 編輯器的操作需求分析
8.12.2 界面設計
8.12.2.1 新建一個JFrame視窗程式
8.12.2.2 在Frame中添加選單項
8.12.2.3 一個顯示地圖的JPanel界面
8.12.2.4 添加一個顯示單元的list界面
8.12.2.5 添加輸入對話框
8.12.2.6 圖層下拉框
8.12.2.7 添加、刪除單元按鈕
8.12.3 編輯器的操作設計和實現
8.12.3.1 地圖類的定義
8.12.3.2 新建地圖的實現
8.12.3.3 圖層選擇的實現
8.12.3.4 添加和刪除單元的實現
8.12.3.5 顯示地圖功能
8.12.3.6 編輯地圖功能
8.12.3.7 保存和打開地圖的實現
小結
第9章 ACT類手機遊戲開發實例
9.1 遊戲的基本框架
9.1.1 引言
9.1.2 邏輯處理部分
9.1.2.1 定義LOGO的Image對象和計數器變數
9.1.2.2 初始化部分
9.1.2.3 邏輯部分
9.1.2.4 圖形界面部分(螢幕繪製部分)
9.1.3 圖形界面部分
9.1.4 按鍵處理部分
9.2 遊戲地圖的實現
9.2.1 遊戲地圖的組成
9.2.2 地圖的程式描述
9.2.3 地圖的具體實現
9.2.3.1 遊戲場景地圖的PNG資源圖
9.2.3.2 遊戲場景地圖在手機螢幕上的顯示步驟一
9.2.3.3 遊戲場景地圖在手機螢幕上的顯示步驟二
9.2.3.4 遊戲場景地圖在手機螢幕上的顯示步驟三
9.2.3.5 螢幕在遊戲場景地圖中的坐標(1eftTopX,leftTopY)與主角的關孬
9.2.4 建築層的實現
9.3 ACT遊戲中主角移動與地圖滾動顯示
9.3.1 主角類的基本信息介紹
9.3.2 播放當前動作的動畫
9.3.2.1 動畫的原理
9.3.2.2 動畫的數據結構
9.3.2.3 完整動作的代碼實現
9.3.2.4 具體遊戲中的套用
9.3.3 主角的程式描述
9.3.4 在某狀態下的圖片顯示及其動畫顯示
9.3.5 通過玩家控制(按鍵或者觸屏等)來切換遊戲狀態或者主角狀態(主動狀態切換)
9.3.6 通過主角的動作導致的狀態切換(被動狀態切換)
9.4 AcT遊戲中主角其他各動作之問的切換及顯示
9.4.1 單個按鍵回響對主角狀態的切換
9.4.2 實現連續按鍵的回響
9.4.3 實現多個按鍵的回響
9.4.3.1 多鍵組合的實現
9.4.3.2 條件多鍵組合
9.5 ACT遊戲中主角攻擊與碰撞
9.5.1 主角移動中的碰撞
9.5.1.1 主角與地表層信息的碰撞處理
9.5.1.2 與對象的碰撞處理
9.6 ACT遊戲中特殊技能的實現
9.6.1 遠程攻擊的技能
9.6.2 召喚攻擊技能
9.7 精靈及精靈Al的實現
9.7.1 敵人的基本信息及狀態介紹‘
9.7.2 怪物的多種AI
9.7.2.1 普通怪物
9.7.2.2 追擊型怪物
9.7.2.3 遠程攻擊型怪物
9.7.3 怪物與主角的區域碰撞實現
9.8 道具系統的添加
9.8.1 補充能量道具
9.8.2 特殊效果道具
9.9 劇情對話的添加(腳本實現)
9.10 任務系統
9.11 過場動畫及特效
9.11.1 水平開屏、關屏
9.11.2 垂直百葉窗
9.11.3 打開、關閉盒子
9.12 存儲
9.12.1 記錄管理系統簡介
9.12.2 RecordStore中的數據
9.1 2.2.1 RecordStore與Record的操作
9.12.2.2 遊戲數據的存取
9.13 音效
第10章 全書內容綜述