Lua游戲開發(fā)實踐指南

出版時間:2013-1  出版社:機械工業(yè)出版社  作者:Paul Schuytema,Mark Manyen  頁數(shù):246  譯者:田劍  
Tag標(biāo)簽:無  

內(nèi)容概要

本書是資深Lua游戲開發(fā)工程師10余年工作經(jīng)驗和智慧的結(jié)晶,Lua語言創(chuàng)始人親自作序推薦,是Lua游戲開發(fā)領(lǐng)域最具實戰(zhàn)意義和代表性的著作之一。它不僅詳細講解了在游戲開發(fā)中使用Lua的各種技術(shù)細節(jié)、方法技巧和最佳實踐,而且講解了如何使用Lua作為主要工具將游戲設(shè)計轉(zhuǎn)化為代碼實現(xiàn)的過程。此外,它還重點闡述了Lua語言的核心要素。最重要的是,本書包含大量精心設(shè)計的案例,并附贈了完整的源代碼,可操作性極強。

全書一共15章:第1~3章簡單地介紹了Lua語言的特性、授權(quán),以及在游戲開發(fā)中的強大用途;第4~5章詳細講解了Lua語言的基本語法和核心要素;第6~7章講解了Lua與C/C++程序的整合以及與C++的交互相關(guān)的技術(shù)細節(jié);第8~9章介紹了開發(fā)前需要做的準(zhǔn)備工作,以及如何設(shè)計Lua版本的實現(xiàn);第10章講解了如何使用Lua來處理游戲數(shù)據(jù);第11章講解了Lua驅(qū)動的GUI;第12章詳細講解了兩個完整的游戲開發(fā)案例;第13章結(jié)合實例講解了如何使用Lua定義和控制AI;第14章展示了Lua在圖形繪制和圖像處理方面的強大功能;第15章探討了Lua與多媒體、Lua腳本的調(diào)試、Lua應(yīng)用的資源管理以及Lua代碼的發(fā)布等內(nèi)容。

作者簡介

  Paul
Schuytema 資深游戲開發(fā)專家兼Lua開發(fā)工程師,在游戲開發(fā)領(lǐng)域研究和實踐10余年,積累了豐富的經(jīng)驗。曾經(jīng)在過去的10屆全球游戲開發(fā)大會(GDC)中發(fā)表過重要演講,在游戲開發(fā)領(lǐng)域頗有影響力。他設(shè)計并開發(fā)了20余款經(jīng)典的游戲,發(fā)表了200多篇與游戲開發(fā)相關(guān)的專業(yè)文章,而且他還是多本書籍的作者或合著者。
  Mark Manyen 資深游戲開發(fā)專家兼Lua開發(fā)工程師,Magic
Lantern的技術(shù)總監(jiān),在超過25款游戲中指導(dǎo)并使用了該技術(shù)。他在Magic Lantern's J5
技術(shù)套件中引入了Lua,并且開發(fā)了所有與J5代碼庫相關(guān)聯(lián)的“Lua Glue”函數(shù)。

書籍目錄

譯者序

前言
致謝
第1章游戲開發(fā)入門
1 1越來越復(fù)雜的開發(fā)過程
1 2更好的開發(fā)方式
1 3為什么使用Lua
1 4本章小結(jié)
第2章腳本語言
2 1腳本語言簡介
2 2Lua簡介
2 2 1Lua的歷史
2 2 2Lua授權(quán)
2 3本章小結(jié)
第3章游戲開發(fā)世界的Lua語言
3 1腳本語言和游戲
3 2游戲項目中的Lua
3 2 1游戲界面
3 2 2管理游戲數(shù)據(jù)
3 2 3事件處理
3 2 4保存和讀取游戲狀態(tài)
3 2 5人工智能
3 2 6快速構(gòu)建原型
3 3本章小結(jié)
第4章Lua入門
4 1使用Lua控制臺
4 2Lua基礎(chǔ)
4 3變量
4 3 1nil
4 3 2Boolean
4 3 3string
4 3 4Number
4 3 5table
4 3 6局部變量和全局變量
4 4運算符
4 4 1算術(shù)運算符
4 4 2關(guān)系運算符
4 4 3邏輯運算符
4 5控制結(jié)構(gòu)
4 5 1if
4 5 2while和repeat
4 5 3for
4 5 4break
4 6本章小結(jié)
第5章深入學(xué)習(xí)Lua
5 1函數(shù)
5 1 1單一參數(shù)
5 1 2多個參數(shù)
5 1 3返回值
5 2標(biāo)準(zhǔn)庫
5 2 1assert(myValue)()
5 2 2dofile(filename)
5 2 3math floor()
5 2 4math random()
5 2 5math min()
5 3字符處理
5 3 1類型轉(zhuǎn)換
5 3 2string char(n1,n2, )
5 3 3string len(myString)
5 3 4string sub(myString,
start,end)
5 3 5string format()
5 3 6string find(sourceString,findString)
5 3 7字符和格式
5 4table數(shù)據(jù)結(jié)構(gòu)
5 4 1table getn(myTable)
5 4 2table insert(myTable,position,value)
5 4 3table remove(myTable,position)
5 4 4table引用
5 4 5多維table
5 4 6pairs()
5 5I/O基礎(chǔ)
5 6本章小結(jié)
第6章Lua與C/C++程序的整合
6 1初期設(shè)計要點
6 1 1Lua環(huán)境
6 1 2LuaGlue函數(shù)
6 2基本實現(xiàn)方式
6 2 1創(chuàng)建Lua運行環(huán)境
6 2 2添加LuaGlue函數(shù)
6 2 3命令處理
6 2 4退出程序
6 2 5cLua對象和LuaLib
6 2 6使用cLua的例子
6 2 7LuaGlue函數(shù)的優(yōu)點
6 2 8LuaGlue函數(shù):參數(shù)和返回值
6 3本章小結(jié)
第7章Lua與C++的交互
7 1重新審視LuaGlue函數(shù)
7 2C++代碼和Lua的交互
7 3事件驅(qū)動的編程
7 3 1示例事件
7 3 2事件的參數(shù)
7 4錯誤處理
7 5本章小結(jié)
第8章開發(fā)準(zhǔn)備
8 1Visual C++ 6 0工作區(qū)
8 2DirectX基礎(chǔ)
8 3LuaGUI簡介
8 3 1啟動GUI
8 3 2界面
8 3 3界面控件
8 3 4事件
8 3 5與GUI系統(tǒng)相關(guān)的LuaGlue函數(shù)
8 3 6Shell程序的擴展
8 4調(diào)試窗口
8 5Windows注冊表
8 6本章小結(jié)
第9章設(shè)計Lua版本的實現(xiàn)
9 1游戲設(shè)計原則
9 1 1什么是游戲
9 1 2了解玩家的想法
9 2基礎(chǔ)庫設(shè)定
9 3設(shè)計文檔
9 4Lua編程規(guī)范
9 5本章小結(jié)
第10章使用Lua處理游戲數(shù)據(jù)
10 1簡單的游戲數(shù)據(jù)
10 1 1太空飛船的例子
10 1 2《Take Away》的玩家飛船
10 1 3敵艦數(shù)據(jù)
10 1 4補給箱數(shù)據(jù)
10 2大數(shù)據(jù)集
10 2 1表單型數(shù)據(jù)
10 2 2Lua格式的數(shù)據(jù)文件
10 3使用Lua保存游戲數(shù)據(jù)
10 3 1案例1——《Frontrunner》
10 3 2案例2——健身大亨
10 4本章小結(jié)
第11章Lua驅(qū)動的GUI
11 1GUI系統(tǒng)概要
11 2GUI的C++類
11 2 1GUI控件:Sprite
11 2 2GUI控件:TextField
11 2 3GUI控件:Button
11 2 4界面
11 2 5GUI管理器
11 3GUI LuaGlue函數(shù)
11 4進一步的說明
11 5Lua游戲界面
11 5 1界面設(shè)計原則
11 5 2快速創(chuàng)建界面
11 5 3載入界面
11 5 4主菜單界面
11 5 5Controls界面
11 5 6InGame界面
11 6本章小結(jié)
第12章Lua游戲編程
12 1游戲主循環(huán)
12 2井字棋
12 2 1游戲的初始化
12 2 2游戲回合處理
12 2 3模擬游戲回合
12 3《Take Away》游戲的實現(xiàn)原理
12 3 1InGame
12 3 2使用計時器
12 3 3玩家操作
12 3 4子彈運動
12 3 5飛船移動
12 3 6繪制活動的物體
12 4本章小結(jié)
第13章使用Lua定義和控制AI
13 1智能的體現(xiàn)
13 221點游戲
13 3井字棋
13 4《Take Away》游戲的實現(xiàn)
13 4 1掠奪艦
13 4 2攻擊艦
13 4 3沖擊艦
13 4 4混合艦
13 4 5控制飛行方向
13 4 6碰撞檢測
13 5其他AI的例子
13 5 1靜態(tài)追蹤
13 5 2近距離追蹤
13 5 3動態(tài)追蹤
13 5 4預(yù)判型追蹤
13 5 5炮塔攻擊
13 5 6躲避攻擊
13 5 7防御性射擊
13 5 8攻擊傷害
13 6有限狀態(tài)機
13 7路徑尋找
13 7 1算法概要
13 7 2路徑尋找示例
13 7 3Lua實現(xiàn)
13 8本章小結(jié)
第14章Lua和圖像
14 1運行繪圖示例
14 1 1指紋示例
14 1 2爆炸示例
14 2線性移動
14 2 1GetCollisions函數(shù)
14 2 2HitTest函數(shù)
14 2 3進一步的說明
14 3碰撞檢測
14 3 1LuaGlue函數(shù)SetTexture
14 3 2坦克示例
14 42D粒子系統(tǒng)
14 5本章小結(jié)
第15章最后說明
15 1添加音效和音樂
15 1 1LuaGlue函數(shù)PlaySound
15 1 2音樂
15 2使用編輯器
15 3調(diào)試Lua腳本
15 3 1通用原則
15 3 2調(diào)用DoFile函數(shù)
15 3 3Lua 錯誤消息
15 3 4使用實時調(diào)試窗口
15 3 5使用文本框
15 3 6使用文件輸出
15 4資源管理
15 4 1資源的組織
15 4 2運行時的文件夾
15 5發(fā)布Lua代碼
15 6許可證
15 7進一步的說明
15 8本章小結(jié)

章節(jié)摘錄

版權(quán)頁:   插圖:   Lua在游戲開發(fā)中的一個很強大的特性是它能夠作為保存、載人游戲數(shù)據(jù)的主要工具。所有的游戲都和數(shù)據(jù)相關(guān),在腳本層處理數(shù)據(jù),意味著游戲設(shè)計師和腳本程序員可以獨立于底層的核心代碼,訪問所有的游戲數(shù)據(jù)并且設(shè)計符合游戲需要的數(shù)據(jù)存儲方式。Lua還可以被用于保存游戲進度、游戲開始時的數(shù)據(jù)載入,以及玩家載人游戲進度。 在本章中,我們將要了解如何使用Lua變量和表來存放運行時數(shù)據(jù),以及如何輸出數(shù)據(jù)保存游戲進度。 10.1簡單的游戲數(shù)據(jù) 幾乎所有的游戲都有很重要的數(shù)據(jù)組件。一些簡單的經(jīng)典游戲,如《space Invader》(太空侵略者)、(Asteroids)(爆破彗星),在運行時只有很少的數(shù)據(jù),但也包含了基本的信息。更多的現(xiàn)代游戲,如《Doom3)(毀滅戰(zhàn)士3)或者(Neverwinter Nights》(無冬之夜),在運行時會有大量的數(shù)據(jù)產(chǎn)生。 有些數(shù)據(jù)在C++領(lǐng)域是十分清楚的。想象一下3D第一人稱射擊游戲,在每一幀的圖形繪制中,計算決定了屏幕上顯示的場景以及用來表示動態(tài)物體的數(shù)據(jù),如那些玩家射擊的怪物和玩家自己控制的3D角色,這些物體都是由成百上千個點和三角形組成。

編輯推薦

《Lua游戲開發(fā)實踐指南》從最簡單的HelloWorld到復(fù)雜的人工智能和路徑搜索,使用了大量的例子為初學(xué)者詳細解釋了Lua語言的方方面面,并帶領(lǐng)大家從游戲設(shè)計開始逐步實現(xiàn)游戲的快速原型,展示了完整的游戲開發(fā)流程。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Lua游戲開發(fā)實踐指南 PDF格式下載


用戶評論 (總計77條)

 
 

  •   這本不是詳盡的lua教程,而是教你如何使用lua進行游戲設(shè)計。是我想要的。想深入學(xué)lua的話還是lua程序設(shè)計。
  •   目前關(guān)于lua的書我知道兩本,一本是《lua程序設(shè)計》,另一本則為它,前者的基礎(chǔ)語法等講的比較細致,后則為語法加實戰(zhàn)。編程入門者可以選擇前者,而已經(jīng)開始寫程序的則當(dāng)之無愧的選擇正本啦。
  •   現(xiàn)在國內(nèi)Lua的書太少,這本配合lua程序設(shè)計,基本可以滿足大部分要求了。。。。
  •   作為為數(shù)不多的lua入門教程。贊一個。如果要深入,還是需要自己努力。
  •   關(guān)于LUA的中文書就那么點,相信學(xué)的人肯定都會買這本書的吧
  •   感覺不適合lua初學(xué)者。
  •   這本書不錯,但不適合入門,很多代碼沒給你剖析
  •   這本書印刷的很不錯。但附帶的光盤中的關(guān)于書中的例子所用的庫過時了。以至于,直到學(xué)完這本書,我都沒有成功的配置好實例的環(huán)境。總的來說,還是不錯的。
  •   短短200+頁的書,實戰(zhàn)很強性
  •   很好 很強大,值得一買,值得一讀,用作工具書也很實用
  •   本書很詳盡規(guī)范,剛瀏覽了一下目錄,是一本必備的腳本教材。受益匪淺。
  •   還不錯,不是很詳細~
  •   爸爸看的書,實用性強
  •   這書還不錯,里面有我需要的內(nèi)容
  •   此書看起來還行,準(zhǔn)備好好讀讀。
  •   書很好 很滿意 內(nèi)容很新穎
  •   書的內(nèi)容也不錯,由淺入深,配套光碟不錯
  •   目前還在學(xué)習(xí)中,研讀之后,才會有心得。
  •   各方面講的都挺好的,例子也很多
  •   哇,真是太太太太喜歡了。
  •   送貨上門挺快的
  •   還不錯,不過貌似不太適合初學(xué)者閱讀。
  •   書真的不錯,學(xué)習(xí)了!
  •   好不錯哦可,正版挺便宜的!
  •   很好很不錯,頂一個!收藏了!
  •   很不錯的書。送貨也很快。
  •   好評,書的質(zhì)量很好,很愉快的一次購物
  •   書的質(zhì)量不錯 還在 re*****
  •   剛剛看了一點點,感覺很不錯,但不適合初學(xué)者
  •   不錯 挺好的~挺滿意的~
  •   孩子自學(xué)用的,大部明白,有些地方稍難懂
  •   我覺得這本書還有很多不夠的地方:1.知識點很分散,沒有一個統(tǒng)一的講解??赡苁侵饕vlua吧,這本書講解了lua系統(tǒng),但是沒有結(jié)合C++部分程序來講解,造成閱讀源代碼時,有點難理解。2.分散的知識點,有些講得不夠細、不夠深入。還需要多看源代碼,上下文聯(lián)系來學(xué)習(xí)。學(xué)完這本書后,看了點其他書籍,我突然發(fā)現(xiàn)原來源代碼的C++程序,已經(jīng)可以看成是一個簡單的游戲引擎了,而lua腳本只是調(diào)用游戲引擎API,來組織成游戲。
  •   里面用的是Lua5.0,確實技術(shù)有些老了,現(xiàn)在很多都是Lua5.1了,5.2也出來不短的時間了。但是作為實踐性的指南來說,應(yīng)該還可以作為參考。跟《Lua程序設(shè)計》第二版配套使用,應(yīng)該會不錯吧。
  •   個人覺得這書一般,我們公司使用了Lua,所以必須從頭學(xué)起,作為初學(xué)者,此書還是有用的
  •   初級的lua教程簡單易懂 不過里面總有一些C++的內(nèi)容 像我這種只會lua和VBA的就傻X了
  •   對于函數(shù)等講得太少,建議配合Programming In Lua
  •   感覺還不錯.只看了一點,覺得幫助挺大.而且對基本語法介紹不那么多,小小一本有用內(nèi)容不少.
  •   是本好書,提供了不少的實例。
  •   就是內(nèi)容有點舊,其它還可以看下
  •   蠻喜歡的一本書,但貌似跟我想象的不一樣
  •   今天看了下,還是挺吃力的。估計是自己的能力不夠吧,希望以后本書對自己有幫助。
  •   正在看。以后分享。書質(zhì)量不錯
  •   說的東西少了些,還是挺不錯的
  •   書還可以,不過和我想象的還是有差距
  •   還沒看完。。。還沒看完。。。還沒看完。。。
  •   內(nèi)容以應(yīng)用實踐為主,有少量的語法講解 個人感覺還不如不要這些語法講解 講得不精 還占篇幅實例講解也不夠精細,基本上都是講個大概,得結(jié)合光盤附帶源碼學(xué)習(xí)比較適合想用lua做游戲但不明白lua在游戲中作用的人看,看完能對lua的作用有個大致了解
  •   看不懂。本想買一本講述lua的,學(xué)后希望能用來寫一些魔獸世界 游戲的簡單插件。本人是php程序員,水平一般般。程序方面能看懂,但是想用來寫插件,沒戲。
  •   lua另外有一本好書,但絕版了,只好買了這本。
  •   真的很一般,沒有想象中的好看。貌似不太嚴(yán)禁,也沒什么亮點。
  •   賣家發(fā)貨還好。。上海萬象很坑爹。。各種慢。。。。上周四買的。這周二終于到了。。
  •   還沒開始看,這幾天忙著年終各種文檔。
  •   這本書價值不大,既不是基礎(chǔ),也不適合于專注更復(fù)雜的LUA應(yīng)用,屬于雞肋品
  •   說的不夠深入, 不能滿足我的欲望, 但是如果說是入門, 臨時用用. 是沒問題的. 但是要想深入這沒可能的.希望繼續(xù)深入的同學(xué), 建議看這本 (第二版).
  •   1. 這本書出版日期是2013年1月,是你穿越了還是我穿越了2. 原書估計是2003年或2004年寫的,很多內(nèi)容已經(jīng)跟不上時代了
  •   寫的能多省略就多省略,沒看過原版,反正這本翻譯版的沒把lua的最基本東西給講出來。
  •   這本實在是不怎么樣,感覺被騙,內(nèi)容太淺了
  •   不適合初學(xué)者以及想要學(xué)習(xí)lua的人。內(nèi)容有些老,不過書中對游戲開發(fā)的一系列具體過程闡述得非常詳細和規(guī)范,是一本能提高功力的擴展讀物,可以當(dāng)作《Lua程序設(shè)計》之后的第二本擴展參考資料。
  •   很新,感官好!經(jīng)濟實惠
  •   并不適合初學(xué)者,同時說的過于簡單了,例子學(xué)習(xí)還不如到網(wǎng)上找別人的案例教學(xué)!希望作者能更認(rèn)真的寫書!而不是為了出書而寫書!
  •   全書一直在說LUA很強大,看到第5章還在重復(fù)著lua強大,具體怎么使用,有哪些技巧,一點都沒有,垃圾書
  •   感覺買錯書了。。。。我想看cocos2d的
  •   這本書首先比較貴,只有200多頁,感覺40+不是很值,要看懂這本書還有具備C++基礎(chǔ)和windows編程基礎(chǔ),關(guān)于這些 推薦閱讀《C++primer》和《windows程序設(shè)計》
  •   讀完8章,有點讀不下去了,不停地重復(fù)lua多好多好,但都說的很表面,沒有實質(zhì)性內(nèi)容,無數(shù)的代碼錯誤,不知道是原書錯誤還是翻譯整理錯誤。。難道就沒有專業(yè)人士審核嗎?
  •   內(nèi)容還挺留在5.0時代,5.1之后有很多更新
  •   書里的LUA,講解的極少,基本就是用LUA這種語言寫了些簡單的邏輯。翻了半天,這些例子都太簡單了,涉及到的LUA知識更少,感覺書很雞肋
  •   雖然里面講得都是……貪吃蛇級別的游戲,哈哈
  •   應(yīng)該很好正在看,應(yīng)該比較簡單.
  •   應(yīng)該不錯,買少見少。。
  •   lua的內(nèi)容不是很多,不適合入門級別,了解lua在游戲中的作用還可以
  •   建議想要好好學(xué)lua的朋友先看《lua程序設(shè)計 第二版》,這本書更適合對lua已經(jīng)有了解的朋友,書中對lua基礎(chǔ)知識只是簡簡單單概括,只講述了最基本的部分,更側(cè)重的是幾個很古老的案例,實用性不是很大,性價比不高,市面上lua的書實在太少,這本只能作為《lua程序設(shè)計》的第二本參考書籍吧
  •   通俗易懂,由淺入深,比網(wǎng)上的教程電子書好看多了
  •   用例子說明語法,比較簡潔,也不是很深入,可能國內(nèi)對Lua研究的不多
  •   Lua游戲開發(fā)實踐指南
  •   不懂,買給別人的
  •   還行,,就是這個本書這個價格有點貴
  •   看了一下 還行
  •   非常好!?。。。。。。。。。。?!11
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7