最近在公司做了几款MTK平台的游戏,通过游戏开发的全过程,了解一些MTK平台的开发环境以及相关知识,这里做个总结。
由于国内外MTK平台游戏开发资料相对较少,可以作为参考的实例几乎没有,所以我在整个项目的开发过程中采用探索式的开发方法,根据其他平台积累的游戏开发经验进行项目的研发。游戏是一款益智类游戏。由于是第一次开发该平台上的游戏,游戏内容相对比较简单,但是整体架构完整,这也会为开发更高难度的游戏打好基础。
总体上来说,首先需要做技术实现上的准备,熟悉开发环境和编译环境,学习相关的操作系统结构和相应的API,根据以上两点总结开发技术上的难点和要点,并且给出解决方案;然后再这基础之上进行游戏架构和模块的设计,完成与游戏内容相关的逻辑算法;最后进行软件编码和测试,并生成发布版本。
开发基于MTK平台的软件,首先需要向MTK公司购买开发用SDK包和开发用的手机和相应的开发辅助软件。开发环境我们选择的是比较熟悉的WindowsXP,由于MTK软件是基于C语言的,而且SDK包中PC模拟环境使用了Microsoft VC++6.0,所以IDE工具选择了VC6.0。生成手机的最终安装文件是通过ADS编译的,脚本语言使用的是Perl,这也是由SDK决定的,因此需要安装编译工具ADS 1.2和Perl 5.8。烧录工具FlashTools和Debug工具Catcher,都是由MTK厂商提供的,前者主要负责把编译后的文件安装到手机上,后者是用来实时跟踪手机运行时的状态的,以上这两个工具在使用时电脑都需要USB专用数据线与手机连接才能使用。
MTK平台操作系统使用了Nucleus实时操作系统,在其上做了个内核抽象层的封装,以适应多种实时操作系统,如Oscar、ThreadX、Nucleus。整个软件系统包括Nucleus操作系统、平台设备驱动、协议栈、文件系统、WGUI、MMI、J2ME等。在这里MMI部分几乎包括了操作系统内核、协议栈、文件系统之上的所有部分,其中WGUI也在其中。其中,与游戏开发相关的API主要集中在MMI部分,此外还要熟悉系统消息传递机制和线程等相关知识。
尽管MTK操作系统和Windows有所区别,但是相应的系统机制还是有些类似的,这里需要参照手机厂商相关系统文档,并且和Windows系统进行对照分析,找出其中的异同点,这样可以尽快的熟悉和使用MTK系统和相关API。
游戏程序设计是根据游戏策划文档的要求做出来的,这部分内容尽管和MTK系统关系不大,但是为了以后游戏开发,需要将MTK系统的一些API进行进一步的封装,并且开发一套游戏引擎。这样做的目的就是通过此次项目总结出一套通用的MTK系统下的游戏制作方案和流程,为以后游戏开发打好基础。
本实例中是一款单机的游戏,逻辑部分主要包括输入、输出和中间的游戏性部分。输出部分主要负责图像显示和声音输出;输入部份要求游戏可以通过手机键盘和手写笔输入;游戏性部分要求根据用户的输入按照游戏策划的要求产生正确的输出。这些都涉及到一些游戏开发中与平台无关的游戏算法,可以参考其他游戏中的相关实现,或者自己进行相关的设计。
MTK的PC模拟版使用VC的编译器和链接器生成,ARM版使用ADS1.2的编译器和链接器生成。因为MTK的整个软件系统是一个很庞大而且复杂的工程,并且要支持多个MTK的产品系列和多家客户的客户化支持,使用集成开发环境(IDE)已经无法胜任,而且很难做到整个工程的自动构建和资源、代码的生成。所以MTK的软件系统使用了Windows下的GNU开发工具链(MinGW)来进行工程的管理、配置和构建,MTK将MinGW放到了第三方工具中。另外还使用了Perl脚本来解析用户输入的命令行参数,因此第三方工具中还包含了ActivePerl(Windows下的Perl解释器)。不过,整个软件系统并没有使用MinGW的全部工具,只使用了Make这个工具,由几个Makefile控制了构建的过程,在编译和链接时根据最终生成PC模拟版还是ARM版而分别调用VC的编译器和链接器或ADS1.2的编译器和链接器。
这里需要说明一下MTK软件的开发流程。整个软件开发首先要在PC环境中模拟开发出来PC模拟器版本,这部分开发工作在VC++6.0IDE环境中就可以完成,跟踪调试比较方便。然后需要将PC模拟器版本进行相应的配置和修改,并进行第二次编译,生成真实的手机版本。
尽管PC模拟环境和手机环境十分接近,但是由于涉及到两个编译和运行环境,仍然会有不同的地方。在这里需要借助厂商提供的Debug工具Catcher,通过数据线接受软件在手机中的调试信息。
<!--++ plugin_code qcomic begin-->
分享到:
相关推荐
《Mocor MMI BT Interface User Guide》是一份针对MMI软件开发人员的用户指南,旨在详细阐述Mocor MMI与蓝牙接口的交互和使用方法。本文档由展讯通信有限公司编写,版本为1.0.0,发布日期为2008年1月1日,内容涵盖...
标题中的"mmi_fdtd2d_tm.zip_FDTD MMI_PML边界_fdtd波导_波导_点光源"揭示了这个压缩包包含的是一组关于二维频域有限差分法(Finite-Difference Time-Domain, FDTD)模拟的资源,特别关注了多模干涉器(Multimode ...
MMI(Mobile Machine Interface)是MTK为开发者提供的一种调试和测试工具,用于在MTK平台上进行软件开发、功能测试和故障排查。本文将深入探讨MMI及其与Mocor的关系,以及如何在Mocor上安装MTK的相关知识。 首先,...
**MTK MMI 开发(官方)详解** MTK(MediaTek)MMI,全称为 MediaTek Mobile Multimedia Interface,是联发科(MediaTek)为移动设备提供的多媒体接口框架。这一框架主要用于管理和控制移动设备上的多媒体资源,...
《API for Writing Applications Using Pixtel MMI Platform》是一个深入探讨如何利用Pixtel MMI平台进行应用程序开发的专题。在本文档中,我们将重点解析该平台的API(应用程序接口)及其在MTK(MediaTek)编程环境...
### MMI培训文档知识点总结 #### 第一部分:基础 ##### 第一章:开始 - **环境假设**:在开始学习MMI实例培训之前,需确保能在手机上观察到Idle、MainMenu等基本界面。 - **“Hello, World”示例**:通过在手机上...
根据您提供的文件信息,文件标题为“SPiiPlus MMI Application Studio User Guide.pdf”,描述为“SPiiPlus MMI软件用户指导”,标签为“ACS控制器”,以及部分内容的摘录。以下是对标题和描述中提及的知识点进行的...
### mmI3G 解决版本管理故障 #### 知识点概述 在现代汽车行业中,随着车载信息系统(如导航、多媒体播放等)的功能日益丰富,软件版本管理和升级问题变得尤为重要。奥迪mmI(Multimedia Interface)系统作为一款...
MTK MMI,全称为MediaTek Multi-Mode Interface,是MediaTek公司为其芯片平台提供的一种用户接口,主要用于开发和调试移动设备的硬件功能。这个实例教程是针对初学者设计的,旨在帮助他们理解和掌握如何在MediaTek...
展讯平台MMI开发文档是一份专为开发者设计的指南,旨在帮助他们快速理解和入门展讯平台上的MMI(Man Machine Interface)软件开发。展讯是一家知名的芯片供应商,其MMI平台提供了完整的开发环境,包括工具软件包和...
**MMI初级文档doc** 本文档集合主要针对MMI(Man-Machine Interface,人机交互界面)技术的初学者,旨在提供一个基础且实用的学习路径。MMI是现代电子设备和软件系统中不可或缺的一部分,它定义了用户如何与设备...
《mmi解决方案白皮书》深入探讨了MTK(MediaTek)公司提供的 MMI(Man Machine Interface)解决方案,这是一种高效的人机交互技术,旨在提升设备的用户体验。本篇内容将全面解析MMI的核心概念、功能特性以及它在实际...
MMI,全称为Man-Machine Interface,即人机交互界面,是系统与用户进行交互的主要通道。本MMI实例培训教程全面深入地介绍了如何设计、实现和优化这种交互过程,适用于初学者和有一定经验的开发者。以下是教程可能...
【MMI实例培训教程(最新)】是一份针对MTK(MediaTek) MMI(Man Machine Interface)技术的详细学习资料,特别适合初学者。由知名技术专家牛人fugui更新,确保了教程内容的新颖性和实用性。由于教程内容过于庞大,...
"MTK之MMI资料大全"是一份专为学习MTK平台及MMI设计的综合教程,涵盖了从基础到进阶的各种知识点。MMI(Man-Machine Interface,人机交互界面)是移动设备中用户与硬件进行交互的关键部分,尤其在MTK(MediaTek)...
MMI,全称为Man Machine Interface,即人机交互界面,是手机或设备中用户与硬件系统进行交互的接口。在MTK(MediaTek)平台中,MMI是开发者设计和定制用户界面的关键部分。这个“MMI_添加菜单实例”教程专为初学者...
【MMI实例傅贵培训教程】是一份专为开发者设计的深入解析MMI(Man-Machine Interface,人机交互界面)开发的专业教程。MMI在IT行业中扮演着至关重要的角色,因为它涉及到用户与设备之间的交互体验,是产品易用性和...
### MMI架构和编写实例 #### 一、MTK软件架构概览 MTK(MediaTek)作为一家全球领先的芯片设计公司,在移动通信领域拥有广泛的应用和技术积累。在介绍MMI架构之前,首先需要对MTK的整体软件架构有一个基本了解。 ...