游戏移植的方法~

资讯 0 0

一、游戏移植的方法~

游戏移植,又叫平台移植。是电子游戏生产时针对使用不同游戏平台的游戏人群而进行的电子游戏程序改造活动。主要的目的是增加销量与普及率。涉及到的移植难度,主要是代码差异。如适用微软DirectX技术编写的程序移植到任何只有OpenGL支持的软件和硬件平台,如Playstation和Wii,Mac。也有使用兼容层技术(如,WINE)移植的,主要针对不开放的DirectX,减少改写的代码数目,降低成本,如用Cedega移植到Linux的EVE Online。

使用跨平台的软件会使平台移植简单的多。这也是OpenGL和SDL的优势。

移植游戏对于开发者来说,衹要游戏机厂商愿意配合,都可以顺利完成。尤其在现今各大游戏主机瓜分市场之际,游戏在多平台发售已经成为趋势,但对于少数平台之间系统差异极大,导致移植相当困难或者移植时间大长,可能使移植成本太大而取消计划。

游戏的移植并不是能靠问问几段话说清楚的~

二、psp里的18X游戏,移植的也可以。只要告诉我名字就行了

以下为游戏名字:

120日元合集移植

PSP 白色相簿2 序章 AMP版

彼岸花葬PSP重制版

《长门有希的暴走》汉化移植版

车轮之国,向日葵的少女 for PSP

初音之歌 铃音之声psp移植版

D.C.II To You for まひるに降る雨

都市传奇--命运的木牌

DISCIPLINE PSP移植版

永恒的翅膀 两人的童话

悠久之翼 后篇 for PSP

eden* for PSP 汉化Lavis版

Fate/Stay Night for PSP

甘井子传说测试版

[Lavis版本]《鬼哭街》PSP发布

G弦上的魔王ONS版

双版本PSP移植游戏《G弦上的魔王》发布(更新Lavis V2版补丁)

歌月十夜 PSP版

[Lavis版本]《鬼哭街》PSP发布

轨迹叔的大灰机PSP版

和み匣

花吻2

寒蝉鸣泣之时

海猫鸣泣之时EP3

花归葬FOR PSP

iraira2 ~霞篇~ psp汉化移植版

MEMORIES ~将记忆的全部~PSP重制版(V4最终补丁

《吉祥铃》PSP重制版发布!

RFZ引擎首部作品《将所有的歌献于未来的你》中文PSP版

刻痕I

刻痕2PSPver

LoveMaid PSP 汉化移植版

流光倾泻的庭园PSP

[真*渣游戏]流光倾泻的庭园,正式版发布,完美版。

LoveMaid PSP 汉化移植版

绿8娘的河月蟹日 for PSP完整版

恋爱蜡笔

都市传奇--命运的木牌

梦见之药

MEMORIES ~将记忆的全部~PSP重制版(V4最终补丁

《梦妖尤娜的奉仕课程PSP》全语音重制版

[PSP]妹妹大作战携带版

Narcissus1+2

《Reason of Detective》PSPver

少女爱上姐姐-大学篇PSP移植汉化

Narcissus1+2

猫猫精品《~水色~》PSP重制版

盛夏之梦PSP重制版(全语音中文版)

School Days for PSP【原小说版】

水仙2 psp

Sweet Pool For PSP

一生一次的机会!《サナララ ~SA·NA·RA·RA~》PSP重制版发布!(更新V2补丁)

【schooldays for amp demo】pc版全动画psp移植,单线达成。

PSP《天使不在的12月》中文移植版

天才少女与烙印之子 ep1

天使のお仕事 -their wishes afterward-

同人游戏《星空不在的梦境》PSP版

iraira2 ~霞篇~ psp汉化移植版

《幼性反应》PSP汉化版移植

《银河铁道之夜》小说改编for PSP

永恒的翅膀 两人的童话

Giniro银色第一章汉化版psp移植 全语音

意识流

原创PSP AVG《源氏物语 浮世绘》demo - 夕颜篇

夜明前的琉璃色PSP中文移植版

萤之歌PSP

悠久之翼 后篇 for PSP

一生一次的机会!《サナララ ~SA·NA·RA·RA~》PSP重制版发布!(更新V2补丁)

月姬中文版 for PSP

注视着你瞳里的未来的歌谣PSP

卒业旅行

処女はお姉さまに恋してる

120日元之夏 PSP重制全语音版

120日元之春 psp全程语音重制版

120之秋psp语音重制版

120日元之冬 PSP

Short Story of Lost Virgin.[/p]

120日元合集移植

はるか~Ha·Ru·KA~Portable

如果想求资源,可以去“掌机开发者之家吧”看看

三、iphone游戏如何移植为PPC游戏

这个需要很深的知识,包括对手机系统硬件的知识和游戏编程的知识,先发一个大概看看: 手机游戏移植主要的工作是把原来的一款别的型号手机上的游戏。经过修改能在当前型号的手机上运行和使用的过程。所以可以把这个工作细分为几方面的事情: 1、处理屏幕尺寸 这也是最重要的一点。不同型号的手机。屏幕大小不同。分辨率不同。所以要保证每款游戏放在每种型号的手机上都能达到同样的运行效果。那的确是件困难的事情。所以移植的时候就尽量找差距较小的机型做移植。程序中需要注意的就是双缓冲的尺寸。和画面内容的位置。当然最愿意看到的就是能有个全局变量来控制整个游戏场景。 2、修改按键值 这是另一个重要的方面。确保游戏能够正常的操作的前提条件。比如NOKIA的机型的左右软键分别是-6,-7,而Motorola的C650的左右软键就是-21,-22。所以这种差别是无法回避的。除非你的手机游戏程序能够适应不同的机型产生不同的键值。我上个月做的一款游戏就是这样的。而且适应不同的屏幕大小。的确很不错程序。 3、处理内存占用 这是另一个无法回避的问题。如果你的手机性能不错。那也许你不用考虑。比如你做motorola E680的游戏。但是多数机型的内存容量是你需要重点考虑到的。我见过很多游戏移植到新机型时出现很多难以解释的问题。一般都是由内存不够引起的。比如图片无法显示。游戏无法安装。死机等现象。所以我们移植的过程中。就要事先计算好你的内存占用情况。把无用的对象设置为NULL。 4、完整汉化 某些游戏是英文界面的。所以如果要符合中国 移动的规范来做。还必须保证没有一个英文字符出现。不过这听起来也有点强人所难。 比如游戏中的LAP 1/3 赛道的第几圈。 你非要改成 圈 1/3 。但是也没办法。符合规范是你提交游戏的前提保证。汉化中可能出现的问题就是。如果文字被做成图片了,你需要通过美工的协助来完成工作。 5、游戏的功能修改 很多时候如果你要保持与中国 移动的规范相同。就要修改左右功能键的位置。以及还要涉及到给游戏添加暂停和继续的功能。甚至有时候你需要自己写个游戏菜单。并且添加一些LOGO界面。 上面提到的方面。多数都是移植中必须处理的工作内容。如果你碰到了难以让你下手的游戏。不要着急。因为代码不是你写的。如果你看着头晕,可以先从简单的入手。然后理清思路。下面谈谈移植过程中一般的步骤。 1、查看资源文件 这是最重要的。是你修改游戏的前提条件。如果你连资源文件都不清楚是什么,那你无法完成剩下的工作。资源文件有几种。比如单纯的图片。PNG格式(日本DOJA的游戏图片格式是GIF)、声音文件、文本文件、数据文件等等。这里要提一下数据文件。一般把除了图片,声音,文本以外的格式的文件都叫数据文件。不过这类文件是我不希望看到的。因为它不便于与修改。有些游戏为了读取资源的方便。和占用空间的考虑。会把图片文件做成一个数据文件来处理。以前都是用Ultraedit把这个数据文件打开。然后一段一段的通过提取PNG格式的数据。然后从新保存成PNG文件。很麻烦。后来写了两个工具。一个程序用来提取图片。一个程序用来从新生成数据文件。感觉方便了许多。 2、阅读代码的技巧 代码是必须得读的。否则就不叫修改了。但是也不用你都读懂,读透。而且不用每句都看全了,如果上万行的代码。你把每句看一遍。也够你累的。而且在BOSS规定的时间内完成不了。你也麻烦。我一般首先要看实现游戏主要场景和功能的类。也就是所谓的Canvas类。因为这个类肯定不是自己启动的。要通过MIDlet主类加载。或者再委婉一些通过另外的类加载。所以其他的类都是辅助这个类来完成游戏功能的。然后看看这个类的导入了哪些包。 继承自什么类。实现了什么接口。然后再看它的构造函数。以及paint()方法。如果有线程的话,还要看看run()里面的代码。这些就是这个游戏的主要切入点。控制着游戏的进程和绘图。其他的像游戏中的算法之类的东东。如果有时间。你就好好研究一下。这对你来说是很有意义的。 3、不要相信模拟器 做不同牌子手机,不同型号的手机游戏,肯定会用到模拟器来运行。看看效果。用看看效果这个词已经很贴切了。因为有些游戏模拟器都运行不了。你连效果都看不到的。所以必须要用真实的手机运行和测试。但是按键值也必须用真机测出来。虽然多数模拟器和对应的真机相同。 4、解决不同手机的BUG 最头疼的事情也就是这个了。会出现一些莫名其妙的错误。明明在这个手机上运行的很好。可是到另外一个手机上就出现意想不到的错误。比如无法安装。图片无法显示。玩到某个地方死机。声音无法播放等等。遇到问题先不要着急。冷静的回想一下代码和上一次修改的过程。如果都排除人为原因。那就从内存 和图片 来考虑。有些时候 repaint() 和ServiceRepaints() 也会出现问题。比如NOKIA 新 S60系统。 而且考虑问题不要太片面。因为游戏本身就是一个环环相扣的过程。 另外还要说说手机内存的处理。这是个经典的话题。什么String的使用,System.gc()之类的。以及将无用的对象设置为NULL。这些网上都有相关的讨论。以及static的用法。提一个地方。就是在手机加载图片时。手机中计算图片占用的内存是:图片长×图片宽×图片颜色数×2。甚至一幅透明的图片和一幅单色的同样尺寸的图片占用的内存都是很接近的。另外要少用Graphics.drawString() 。有空可以自己写程序测试一下。如果你写了一篇文字。用了N个这个语句。那就应该看看。是否需要替换成一个String数组。或是做成图片占内存更少一些。