上篇主要介紹本身我的的經歷,這篇主要講下學習新語言的過程。程序員
上次說到最終選擇的語言是swift,框架用spritekit,上次有網友對爲何選擇用這倆呢,爲何不用cocos和unity呢,cocos和unity我以爲相對來講比較成熟,可是一開始以爲要接觸的東西會比較多,對我來講學習的成本要大點,spritekit 自己集成在xcode中,對新手來講會省去不少的配置工做,能夠很快的進入開發工做,spritekit目前用的人確實很少,現成的開發庫也比較少,遇到問題也很差解決,這個在咱們後面開發中也能感覺到了,不過swift在xcode的中的編碼和調試仍是蠻順暢的,因此有想法本身作遊戲的朋友,根據自身特色,選擇合適的框架。算法
接下來進入正題,講下本身是怎麼學習swift和spritekit的。編程
蘋果推出新語言的時候,就很感興趣,也一直想作移動的應用,因此一直關注,期間也看了一本中文的swift的語法書,以爲這個語言其實跟C#和JavaScript很像的,當時的也沒以爲有什麼特別之處,就是一些形式的改變,但比起object-c的語法感受要容易理解多了。swift
剛開始學習spritekit的時候也是網上找書,但是講spritekit的中文書確實不多,也沒買到。而後就是在一個技術網站上發現了有一套入門教程,感受比較適合,那套教程原價好幾百吧,不過在淘寶花了幾十買了學習碼,能夠直接學習,不過只能看一週的時間,因此那幾天一直沒有停歇,一天看幾課,每課的我都照着事例寫一遍,有時候看到凌晨幾點,以爲除了高考沒有這麼努力過,就這樣把這套視頻完整的看下來了,也寫了幾十個小例子,能夠說對遊戲開發和spritekit有了初步的瞭解。xcode
由於學習spritekit的過程當中,發現本身swift語言的有些不足,以爲語言的基礎也要再瞭解一遍了,就下了官方的swift的教程(The Swift Of Programming Language),那時候正式遇上十一期間,看朋友羣的朋友各類發出去遊玩的照片,本身確在小屋裏看書,程序員的孤獨誰能懂,當時給本身定的目標是十一期間看完這本書,天天逼着本身看幾章,並且是英文的,本身英文水平也是通常,想一想是有多費勁,但就這樣還看了一大半吧,後面的章節以爲對我遊戲編程影響不是不少,並且光看語言,沒有實際的操做,以爲提升不是很大,也很差理解,就沒繼續看了,不過這本書寫的確實有水平,後面遇到的一些問題也在此書裏找到一些解決辦法。框架
以後找到兩個Spritekit的QQ羣,從羣裏找到一本比較新的Spritekit的英文教程(Game Development with Swift),花了2天時間給看完了,也更加清楚了遊戲開發的一些事情,這其中包括精靈、攝像機、動做、控制、物理引擎、碰撞、菜單、聲音、GameCenter、上傳Appstore等等,慢慢發現本身英語水平也有所提升了,書中大部分意思也都能看懂了。另外加羣還有不少好處,後面會講。函數
如今基本知識學習的差很少了,遊戲設計也快成型了,已經清楚作什麼類型的遊戲了,能夠開始作一個遊戲DEMO出來了。學習
咱們此次作的是一款迷宮類型的遊戲,最主要涉及到的核心算法就是尋路算法。接下來兩天就一直在網上開始找和學習尋路算法,最後找到有兩個算法用的比較多,一個是Dijkstra算法,一個是A*算法。Dijkstra算法是比較有表明性的尋找最短路徑的算法,A*算法引入了估價函數,估價值與實際值越接近,估價函數取得就越好。遊戲中多用A*算法比較多,效率也更好點,因此咱們也是選擇了A*算法,並用這個算法寫出了一個的尋路的小DEMO。網站
今天就寫到這裏吧,寫到這裏的時候咱們正在推廣本身的小遊戲,推廣確實不太容易哈,後面會講咱們推廣的一些方法和途徑。編碼
下篇會主要講開發遊戲的過程,但願你們繼續關注,有什麼問題的話,你們能夠留言與我交流。
未完待續,敬請期待。