.net程序员转行做手游开发经历(二)

  上篇主要介绍自己个人的经历,这篇主要讲下学习新语言的过程。

  上次说到最终选择的语言是swift,框架用spritekit,上次有网友对为什么选择用这俩呢,为什么不用cocos和unity呢,cocos和unity我觉得相对来说比较成熟,但是一开始觉得要接触的东西会比较多,对我来说学习的成本要大点,spritekit 本身集成在xcode中,对新手来说会省去很多的配置工作,可以很快的进入开发工作,spritekit目前用的人确实不多,现成的开发库也比较少,遇到问题也不好解决,这个在我们后面开发中也能感受到了,不过swift在xcode的中的编码和调试还是蛮顺畅的,所以有想法自己做游戏的朋友,根据自身特点,选择合适的框架。

  接下来进入正题,讲下自己是怎么学习swift和spritekit的。

  苹果推出新语言的时候,就很感兴趣,也一直想做移动的应用,所以一直关注,期间也看了一本中文的swift的语法书,觉得这个语言其实跟C#和JavaScript很像的,当时的也没觉得有什么特别之处,就是一些形式的改变,但比起object-c的语法感觉要容易理解多了。

  刚开始学习spritekit的时候也是网上找书,可是讲spritekit的中文书确实很少,也没买到。然后就是在一个技术网站上发现了有一套入门教程,感觉比较适合,那套教程原价好几百吧,不过在淘宝花了几十买了学习码,可以直接学习,不过只能看一周的时间,所以那几天一直没有停歇,一天看几课,每课的我都照着事例写一遍,有时候看到凌晨几点,觉得除了高考没有这么努力过,就这样把这套视频完整的看下来了,也写了几十个小例子,可以说对游戏开发和spritekit有了初步的了解。

  因为学习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。

  今天就写到这里吧,写到这里的时候我们正在推广自己的小游戏,推广确实不太容易哈,后面会讲我们推广的一些方法和途径。

  下篇会主要讲开发游戏的过程,希望大家继续关注,有什么问题的话,大家可以留言与我交流。

  未完待续,敬请期待。  

posted @ 2016-01-21 18:38  枫小子  阅读(5057)  评论(31编辑  收藏  举报