学习AS游戏开发最近的感想——[2013.9.25]

学习AS游戏开发也有一段时间了,虽然也是接触才3个月左右,但是的确认识到了另一番天地。现在学的内容比较新,上一年才是Flash 3D的元年,今年就步入了这个大军。整体感觉不论是Unity,cocod-2d,html5也好,其实都是一套垮平台的解决方案,只不过我现在而言也仅仅是了解Flash基于air的一套解决方案而已。

最开始学习的AS的一些基础的知识以及一些常见的小游戏的算法的讲解,主要还是熟悉AS的语言特性。现在用到的最多的就是Starling这个框架,这个框架还真是蛮强大的,既轻量也效率高!并且也有一套UI开发使用的“羽毛”,并且他的更新以及社区也受到Adobe的支持,不用担心血统不纯正。国庆过后就该正式进入3D开发的世界中去了,接触了这么长时间,从刚接触到现在也对游戏开发有了些认识,因此再次一则记录下自己的一个心路历程,另外也留待以后反思免得忘了。

1、游戏开发算法很重要,但是没有一个较为成熟的解决方案。

刚开始老师就给我们举例麻将游戏的一个效率问题,随着接触的增加虽然算法是实现游戏的重中之重但是解法并不唯一,至于适合哪一种则就仁者见仁、智者见智了。正因为没有统一的算法,所以也无从谈起的标准。这些至少在AS这里还都没有很成熟的解决方案,即使有那也是很成熟和开放的了。所以至少应当转化为自己的才好,能够从相对的底层实现上慢慢思考问题,我想这就是我一段时间的一个感受,觉的还没有入门。只是一个感觉罢了,可能太多虑了。

2、代码的框架结构

我们很多次强调MVC,并且也强调了设计模式这些的重要,但是这与编程习惯和效率往往是脱离的,因为没有接触到一些游戏开发的工作当中对于协同开发还是有一些问题不能够明白,并且也并不能理解一些分层思想。虽然这些往往被忽略了,但是我本人觉的还是很重要的,值得没事异构一下原来写的代码。因为和原来一个研究生合作的时候,就发现了代码风格不好,注释不详细到后来随着需求的变更和调整往往付出的代价是巨大的,甚至是阵痛。

3、服务器-客户端比重很有意思

虽然客户端随着游戏的种类不同,前台展现会出现不同的展现变化,但是游戏开发当中服务器其实才是整个游戏的核心部分,尤其是那种高同步要求的游戏。那些单机游戏转网游的相应的,客户端的比重会重一些,例如《天天爱跑酷》这类游戏。

4、学习习惯问题

我还是比较习惯跟着老师慢慢走,先理解一下老师面对一个问题的方式和思路,至少现在稍微有一点门路了。知识并不重要,思考方式才更重要一些。先写代码后写注释,源代码关联查证,根据文档提示一步一步推论类的使用这些都是很好的助记方法,当然还有学到的还有很多。我记得我原来面对一个问题的时候,是先理清脉络然后就去百度了,这样反而浪费了很多时间,反而有更好额一些办法来准确的锁定问题。觉的原来学习的Android,JavaWeb对于现在并不是没有用,反而那个时候学习查找Bug修正解决问题的方法都值得现在来借鉴,并且借鉴过来反而能更好的解决问题。

例如:Android开发并不支持控制台输出,所以挑Bug的这些在编程时尽量打Log。这个方法我感觉就能很好的帮我锁定问题,尤其在类较多的时候,也是我以后写代码都会在异常抛出的地方先打印一下类名之类的操作。以供锁定异常所在。

5、自我评估

渐渐的不知不觉也有了一个自我评定的体系了,虽然很不完善,但是还是多少让我有了一些自信。自我评估就得先自我定位,我觉的作为一名Coder最主要的还是对代码负责,代码如何才更要效率,代码如何才更健壮,代码如何才更好维护,这些比逻辑实现更有价值。当然算法是这一切的基础。有了自我定位那就得不断的尝试和解决问题,能力要大于解决的问题的状态才是最好的,而这也是不断奋斗的目标吧。能力大于动手,眼力大于能力,才能更好的向前迈进。

6、没有捷径

编程的学习是一个渐进的过程,是一个面对问题解决问题的过程,牛人就是见得问题多了,并且也都解决了的人。只能不断的学习和迈进才更合理。公司里面的牛人很多,他们在看问题和解决问题的方式要留意。程序员按年限论资排辈儿也是合理,天才不是没有,但是庸才也能成为人才。

这就是这一段的感受,说起来也是大学快上完的我,步入实习现在回想过去学习编程以来的一些感受吧。外语反而成为了最薄弱的部分,影响了对于源代码以及一些错误的理解能力,可见接触的少了。所以以后碰到不认识的单词就尽量记下来,留待吹牛装逼的时候使用,想想就挺爽的。

原文地址:https://www.cnblogs.com/flashbird/p/3339957.html