独立游戏极简入门
什么是独立游戏
在开始之前,让我们来看看什么是独立游戏:
独立游戏(Indie Game)
目前没有明确的定义,更多的是指具有独立精神的游戏独立精神
则是指勇于表达自我,展现不一样的想法与创意,其出发点更多是在表达而不是盈利。
奇怪的是,一些用爱发电的独立游戏开发者,不想赚钱,却把钱赚了。
独立游戏开发者,没有公司给他们发工资,他们自己给自己发薪水,必须用爱发电,独立负担开发过程中的所有花费。
相对的,他们可以可以决定游戏的走向,做自己想做的游戏,往往可以推出崭新观点的作品,而不用受制于游戏公司或市场。
我们在市面上也经常看到一些游戏打着独立游戏的旗号,其实背后是几十人的团队,几百几千人的公司。他们只是打着独立游戏的旗号进行营销博取关注的商业化游戏。他们不会像独立游戏一周五六次更新,不会在游戏发行5年10年后,还免费推出新的游戏机制,更多只是收割一波就再无后话了。
下图是三款著名的独立游戏《环世界》、《我的世界》、《星露谷物语》。
星露谷物語全平台卖了2000万份,作者花了五年时间制作,一个人自学了编程/美工/音乐。期间没有其他收入。
大家可以看到这些游戏很多采用了像素风,这些本来是程序员处于成本考虑的美工上的削减。因为你不能要求程序员是万能的嘛,不过呢,在很多怀旧的眼里看来,这些风格有另外一种美感。
而且独立游戏重在玩法,所以美术风格上大家一半都能给一定的宽容,更何况,你赚了钱了,还可以请专业美工不是。
独立游戏的美术,也突出了一个出奇制胜
。
独立游戏制作人的故事
提到独立游戏,必定要提到《独立游戏大电影》,讲了三个独立游戏背后制作人的故事。
如果要做创造世界的神,就要忍受背后的孤独。
独立游戏制作者,他们是自己游戏的神,他们创造了游戏的世界,游戏的NPC长什么样,什么性格,要经历什么样的生活,都是他们说了算。然而他们却也要忍受制作独立游戏过程中的孤独,要耐得住寂寞。
第一个制作人的故事
超级食肉男孩是一个平台跳跃游戏,在许多超级变态的机关里,找出一条道营救自己的绷带公主。主角会被电锯一次次碾碎,但也会迅速在原点重生。
其实可以看到这个游戏无论是画风,还是游戏本身都有点暴力,猎奇。因为作者本身就是这样的人,他小时候就喜欢画一些怪物,他坦言自己体内藏着怪物,在生命中遇到无数无法理解自己的人。
小时候老师建议他父母带他去看心理医生。后来他找到了一个合理的宣泄猎奇欲望的窗口,把自己的奇怪想法画出来,做成游戏。
现实世界中的作者也有支持着他走完独立游戏制作之路的“绷带妹”,他们在一次次的挫折中互相鼓励,重新站起,在游戏发布后抱在一起哭泣。
第二个制作人的故事
比起程序员,时空幻境的作者更像一个哲学家,他对游戏和人生都有自己的理解。站在编程和游戏设计顶端的这个男人的演讲也大多是理念和思想,并不常讲技术。
他认为游戏里的瑕疵在所难免,因为有个性的东西必定是有瑕疵的。完美是完成的敌人。游戏成本增加,大多数大型游戏更注重迎合大众、循规蹈矩,磨去棱角的同时也不再有太多的新意。而他就是要追求这份新意。
他把游戏推向平台,大获成功,好评如潮。他逐条翻看这些热评,却很失望。因为他觉得没有找到那条连接。游戏里,时间是可以反转的。玩家可以在冒险的过程中随意使用时光倒流的能力,让主角回到过去的位置,这个机制被媒体和玩家大吹特吹,然而这却不是作者想要的赞美。他要的是作者能体会自己在游戏中所表达的那层意思。这个游戏探索了时间的双向性。
有人说《时空幻境》中,提姆实际上指代的是原子弹之父奥本海默,而所谓的公主则是他一生的成就——原子弹。
当你将猛虎放出了笼子,这只猛虎便不再受你的控制。此时,能做的并不是活在无尽的悔恨当中,而是着眼于当下,去发现和寻求新的解决之道。毕竟,真实的世界中,是没有后悔药可以吃的。
第三个制作人的故事
FEZ的制作者的故事,其实完全可以独立出一部好莱坞式的文艺片。他的独立游戏制作之路充满了大起大落,无尽的黑暗的挣扎。
他对细节和完美的执著,让他把游戏一再推翻重做,毫无限制的提升美术细节。身边很多人逐渐离他而去,合伙人离开,父亲患白血病,父母离婚,女朋友甩了他。
美国的法律,让他没有前合伙人的许可,不可以参加游戏展。眼看着游戏展出馆要开门了,他冒着可能被告的风险,把游戏展出了。
然而展出并不顺利,因为焦虑,对自己作品不够好的焦虑,他展出前夜通宵加入了很多新特性,没有严格测试完。结果很多人刚看完动画,玩不了一会儿,游戏就崩溃了,需要打开锁好的柜台重启才能玩,但是好在游玩者表示有兴趣重启后继续玩。
他站在玩家附近,观察玩家的反应,他会因为玩家露出这游戏一般的神色,深深失落。他坦言自己会被别人的看法影响,自己也被这个深深困扰。
"每次挂掉都像是我个人的失败,非常严重的失败"。
然而,根本没有退路,他坦言,如果游戏不成功,我就去死。
三个故事的总结
三个游戏最后都获得了成功,三个人都获得了财富自由。
不过呢,不容乐观的是,他们只是千千万万的制作人中的一人,更多制作人的作品石沉大海,几年的光阴心血付之东流,有些人可能选择再战,更多的人会选择重新回归之前的路。
孤注一掷的独立游戏制作人更容易变成像FEZ作者这样的情况,陷入生活和情感的双向困境中,这时候能不能像超级食肉男孩那样百折不挠,将作品完成,这就是一个很大的考验。
超级食肉男孩制作者说他已经失去了正常的生活,没有社交,忧郁,各种不同类型的忧郁。最后销售量超出预想的时候,他只是说,很累,真的很累。
其实我觉得对于中国的独立游戏制作人来说,最好的方式,是利用业余时间做做,社交是重要的,另外毕竟谁还不要还房贷啊。
三个人的故事,以影片中非常打动我的一段话来结尾
我们在老去有了岁月的痕迹,
也难免让人有些意志消沉。
你就会情不自禁地想,
或许我永远不会像我当初以为的那样,
去做我想做的事情了。
然后有一天我就想,
我要去做一件事,
而且一定做到底,
于是就有了《时空幻境》
在我看来,最重要的是保留心里那份悸动,不要变得日渐消沉,老气横秋。
“看看周围,看看身边所发生的一切,究竟有几个人能把年少时的梦想坚持到最后,低物质,低社交,牺牲很多东西作为底线,只是为了让更多的人分享这份‘天真’。真TMD的太帅气了。”
推荐一本书《DOOM启世录》,一个合格的独立游戏制作人,案头都应该放一本它。Carmack在当年性能有限的机器上制作出滚动卷轴游戏,制作出2d渲3d效果的极客精神和想象力,DOOM团队里小伙子们的热情你把手放在封面上就能感受到。
游戏制作
前面讲了那么关于独立游戏的故事,不知道有没有让大伙心中燃起了一点想做独立游戏的火苗呢?下面介绍一些游戏制作方面的东西。
为啥会有游戏引擎
做游戏离不开游戏引擎,自己从0做起只适合Carmack这样的超级极客。然而世界上只有一个Carmack。
我们先来说说游戏引擎。
任天堂的程序员先开发了一款游戏叫做孙喜刚,以当时特别火的金刚为原型。后来他又要做一款游戏叫做超级玛丽,程序眼发现主角跳来跳去,上下攀爬这些操作是类似的,这样的游戏都可以称作是平台跳跃游戏,就是platformer game
,那不如把这些类似的公共部分提取出来好了。于是就有了游戏引擎。
制作孙喜刚花了个把月,制作超级玛丽可能就只要一周了。
这时候的游戏引擎称之为内部引擎,要是任天堂把引擎开放出来,谁用我的引擎,我收取一部分授权费。那就成为了开放的商业引擎了,比如他给卡普空的程序员用,卡普空也开发出一款平台跳跃游戏,比如诺克人。
当然了,现实世界里,任天堂没有开放他的引擎,我只是举个例子。
游戏引擎的层级
虽然上面我说了游戏引擎这个词,但其实那只是泛泛的概念,现实世界里的引擎,可以定义为三个层级:从下到上可以为多媒体库/游戏框架/游戏引擎。
从下到上,功能越来越丰富制作游戏越来越省心。从上到下,越来越硬核。
游戏引擎,包含游戏分发,不要认为这些功能好像是添头。游戏可能一开始只发端侧,比如pc上的steam,但是一款成功的游戏一般都会分发多渠道的,比如安卓/ios平台,甚至ps4和任天堂的平台。把游戏打包成各个平台的包绝地够咱吃一壶。用游戏框架也能做各种平台的打包,但是整合各种工具是特别麻烦的,为啥不用别人帮我们做好的东西呢?
独立游戏开发者容易陷入误区,开发游戏变成开发引擎,而开发引擎又比开发游戏劝退很多,最终游戏和引擎都没开发出来。
咱们必须要清楚,咱们是在写游戏,还是在写引擎。
不用引擎的最站得住脚的原因就是,我想对游戏所有地方做全方位把控,不希望有些代码是引擎生成的,脑子上没有把控,心里就没有安全感。
不过就连这一点,有些引擎也考虑到了,让你基本不用那些自动生成的代码。
其实,烦恼是多余的,不管如何,你也无法把控每一行代码的,用了游戏框架,你还觉得多媒体渲染层不靠谱呢,手撸sdl吗?用了sdl,再手撸操作系统吗?
适可而止把。
游戏框架推荐
个人不推荐使用游戏框架。喜欢硬核,就是喜欢把控每一行代码人可以无视我的建议。
MonoGame
MonoGame引擎采用的脚本语言C#是一门很好学的语言,虽然这门语言现在的市场份额越来越小了。
不过这个引擎做出了《星露谷物语》《蔚蓝》两款伟大的游戏。
LibGDX
谁说Java不能做游戏?我这么擅长写Java,就是不想学其他语言怎么办?用LibGDX!
大卖的卡牌构筑游戏《杀戮尖塔》就是LibGDX做的。更赞的是,Github上有两款完整开源,下载后就能编译发布到其他平台的商业游戏:
- 《Mindustry》: 一款在外星球建工厂顺便打打小怪兽的
种地+塔防
游戏。 - 《Shattered Pixel Dungeon》:一款随机生成地牢的探险游戏。
你可以把他们的代码二次开发后,发布盈利,只要你也能遵守约定开源自己的项目。
PixiJS/PhaserJS
学点Javascript就能写H5游戏,找好打包工具,就能发布到Steam/微信,这种好事,只要你用PixiJS/PhaserJS就你那个达到。
Ebitengine
这里提一嘴它,主要因为笔者我是写Go的,然而,这个引擎,现在还不成熟,不好用。成熟的商业作品,基本没有。
游戏引擎推荐
Unity
大部分情况下,你可以无脑选择Unity引擎作为你的第一款(很有可能是最后一款)引擎。
鼎鼎有名的《王者荣耀》、《刺激战场》(新版本改为Unreal了)、《元神》都是用他做的。
不要误会,这个引擎做2d游戏也是很专业的,《保卫萝卜》也是unity做的。
Unity的优势很多:
- 强大的素材商店:我作为程序员,不会画画,不会做3d模型,不会写音乐,不会做UI,甚至,我都不是个程序员,代码都不会写,怎么办?
直接去Unity的素材商店里买素材,你要的都有。什么RPG/RTS/FPS游戏整个框架都有,拖拖拽拽就能把项目做出来。 - 教程超多:再好的武功,没人会传授也不行啊。妈妈再也不用担心我的游戏引擎学习啦。
- 社区活跃:有些问题,文档没有?甚至是对自己的游戏制作没信心了?活跃的社区会给你指一条明路。
Godot
我有没有和你说游戏引擎其实是要收费的?那现在告诉你吧,Unity引擎要收钱的,如果你一年营收超过10W美刀的话。
不过,一个不知道是好消息还是坏消息的事情是,很多独立游戏开发者一年根本赚不到那么多钱。
当你的游戏盈利很多的时候,你就得好好考虑这个问题了,毕竟扣去这些钱后,你还要扣去30%的平台分成(比如steam),还有你不会全能到能开发游戏还能发行游戏吧,发行商之类的也要分成,还有扣税。这么多环节里,能控制成本的软柿子,似乎就是这个授权费了。
所以,完全没有授权费的Godot来了。
Unreal
也是鼎鼎有名,不过刚入门独立游戏,又不打算做3A大作的你,真的要选择用C++来写游戏代码吗?
很多人会嚷嚷,为啥不推荐我用Unreal?为啥不让我写3A游戏。残酷的事实是,极极极极极大部分人一辈子都不可能写出3A游戏。
RPG Maker
小时候玩过英雄传说没?如果我告诉你,你可以用一下午时间学习一个游戏引擎,然后稍微熬熬夜,就能做出一款这样的游戏来,你不会以为我在骗你吧?
顺便提一嘴,Unity引擎差不多学习一周可以出作品。
然而我是认真的呢,甚至小学生都可以用RPG Maker
掌握游戏开发。
Steam上许多日式RPG(典型特点卡通形象回合制),美少女恋爱游戏都是用它做的。
如此之地的门槛,也导致这个引擎产出了一大堆粗制滥造的垃圾游戏。
大部分情况下,一行代码都不用写。
RPG Maker看上去最不像一款游戏引擎,更像是小孩子的桃木剑玩具,不像是我们成年人要的钢铁洪流,但是落到一个有着好idea的主人手里,一样可以降妖伏魔。
Cocos Creator
最近羊了个羊很火,这样一款微信小游戏,用Cocos Creator
可再合适不过了。对性能要求不高,玩法简单,还要轻松发布到微信平台。别想了,就用它吧。
况且,他的开发流程和Unity简直如出一辙,学有所成后,转战Unity也是很轻松。
第一款该做啥游戏?
看了这么多,也有想要尝试的游戏引擎了,我该怎么着手做第一款游戏练练手呢?
它山之石可以攻玉
你当然可以选择复现小时候玩的《超级玛丽》《90坦克》,不过我们还有更多选择,更多灵感来源,去看看Github上开源的游戏怎么做吧?
https://github.com/leereilly/games
Roguelike了解下
玩过《暗黑破坏神》吗?随机生成的地牢,随机参数的武器装备,甚至英雄模式下,角色死了就直接没了。
这些都是Roguelike的主要设定。
发挥一下你的想象力,
@
是主角,d
是怪物,.
是地板,>
是下樓,<
是上樓,大白框是房间的墙体。
看看这样的黑框框游戏,在命令行下也能玩,DOS下产生的游戏,在画面上做到极简,在游戏性上做到超级丰富。
多种交互,敲门,偷听,炸开墙壁,这些行为都可以。自由度超高。
roguelike的优势
一般的游戏,都会有关卡设置,每个关卡,每个节点都是精心设计的,可能第一遍玩的时候特别好玩,但是玩多了,就可以背板了,每个地方,什么样,什么时候出现什么怪物,大家都知道了。游戏就变得无聊了,大家就不愿意再次打开了。
如果让关卡随机生成就解决了这样的问题。
让游戏更鲜活一点
上面那个黑框框的画面可能会劝退很多人,所以很多新的Roguelike游戏在画面上做了美化,变得更加富有变现力。仔细对比上图和黑色小框框,你应该能看出其实都表现了一个房间里的怪物和宝物分布。
游戏Roguelike死了就消档的设定过于硬核,后来推出了简化版,roguelite,保留每一盘都各不相同的设定,但是对死亡后的惩罚进行舒缓。允许失误,甚至允许你重开后,通过一定方法,找回上盘失去的东西,比如《饥荒》。
这些游戏现在很热门,而且一些核心机制,在github上都有开源的实现。你要做的就是对在游戏设定上再玩出点花样。
写在最后
本来想给大家讲讲游戏引擎的一些基础概念和游戏制作流程的,但是想想时间不够,而且也不想给大家造成太大心智负担。
毕竟前面讲得这些还是趣味为主,堆砌太多技术细节,对不感兴趣的人来说是煎熬,所以,还是留给感兴趣的人自己去了解吧。bilibili
是宝藏网站!
还有很多主题我都没讲,比如美术素材怎么搞,游戏怎么上架。但是这些都不是大问题,一旦有兴趣,写下第一行独立游戏代码,你就会被推着去了解一个个主题,这些东西网上都很多。最重要的不是为什么,而是行动力,就是现在,马上,就去做。
种一棵树的最佳时机是十年前,第二好的时机,就是现在。