.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。
今天就写到这里吧,写到这里的时候我们正在推广自己的小游戏,推广确实不太容易哈,后面会讲我们推广的一些方法和途径。
下篇会主要讲开发游戏的过程,希望大家继续关注,有什么问题的话,大家可以留言与我交流。
未完待续,敬请期待。
.net程序员转行做手游开发经历(二)的更多相关文章
- .net程序员转行做手游开发经历(一)
从辞职到自己开发游戏也有几个月的时间了,游戏也已经在AppStore上线了,我觉得我有必要写点东西,算是留下的一些记忆,也可以和广大博友分享下自己的创业经历,这可能不是一篇成功的创业经历,因为故事还在 ...
- .net程序员转行做手游开发经历(四)
今天是大年初二,在这里先给大家拜个年,祝大家在新的一年里能事事顺心. 年前的时候更新了一版,先发了内测,没有想到过年这几天,有的小伙伴们还在玩,还给我们提了很多建议和意见,让我们觉得非常温暖,给我们很 ...
- .net程序员转行做手游开发经历(五)
大家好,真的是好长时间都没有更新博客了.上来博客园发现很多朋友还在关注我们,那给大家汇报下最近的一些进展. 收费版上线了,但是下载量不是很多,刚发布的时候下载每天的下载还是挺多,我们几个小伙伴在论坛. ...
- .net程序员转行做手游开发经历(三)
这次就主要讲讲我们开发的过程. 策划是我们团队的一个人成员专门负责,我们几个算是出谋划策.我这边的理解是,策划首先需要对所做的事情一定要有一定的把握,意思是尽可能的想到这件事情的影响范围,类似项目管理 ...
- 1奶茶店创业成本: 2发饰品加盟店创业成本 3眼镜行业店创业成本 从“程序员转行卖烧饼”想到IT人创业
总结: -------奶茶店创业成本: 而这个奶茶店初期投资是:3万元加盟费+1万元保证金+8000装修+两万设备(冰柜.展示柜.收银机等等).别说赚钱,什么时候把初期投资赚回来呀! 一个店的利润就是 ...
- 从“程序员转行卖烧饼”想到IT人创业
我的一个朋友最近总在跟我念叨着“我不想做开发了,整天累死累活写程序,也攒不下几个钱.我想辞职搞点啥!” 我问他:“你想搞点啥?”. 他说:“搞啥都比做开发强,做个网站赚广告费,接私活……实在不行我去卖 ...
- Cocos2d-x 3.X手游开发实例详解
Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...
- 程序员带你学习安卓开发-XML文档的创建与解析
这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:程序员带你学习安卓开发系列-Android文件存储 因知识连贯性推荐关注头条号:做全栈攻城狮.从头开 ...
- 程序员带你学习安卓开发系列-Android文件存储
这是程序员带你学习安卓开发系列教程.本文章致力于面向对象程序员可以快速学习开发安卓技术. 上篇文章:.Net程序员快速学习安卓开发-布局和点击事件的写法 主要讲解了布局和点击事件的写法. 上篇文章补充 ...
随机推荐
- 在JSP动态网页中输出九九乘法表
<% StringBuffer sb = new StringBuffer(); ; i <= ; i++){ ; j <= i; j++){ sb.append(j + " ...
- coursera机器学习笔记-神经网络,初识篇
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- 使用axis调用WebService服务端
由于项目中要调用其他公司的接口,研究了下axis调用webService这种方式,现将代码贴出,以备以后查阅: package com.xbq; import javax.xml.namespace. ...
- 含有SilverLight项目的代码重用
很多时候,我们工程中不只是有SilverLight项目,然而我们想把其他的项目中的工具类,或者实体类复用到SilverLight项目中时,会发现SilverLight项目无法使用.这是个很普遍的现象. ...
- dubbo-admin-2.5.3 运行报错: Bean property 'URIType' is not writable or has an invalid 解决方法
因为 jdk 是1.8的版本,和 dubbo-admin 存在兼容性问题.所以报错: Bean property 'URIType' is not writable or has an invalid ...
- 烂泥:yum的使用及配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近由于服务器需求,需要在公司内网搭建内网yum源. 搭建内网yum源需要分以下几个步骤,如下: 1. yum是什么 2. repo文件是什么 3. r ...
- RedHat Linux 9.0的安装+入门指南(图文并茂)
一,准备工作1,购买或下载Redhat9的安装光盘(3张盘)或镜像文件2,在硬盘中至少留2个分区给安装系统用,挂载点所用分区推荐4G以上,交换分区不用太大在250M左右比较适合,文件系统格式不论,反正 ...
- Debian deb源方法升级PHP软件包
学习Linxu以来,一直坚持编译方式安装软件包,貌似圈子里面也是都倾向于编译,可是搜索到的编译方法都是一堆复制粘贴来的指令, 每个人都这么编译, 却几乎没有人去写明那些五花八门的编译指令代表了什么,是 ...
- 【2016-10-12】【坚持学习】【Day3】【命令模式】
今天学习了第二个模式,命令模式 例子: 开关==>发送者 电线==>命令传输 电灯==>接受者 一个开关可以通过不同电线控制不同电器, 结构: 发送者类, 抽象命令类 具体命令类:继 ...
- openjudge1768 最大子矩阵[二维前缀和or递推|DP]
总时间限制: 1000ms 内存限制: 65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的 ...