猫的根性吧 关注:4贴子:164
  • 15回复贴,共1

【科普】论移植

只看楼主收藏回复

【图片】事先申明这个不是我写的,文章里可能有些偏重,但是总体来说还是中立的,各位想转载的话也不需要申请了,直接转就好。(这个是我转的= =)
2L开始
一拜天二拜地三拜度娘,求保佑不再吞贴


IP属地:北京来自Android客户端1楼2013-05-13 06:56回复
    1.前言
    1.1
    一些我想说在前面的废话
    这个帖子的目的并不是鼓励大家去学习移植(原因后面解释),而是希望能够让大家对移植有更多一些的了解和理解,做一个合格而有素质的伸手党(没有任何鄙视的意思)
    写的可能会有些乱,希望多多包涵。
    本文的所有观点将会不可避免地带有一些主观色彩和偏激,请谅解。
    本文不代表任何组织的观点,仅为个人的一些观点与看法。


    IP属地:北京来自Android客户端2楼2013-05-13 06:56
    回复
      2.我该从哪里开始呢?
      2.1
      移动时代的GAL
      似乎GAL是什么的就不用介绍了,毕竟某些吧里除了那些把ONS理解成某个不太和谐的意思的人以外应该都明白是个啥。
      说到GAL,PC平台肯定是所有开发商的首选平台。
      (不过也有某些GAL只在PS3和XBOX上有……比如说5PB的《机器人笔记》,属于个例)
      而近年来,移动平台的崛起,吸引了许多游戏公司的注意力。
      然而,官方的移植永远只是少数,而许多平台(如微软、苹果)的和谐化又使得一部分游戏的完整性被破坏。
      所以一个跨平台的引擎就显得格外重要——不论对于开发者还是移植者。
      于是乎,一个名为ONScripter的引擎进入了大家的视线。
      脚本,就是一种类似剧本的东西,里面(以解释器能够理解的方式)详细记载了这个游戏的每一个场景、每一句台词与语音、每一个人物立绘……还有很多很多难以想象的东西。
      解释器,就是用来将脚本翻译成电脑(或者更加低层次的程序)能够理解的语言,然后执行翻译好的内容,来让玩家进行游戏。
      资源,指的是BGM,立绘,CG,背景图,人物语音之类的游戏资源。
      很显然,这三个部分里,解释器可以约等于引擎了。比如说Nscripter里,主程序就是充当脚本的解释器,并且提供了一个窗口来显示游戏画面。
      而对于安卓里的Onscripter模拟器来说,这个程序本身提供了解释器的功能,而画面的显示则交给了SDL来处理(SDL请自行百度,恕不介绍了)所以你只需要在游戏文件夹里放入脚本(比如说nscript.dat)和资源(arc.nsa和字体文件)就可以运行了。
      在对GALGAME的构成有了大概的了解以后,来了解一下Onscripter的来龙去脉吧。


      IP属地:北京来自Android客户端3楼2013-05-13 06:57
      回复
        3.Nscripter&Onscripter:让人爱恨交织的昨日黄花
        ——————————————————————————
        注:对引擎到底是啥不感兴趣的人可以跳到下一节
        ——————————————————————————
        3.1
        Nscripter是啥?可以吃吗?
        Nscripter是由日本人高桥直树开发的一款游戏制作程序,它是免费而闭源的。
        但这里的免费不是我们所理解的“完全免费”,NS的收费方式是:对于同人作品与免费的作品,使用其引擎不收费,对于商业作品,则视游戏规模来收费。
        所谓闭源,就是指程序的源代码并没有公开。Nscripter就好像一个很复杂的机器,只给你说明书告诉你怎么用,而不告诉你里面的细节和实现原理是什么。这样,你就无法对它进行改装和修理,只能使用它原有的功能。
        3.2
        看起来和Nscripter很像的Onscripter
        而Onscripter最初是一个叫Ogapee的家伙想在自己的Zaurus(SHARP公司推出的高性能PDA)上运行游戏,于是自己写了一个在Linux下运行的NScripter等效引擎[注1],命名为ONScripter(Open-source NScripter),并不断完善之。由于开放源代码并且是用高度可移植的SDL库编写的,很多爱好者就把它移植到不同的平台上,并不断地把使用其他游戏引擎的AVG游戏移植到该平台上,不断地发扬光大。(引用自百度百科)
        [注1]等效引擎:之前说了,Nscripter是闭源的,所以Onscripter的编写者无法获得它的源代码来了解内部的具体构造。在这种情况下,Ogapee使用了黑盒方法(不知道的话请自行百度)来编写Onscripter,以保证当脚本文件相同时,Onscripter运行起来就好像Nscripter一样。
        3.3
        这两坨翔长得这么像,有什么区别呢?
        与Nscripter不同的是,Onscripter是开源的,也就是说,制作者向所有人展示了它的工作原理,并且在一定的条件下(遵守XX协议之类的),其他人可以对这个引擎进行一些改变和完善,比如添加一些新功能(但是ONScripter-JP版本基本上鲜见新功能的添加,有添加比较多新功能的是EN版与PONS)或者修复一些作者在开发中没有注意到的问题之类(前提是你有一定的编程能力)。这是Onscripter较Nscripter来说的一个优点。
        3.4
        Onscripter>Nscripter
        为什么Onscripter获得了大家的青睐,而Nscripter没有呢?很重要的一点在于Onscripter是跨平台的。这样就保证了如果有相同的资源文件和脚本文件,基于Onscripter引擎的游戏不管在什么平台上跑起来都几乎一样(只要那个平台有相应的Onscripter程序)而Nscipter只支持win系统,自然在跨平台上比不过Onscripter。
        而移植,做的正是将PC平台的游戏迁移到其他平台上,所以在这一点Onscripter完胜Nscripter。


        IP属地:北京来自Android客户端4楼2013-05-13 06:57
        回复
          7.4
          pymo社区/pymo贴吧
          富有活力的社区,有新游戏不断地诞生。
          pymo自从支持安卓之后,个人觉得特别适合用来移植iOS上面的游戏。


          IP属地:北京来自Android客户端11楼2013-05-13 07:17
          回复
            个人感想
            学ns(ons)的初衷或许只是为了和基友做同人游戏而已,移植并不是初衷,大概在今年1月我上了这条船,现在看来我并不后悔,我因为这些接触到了好多,(并且把我的内向治好了好多,至少在二次元和大家可以侃天)现在在的组就是fate.ark→_→,或许……,嘛,直到现在还有好多事没做,要学的还有好多……最后吐槽一句在裂空群里我的出现=冷场Q_Q,命运啊


            IP属地:北京来自Android客户端13楼2013-05-13 07:31
            回复
              QAQ


              来自手机贴吧14楼2013-05-13 15:57
              收起回复
                @MHKurt 这贴里说的ons安卓吧就是那个吧,那太乱了所以退保平了


                IP属地:北京来自Android客户端16楼2013-05-25 10:20
                收起回复