CloudBox开发的心路历程

来源:互联网 发布:四轴加工中心编程实例 编辑:程序博客网 时间:2024/05/02 01:34
2010年,那时候开始在思考以后要怎么在开发app上做一些属于自己的规划
思考过学习一套开源引擎,直接使用,也思考过自己开发一套,一边培养自己的功力,一边做。
最后给自己下了决定的因素,是在于对自己的人生定位是什么?

我自己思考过很多,是要走上项目管理?当个管理者好呢?还是继续努力技术,就纯粹当个技术大拿?
那时也有想换个环境的想法,就到处去谈了一谈。
总结下来,给自己决定了方向,世界顶尖的技术大拿,既然决定了,那就行动。

也因此开始学习怎么自己做一套框架,找了不少开源项目来学习,iphone版cocos2d, ORGE, 反组译.NET framework读源码。
读了不少大大小小的源码,学习设计,将其实践在工作的项目上,用工作来验证所学,用验证过的成果来开发自己的产品。
但我对于游戏的经验,就是几个小游戏,以及十年前用过Win32SDK+DirectX7.0做过像雷电那种卷轴射击游戏。

但我并没有opengles的相关经验,只好多花了点时间替自己打基础。
一个人开始用自己的方法做引擎开始验证,遇到了瓶颈跟问题,就自己想办法克服。
做到一定程度后,也顺利的从ios上跨到了android上,却发现cocos2d-x比我还要早就搞出来了,还跨了好几个平台。
虽然一时之间也受到了打击,但后来想想,那又有什么关系?
就算我放弃自己的,花时间去学习cocos2d,我还是没自己经历过跨平台会遇上的问题。

opengl是个状态机引擎的程序,因此无法使用额外创建的线程来建立纹理。
我用委托的方式解决这问题后,却又在android上发现,java的jni同样也必须在主线程呼叫才可。
因此我在ios平台上所使用的方式,在android上却是行不通的。
有了这些过程,我对于opengles以及android ndk有了更深入的了解,这些都是学习一套引擎所无法学习到的知识。

同时试著用自己的方法思考怎么解决跨平台这个问题,运用了各种设计方式,验证,否定,再验证,再否定。
在软件设计上的理解上,也随著这些过程提高,把这些理解使用到公司的项目上,也更巩固了在公司的地位。
虽然我公司的项目跟移动装置上的应用完全无关,但毕竟软体设计的思维是相通的。

把这套框架开源并整理一些资料分享给其他朋友,在这个过程中,有了种突然融会贯通的顿悟感,一种很模糊的感觉。
我也更确认,想要提高自己最好的方法就是自己实践过,并且整理出来分享给别人懂。