功能机时代的游戏开发
来源:互联网 发布:c51和c语言的区别 编辑:程序博客网 时间:2024/05/22 14:10
初入游戏行业时,从事BREW手机游戏开发,虽然至今想起来不堪回首,但也锻炼了对恶劣环境的忍受力,而且练就了一身能够从底层思考的架构思维。
BREW是高通自己搞的一套操作系统,非常封闭,可类比IOS,这个给当年BREW开发者带来了丰厚的利润。后来公司也搞过J2ME开发,往往才发布一个作品,第二天网上就出现了盗版安装包,倒是跟现在的Android有点像。
BREW开发在当时看来是有一定的技术门槛的:
只支持C语言开发,不支持C++
不支持全局变量
有包容量限制,利润最高的往往是低端版,包容量是100K,基本上就没法使用很多第三方库了,比如一个LUA脚本虚拟机就要80K
各机型对API接口实现的不一致,个个机型都有各自的适配问题,做游戏好一点,做软件那叫一个痛不欲生
屏幕分辨率千奇百怪,碎片程度堪比现在的Android
只有类似于GDI的图形API,没有功能强大的opengl es
要命的是图形载入接口支持的是BMP图片,配合100K包容量的神限制.......
无法联机调试,只能输出日志,配合机型适配问题........
没有游戏引擎,不是没有成熟的引擎,是没有引擎
性能嘛,CPU 100M频率算是很高的了,不过很奇怪的是从没遇到过内存用爆了的问题
得益于当年还没有经济危机后的通货膨胀,没有智能机爆发时代的浮躁与高薪挖脚,团队里面有不少名校毕业,能沉下心来做技术的牛人,对这些问题各显神通,倒是有了很多解决方案
自己改造编译器和插件模板,能勉强支持C++了,但还不能用静态和全局变量
再后来又改造了编译器和makefile生成模板,可以支持静态和全局变量了,但仍然不支持STL
不能用LUA,就自己写了一套类似汇编的脚本引擎,只有不到100行代码,这个还是一位前辈的毕业设计
机器适配问题嘛,无解,最后软件都用写游戏的方式写,完全放弃了使用系统控件
分辨率适配,大部分项目居然做到了一套代码适应不同的美术资源
自己写了好几套引擎,还写了配套工具,包含了动作精灵,地图编辑器,场景编辑器等等
当时我做的是
实现了一个简单的STL库
扩展图形GDI,自己写算法实现了alpha混合,缩放等图形API,并做了非常极致的优化
写了UI编辑器,但在当时未投入使用,后来在智能机时代发挥了很大作用
- 功能机时代的游戏开发
- Android 培训计划:如何从功能机时代的 C/C++ 工程师转型至 Android 工程师
- “功能机时代”的可穿戴设备,数据从哪里来,该怎么用?
- 移动互联网时代未到,现在还是功能机时代
- iOS游戏开发游戏功能之外的东西
- 游戏项目中的迭代开发
- Flash游戏开发常用函数代
- Flash游戏开发常用函数代
- Asterisk的代答功能
- 响铃:主打拍照的手机厂商们,换机时代能否自救?
- 开发触屏一体机时,遇到的问题以及解决方法
- 迭代升级的H5游戏
- 游戏功能开发前期沟通与交流的重要性
- Cocos2d-X开发中国象棋《六》游戏开始功能的实现
- cocos游戏开发-用户触摸功能的实现
- 游戏开发敏感词屏蔽的功能实现
- 功夫小子实践开发-游戏设置功能的实现
- 迭代开发的新思想
- 所有默认端口对应表
- 乐观者和悲观者的成功密码
- 将轮廓检测的各个轮廓提取出来并显示
- 团队合作要经历的阶段
- Struts2 Annotation 注解配置
- 功能机时代的游戏开发
- 网络攻击小结【DDos】
- 将IplImage转换为DIB
- 让GAE再飞一会
- 将DIB转换为IplImage(核心代码)
- Windows7蓝屏导致Oracle回滚段损坏(ORA-01115和ORA-27070)数据库无法启动的问题处理
- 对DragEvent.DRAG_ENTER事件侦听得到不同的结果
- Unicode字符编码
- USB Device Not Recognized...不断弹出