1. Codinggamer 2019-08-21

    Undertale是故意那么画的美术,致敬mother系列

  2. CyberKirin 2019-08-21

    其中举出的2个例子其实不太好,有点搬石头砸自己脚的感觉。

    UT的像素画面,应该不仅仅是成本控制因素的考量,也有风格致敬的因素(他自己很喜欢mother同时参与mother粉丝社区的运营),同时当中的美术设计和制作其实是在专业画师Temmie Chang(主力协助者)、J.N. Wiedle、Gigi D.G等多人的协助合作下才最终完成的。因此,假如认为他是在一种““心有余而力不足”的美术资源限制下艰难开发,未免有点过于主观了。他的做法,倒更像是在意识到“力不足”之后,选择了认真想办法来弥补不足的应对方式(缺啥补啥),而不是纯粹地凭着决心硬上、靠想法和热情前行。
    而在编程方面,gamemaker对专业技能全面性的要求虽然比不上u3d等引擎,在个别方面也的确具有开发缺陷,但其本身至少也是个特化过的游戏引擎,甚至具有一些搭建中小规模游戏架构的便利性,曾被用于开发过不少成品知名游戏(如雨中冒险、迈阿密热线、洞穴探险)。因此,最好不要因为他用的是gamemaker,所以就产生一种他是在编程开发力受限的状态下勉强完成游戏的感觉。
    而音乐,总觉这句这有点没话找话凑的感觉。巧妙的变奏,本来就是一种将音乐专业能力应用、并结合于游戏中的体现和手段,而非总是一种应付式的备选手段(任天堂的游戏,如在塞尔达里,对于音乐的变奏使用可是一把好手)。这句话读着给我一种“变奏是在约束下诞生的投机做法”的气息。

    而太吾绘卷,当时传的“神乎其神”的梗图,我至今都认为是一个人为的营销案例(配合“乱伦结婚梗图”的双重引爆),因为在后续能了解到的一些代码信息中,并没有发现这些神奇代码的存在证据,例如传得最疯的什么“几万行ifelse绿皮代码”的那张图中的浮夸情况,不存在的,也许就是个唬弄人的噱头、凑凑热闹。一个基于U3D框架下,用C#语言开发,该用类用类、该面向对象就面向对象的项目,再绿皮也有个底线。只不过“茄子”作为开发者的编程综合素养和技术,或许的确没有程序员老油条那么专业罢了,但依然是按照编程规范在干活的。
    同时,太吾绘卷的开发者“茄子”是建筑设计师出生的,在个别的访谈中,“茄子”在回答里也曾明确提及,他因为自己是建筑设计出生,习惯于尽可能细致地先画图、后施工的做法,所以在太吾绘卷的开发工作中,他其实也更偏向于先规划后制作的工程理念和范式。这点或许反而与软件工程的理念有着这异曲同工之妙。(而在赚到第一桶金后,他们团队还是果断选择了招聘专业程序员进行重构项目的做法,或许也能说明他们在这方面的倾向。)

    另外就是编程业界推崇软件工程的相关想法是有道理的。的确,在开发早期自然是越快出效果越好,然后不断迭代改进,这也一度有了“瀑布式开发”的工作模式,但随后很快地这就被抛弃了,因为这会导致项目后期的“可维护性”出现严重问题。——“想到什么就一气呵成,没有文档没有Repo,加新东西出错了就认错梳理”——能做到固然最好,但是你真的能保证你能一气呵成吗(从零到最终项目完成的整个过程中)?真的能保证在没有文档支撑的情况下几个月、甚至几年后后你还能一眼想起自己之前写代码时的思路吗?真的想加新功能就能加,以及出错时有办法快速梳理从而高效改正BUG吗?当你的项目复杂度到达一定规模后,答案是不能的,除非你正在开发的是一个内容量和复杂度相对简单的小游戏(相比起自己可驾驭的能力范围、项目经验),否则为了应对这些状况,必然会付出更大的时间精力。以及万一后期你真有想加的功能,但却由于项目工程的架构限制从而无法实现的话(因前期考量太少导致),不会反而有种被迫打压自己想法实现的感觉吗?
    当然不可避免的,过于追求软件工程的方式,也同样会导致打压想法的情况出现,以及影响成品的开发效率和质量(因为开发过程中难免会冒出新想法,特别是在开发早期),所以后来在传统的软件工程基础上又有了“原型开发”和“整洁代码”的理念来作为应对工具。也就是尽可能效率地先开发出早期的可用原型或demo,用以充分测试想法的实际效果,及时进行调整。而在这期间对于项目的工程质量、可维护性问题等追求,则进行无视。然后在想法得到确认后,“果断抛弃”之前的一切项目工程文件后,再认真地从头规划一遍代码工程的设计图,随后才进行成品版本的开发工作,从而实现想法和整体开发效率之间的兼顾。
    而在一些独立游戏开发者的访谈里,其实也能看到类似的开发经验分享。
    (游戏“软件”,游戏“软件”,游戏开发者的确是在开发游戏,尝试实现表达自己的设计想法,但其本质更是在开发一个“软件”。)

    再额外提一个点,在我了解到的资料中,这两个例子里的开发者虽然都不是专业编程大神,但也都不是编程小白,反而是有着一定游戏编程底子的人。tobyfox的父亲是位老练的程序员,而tobyfox自己也从小就读过编程书籍、学过basic语言、用过rpg游戏的开发工具来了解RPG游戏的架构。而茄子除了有建筑工程思维的经验之外,其实还有着5年的RM的使用经验,会写脚本,了解一些游戏功能的组织架构。

    • CyberKirin 2019-08-21

      @CyberKirin:
      这两个例子的开发者,给我的感觉更有一种根据自身实际情况,脚踏实地开发最终现想法的感觉,不那么能体现出靠着创作欲驱动制胜的感觉。

      不过文章的其他部分提及的点和追求,我还是很喜欢的,例如对于创作欲的追求、对于创新点的深挖、表达的追求。

您需要登录或者注册后才能发表评论

前往登录页面