随着智能手机平台的兴起,移动平台应用开发变成现在热门的话题,而在应用开发中,游戏的开发占有举足轻重的位置,而移动平台的开发技术,尤其是游戏的开发技术在近几年的变化非常大,从最早门槛低的J2me技术开始,到针对各个平台的开发技术,直到现在依赖各种框架和引擎的跨平台技术.......大家对于技术的革新和追求从来就没有停止,本文就从一名普通开发者的角度来总结一下移动平台游戏开发技术的前世今生。

在最早的J2me时代,J2me这项技术的学习相对简单,开发速度也比较快,而且当时几乎所有手机平台都支持java,所以“一次编码,到处运行”也就不是梦想了,但是由于机型的硬件性能所限,不同的平台在移植上也需要下一番功夫,针对不同屏幕,不同内存,往往要开发不同的版本,当时的开发者根据经验,往往把很多种机型分组处理,为每组开发一个模板,然后再针对在不同机型上的运行情况做不同的调整,形成了一种相对高效的开发模式,但是,在这个阶段由于手机设备的硬件水平普遍偏低,因此开发中的限制也比较大,这一点在之后的智能机时代得到了很大的改善........

随着苹果ios系统和iphone,ipad一系列产品的发布,随着android系统和相应的设备的诞生,移动平台的种类丰富了,从单一的手机发展到平板等多种手持设备上,而移动游戏的开发方式同样也有了改变,开发者们开始尝试针对不同的平台的开发框架来进行开发,这里用android的开发来说,笔者认为android的java开发框架是最接近之前j2me的开发框架的,因此这时,有些开发者只是在开发j2me游戏的基础上,将其移植到android平台上,这样做很简单,甚至只需要改变几个函数api的名称即可,但是,智能平台的硬件及性能的提高并没有带来游戏品质的提高,于是开发者们也探索着进行只针对单一平台的开发,利用平台特性(多点触屏,重力感应等)开发出了很多不错的游戏,虽然android平台的屏幕及分辨率也是千奇百怪,但是开发和移植由于更出色的框架变得简单起来,相对的也不需要太多的考虑内存的限制(这方面的限制相对于java时代宽裕了很多)。但是问题依然存在,对于不同的智能平台(android,ios)依然需要写不同的代码来进行开发,如何跨平台这个问题摆在了开发者面前.........

对于跨平台的探索,我想借用6月份程序员杂志上的一段文章说明,苦逼程序员自己学习oc,java,C#使自己变成“活”的跨平台工具,夜以继日的加班来在不同平台上实现跨平台,可以说是“人肉”跨平台。普通程序员使用“中立”语言(比如C++支持android和ios)或者使用一些引擎,来使自己的代码更多的复用。而文艺程序员则是编译脚本代码来发布不同版本,通过底层引擎化来实现跨平台,这种跨平台通过引擎和框架来实现,比如最新发出alpha版本的cocos2d-html5引擎,使用该引擎,游戏的代码通过javascript这种脚本语言来编写,这样可以借助html5的跨平台特性发布网页版本的跨平台游戏,也可以通过cocos2d的javascript版本发布本地版应用,实现“一次编码,到处发布”,这样“一次编码,到处发布”的跨平台引擎还有unity3d等。

这些跨平台引擎使用的原理包括opengl和html5等,首先说opengl(对于移动平台大多是opengl es),由于显示硬件都支持opengl这种图形渲染的api,所以大多数移动平台都支持opengl,因此基于opengl开发的引擎及框架可以实现跨平台也就不奇怪了,包括webgl同样是把javascript和opengl结合到一起,从而使网页上也可以实现opengl渲染。Html5同样可以实现跨平台,其中他的canvas部分同样是负责渲染部分,虽然现在不是所有浏览器都支持webgl,但是现今大部分浏览器都支持html5的canvas,笔者感觉canvas很像j2me中的画布画笔等,因此学习也没有什么难度,同时html5在未来的跨平台技术中,也会有更好的应用。

对于技术的追求和学习不会止步,从我的这篇文章可以看出,移动平台的技术在近几年中的发展的确很快,一方面,作为移动平台游戏开发者来说,我们可以实现品质更好的游戏,另一方面,作为对我们的激励,只有不断学习才能赶上技术变化的脚步。

移动开发之我见-移动平台游戏开发技术的前世今生相关推荐

  1. Unity 创建2D平台游戏开发学习教程

    了解如何使用C#在Unity中创建您的第一款2D平台游戏 你会学到什么 使用Unity创建2D奥运会 使用可脚本化的对象和单一模式 使用良好的编程实践 创造武器和射弹 使用可脚本化的对象和委托模式创建 ...

  2. HTML5 2D平台游戏开发#4状态机

    在实现了<HTML5 2D平台游戏开发--角色动作篇之冲刺>之后,我发现随着角色动作的增加,代码中的逻辑判断越来越多,铺天盖地的if() else()语句实在让我捉襟见肘: 这还仅仅是角色 ...

  3. 使用Flash Builder 4.5进行多平台游戏开发

    转自:使用Flash Builder 4.5进行多平台游戏开发 目录 设置新项目 配置移动平台 优化技巧和诀窍 提交应用程序 延伸阅读 需求 预备知识 要求拥有使用Flash Builder开发项目的 ...

  4. 移动平台游戏开发介绍

    2.移动平台游戏开发介绍 转载于:https://www.cnblogs.com/zwj-199306231519/p/9148888.html

  5. 游戏开发入门(一)游戏开发概述

    视频链接:游戏开发入门(一)游戏开发概述(3节课 时常:约1小时03分钟) 该视频围绕电子游戏的发展与开发简单介绍了一些基本常识,同时提出并解决了几个问题 笔记与总结(请先学习视频内容): 1.游戏机 ...

  6. [libGDX游戏开发教程]使用LibGDX进行游戏开发(1)-游戏设计

    声明:本章是一个系列的开始,英文原文是<Learning libGDX Game Development>,大家请周知. [libgdx游戏开发教程]使用Libgdx进行游戏开发(2)-游 ...

  7. 元宇宙游戏开发公司 深圳元宇宙游戏开发

    splinterlands元宇宙游戏开发,upland元宇宙游戏开发,CryptoBlades元宇宙游戏开发,SecondLive元宇宙游戏开发,PROSPECTORS元宇宙游戏开发,Office L ...

  8. 游戏开发入门(九)游戏同步技术

    视频链接:游戏开发入门(九)游戏同步技术(3节课 时常:约1小时07分钟) 第三个视频后9分钟没有声音,不过核心内容都已涉及到 笔记与总结(请先学习视频内容): 1.网络同步的概念与意义 概念:任何一 ...

  9. UE4 移动平台游戏开发

    通用移动平台开发 Materials for Mobile Platforms Texture Guidelines for Mobile Platforms Lighting for Mobile ...

最新文章

  1. RCP中product文件的用法
  2. C#程序员经常用到的10个实用代码片段
  3. centeros7安装mysql - 风中追风_lonely - 博客园
  4. C# WinForm中获取当前程序运行目录的方法
  5. caffe caffe.cpp 程序入口分析
  6. 用python程序化交易名单_python程序化交易神器——tushare
  7. 显示文字_如何观看HBO Max并显示中文字幕?
  8. 跨域解决方案之—JSONP
  9. 中国计量学院全国计算机二级报名,中国计量大学教务管理系统入口https://jwc.cjlu.edu.cn/...
  10. Misc-七七的礼物writeup(详细)
  11. STM32F4的基础介绍
  12. uniapp App端 echarts 设置tooltip的formatter不生效问题及解决办法
  13. 2、用PHP求圆的面积和周长
  14. 【allegro 17.4软件操作保姆级教程九】布线后检查与调整
  15. 简易超声波雷达的arduino实现
  16. cf768g The Winds Of Winter
  17. 信息管理学第一章作业
  18. 辛酸篇----一套房产八个名字!婚姻岂能如此设防
  19. Python数据分析实战之股票数据
  20. 【转】如何实现点击textbox显示monthCalendar 选择monthCalendar把值传给textbox

热门文章

  1. oracle 重建spfile,linux下oracle重建spfileorcl.ora
  2. 软件测试工程师成长记:职场人的职业探寻之路
  3. MATLAB 将计算结果写入Excel表格中
  4. 学习太极创客 — ESP8226 (九)JSON 数据通讯 三
  5. Verilog PLI已死( 可能), SystemVerilog DPI当立
  6. 精选用户故事|洞态在聚水潭的误报率几乎为0,如何做到?
  7. 狼人杀发牌代码简单设计图
  8. fgvc-aircraft-2013b飞机细粒度数据训练集和测试集划分python代码
  9. C++中sort函数详解
  10. IIS协议及波形分析