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

  上次说到最终选择的语言是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。

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

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

  未完待续,敬请期待。  

.net程序员转行做手游开发经历(二)的更多相关文章

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

    从辞职到自己开发游戏也有几个月的时间了,游戏也已经在AppStore上线了,我觉得我有必要写点东西,算是留下的一些记忆,也可以和广大博友分享下自己的创业经历,这可能不是一篇成功的创业经历,因为故事还在 ...

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

    今天是大年初二,在这里先给大家拜个年,祝大家在新的一年里能事事顺心. 年前的时候更新了一版,先发了内测,没有想到过年这几天,有的小伙伴们还在玩,还给我们提了很多建议和意见,让我们觉得非常温暖,给我们很 ...

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

    大家好,真的是好长时间都没有更新博客了.上来博客园发现很多朋友还在关注我们,那给大家汇报下最近的一些进展. 收费版上线了,但是下载量不是很多,刚发布的时候下载每天的下载还是挺多,我们几个小伙伴在论坛. ...

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

    这次就主要讲讲我们开发的过程. 策划是我们团队的一个人成员专门负责,我们几个算是出谋划策.我这边的理解是,策划首先需要对所做的事情一定要有一定的把握,意思是尽可能的想到这件事情的影响范围,类似项目管理 ...

  5. 1奶茶店创业成本: 2发饰品加盟店创业成本 3眼镜行业店创业成本 从“程序员转行卖烧饼”想到IT人创业

    总结: -------奶茶店创业成本: 而这个奶茶店初期投资是:3万元加盟费+1万元保证金+8000装修+两万设备(冰柜.展示柜.收银机等等).别说赚钱,什么时候把初期投资赚回来呀! 一个店的利润就是 ...

  6. 从“程序员转行卖烧饼”想到IT人创业

    我的一个朋友最近总在跟我念叨着“我不想做开发了,整天累死累活写程序,也攒不下几个钱.我想辞职搞点啥!” 我问他:“你想搞点啥?”. 他说:“搞啥都比做开发强,做个网站赚广告费,接私活……实在不行我去卖 ...

  7. Cocos2d-x 3.X手游开发实例详解

    Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...

  8. 程序员带你学习安卓开发-XML文档的创建与解析

    这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:程序员带你学习安卓开发系列-Android文件存储 因知识连贯性推荐关注头条号:做全栈攻城狮.从头开 ...

  9. 程序员带你学习安卓开发系列-Android文件存储

    这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:.Net程序员快速学习安卓开发-布局和点击事件的写法 主要讲解了布局和点击事件的写法. 上篇文章补充 ...

随机推荐

  1. One to One 的数据库模型设计与NHibernate配置

    在数据库模型设计中,最基本的实体关系有三种:一对一.一对多.多对多.关于一对多和多对多使用的情况较多,之前也有过一些讨论,现在来说明一下在数据库中一对一的模型设计. 首先,关系数据库中使用外键来表示一 ...

  2. MongoDB学习笔记——Master/Slave主从复制

    Master/Slave主从复制 主从复制MongoDB中比较常用的一种方式,如果要实现主从复制至少应该有两个MongoDB实例,一个作为主节点负责客户端请求,另一个作为从节点负责从主节点映射数据,提 ...

  3. MySQL 5.6 主从复制如何处理——触发器,函数,存储过程,调度事件

      截图来自MySQL5.6的pdf版文档. 说明: 1)基于语句的复制时,trigger会在slave上执行,所以slave上也需要有trigger的定义,不然会导致主从数据不一致的: 2)基于行的 ...

  4. C#调用SQL Server参数过程传参

    -SQL SERVER生成测试环境: Create database Test; go USE [Test] GO if OBJECT_ID('Tab2','U') is not null drop ...

  5. 曲演杂坛--使用CTE时踩的小坑:No Join Predicate

    在一次系统优化中,意外发现一个比较“坑”的SQL,拿出来供大家分享. 生成演示数据: --====================================== --检查测试表是否存在 IF(O ...

  6. 在java中使用RBL服务器(中国反垃圾邮件联盟的CBL+使用)

    这是06年写的,不知道现在RBL改了没,不过恢复过来做记录,以后可能需要. 实时黑名单(RBL)实际上是一个可供查询的IP地址列表,通过DNS的查询方式来查找一个IP地址的A记录是否存在来判断其是否被 ...

  7. oracle常用命令集合

    一. 表空间相关命令 创建数据表空间 create SMALLFILE tablespace dataSpace datafile 'E:\oracle\product\10.2.0\oradata\ ...

  8. 初识Hadoop入门介绍

    初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...

  9. 工作中常用的Linux命令:crontab命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...

  10. zookeeper 相关学习资料

    zookeeper的配置:http://www.cnblogs.com/yuyijq/p/3438829.html zookeeper运维:http://blog.csdn.net/hengyunab ...