赞 | 400 |
VIP | 0 |
好人卡 | 24 |
积分 | 250 |
经验 | 45372 |
最后登录 | 2024-7-2 |
在线时间 | 3339 小时 |
Lv5.捕梦者 (版主)
- 梦石
- 1
- 星屑
- 23984
- 在线时间
- 3339 小时
- 注册时间
- 2011-7-8
- 帖子
- 3926

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 guoxiaomi 于 2020-4-11 07:02 编辑
相信论坛上有不少人在开发游戏的时候是独自一人的,无团队、无粉丝。由于是独自开发,不需要对任何人负责,开发的进度时常拖延,使得很长时间都出不来一个可以玩的版本。
我个人其实是鼓励个人开发者寻找团队,定好长期、短期的目标以提升开发效率,同时尽快发布早期版本以圈养粉丝,使得自己更有压力完成后续的开发。
我是个粗人,不懂游戏开发的理论,也很难说清楚为什么要如此建议。所以我讲一个开发者的故事,以及他的作品——Stranded3。
当你打开Stranded III 开发博客的时候,就知道这个开发者有多么的拖延了。没错,这款游戏从2012年开发,到现在已经7年半了,作者大约以1-2月的周期更新他的开发博客,而我从2012年开始就在关注这个博客,可以说是见证了作者的整个心路历程。
接下来我会结合作者的博客,给大家点评点评这个作者在这7年半里都做了些什么。
首先要从他开发的前作 Stranded2 说起,这款作品的中文名叫《荒岛生存2》。Stranded2 是一款第一视角的荒岛生存游戏,你可以在unrealsoftware上下载。除了在随机生成的岛屿上生存冒险外,还有一个充当教程的冒险模式,同时你可以编辑游戏内的各种文件,开发一个mod也是非常简单。游戏内容丰富,操作友好,加之有冒险模式和开放的游戏脚本,当时我一度沉迷此游戏不能自拔。我甚至在后来还用RMXP制作了一个类似的游戏以致敬。
游戏在推出后饱受好评,并且圈养了一大批的粉丝,国内的粉丝,应该都集中在了百度的荒岛生存2吧里。
于是在Stranded2发布了黄金版本的4年后,2012年,作者正式开始了续作Stranded3的开发,并且在官网 http://www.stranded3.com 上发布了第一篇博客:
Hi. I'm going to use this thread to post my progress on Stranded III. Everything I do will be published here. There might even be videos and live streams later.
(话说这个英文我就不翻译了,看不懂也不太影响对本文的理解,有兴趣可以机翻一下)
旧作Stranded2是用C++开发的,作者选定了Lua作为新的开发语言。然而在2个月后作者更新了第3篇博客,表明自己决定用Unity3D来开发新的地图编辑器,但保留Lua作为游戏内的脚本语言(用于玩家自定义功能):
There was no update for such a long time because I checked Unity3D and I decided to switch.
The editor uses the standard Unity3D GUI system.
无论如何,开发工作还是顺利的开始了。作者对这个地图编辑器非常满意,画了不少地形之后,又给编辑器添加了不少新的功能,并且在第10篇的时候提到了联机:
Moreover I implemented my UDP library in Unity3D (same one which is used for Carnage Contest and Counter-Strike 2D as well). This allows me to implement the multiplayer code of the actual game and I already started to do so. 随后作者很开心的做了一些联机上的工作,但是很快作者厌倦了Unityscript这门“伪”语言,此处需要@GameMakerScript:
I decided to rewrite the code to be 100% C# instead of using Unityscript (which is basically like Javascript).
在第15-17篇,作者花费很长时间给游戏制作了logo,作者在制作期间经常沉迷建模和绘画,其实在此处就已经埋下伏笔了。在第19篇的时候,作者表示自己长时间未更新是因为本职工作很忙:
Oops! 123 days without update! I'm really sorry about that!
I'm working full time as software engineer since mid-April so it's hard to find time to work on the game and to post news about it.
作者本职工作是程序员,同时擅长手绘和3D建模,这样的人才可以说是很罕见的。何况作者的CS 2D已经上架steam,论能力完爆本论坛99%以上的开发者。
在第22篇,作者在制作游戏的界面,包括标题和部分菜单,并且在给Lua的API写文档。在第19篇的时候作者就提到他花费了大量时间在内部的代码上,此时在我看来,游戏的框架基本搭成,离发布只是一步之遥。然而在下一篇博客中,一件意外发生了:
Stranded Deep has been released 5 days ago on Steam Early Access. It is/was under the top 5 sellers and I tried it as well. For research of course. I have to admit that the graphics look really good but the content is still pretty limited. I think and hope that this game won't become a Stranded III killer as it doesn't support modding or multiplayer. I will keep an eye on it and I'm very interested to see how it goes on and what cool stuff the two guys from Beam Team add.
没错,一款相似的游戏 Stranded Deep 登上了Steam 抢先体验!此时的Stranded Deep还处于非常早期的阶段,可以说除了画面略强,其他方面被Stranded2(注意不是Stranded3)完爆。同时作者也非常的自信,他认为这个游戏不会成为Stranded3的有力竞争者。现在看来非常讽刺,steamspy上显示Stranded Deep有50w到100w的拥有者,无论怎么说这都是爆款游戏。我要是有个游戏有1w的下载量,怕不是要去五祖寺上香。
此后作者在27篇里提到了Unity在画面绘制上的小问题,但是他很快找到了解决方案。前面提到Lua作为游戏内的脚本语言,作者使用了Unilua以保证Lua在Unity3D中也能使用。但是作者随后遭遇了来自东方的神秘力量,因为Unilua的开发者是中国人,大部分注释是用中文写的,于是在28篇里作者把Unilua换成了Moonsharp:
First of all the code of UniLua was really hard to understand for me because most of the comments (and even some Lua error messages) were just strange Chinese (?) characters.
如此之后引擎的问题就可以放在一边了,作者先研究了一下生成河流的算法,随后开始了大量的素材绘制工作,如此时间一天天过去,转眼到了2017年。在第60篇博客中他开始反思自己的一些问题,他本来想把Stranded3做成高度自由的,玩家可以完全定制里面的任何内容。所以他使用了Lua这门脚本语言,并为玩家写了大量的LuaAPI以方便二次开发。但是Lua繁杂的语法导致即使是简单的UI,也需要大量的Lua脚本来完成,最终作者想通了:
How to solve this? The answer is simple: Move more parts to code again and do less stuff in Lua. C# (the language Stranded III is developed in) is way better for writing complex stuff because it is more strict and strongly typed.
作者痛定思痛,决定把现在写好的UI系统(超过6k行)用C#重写:
The painful consequence of all this: I have to port the UI system from Lua (over 4.5k lines for the system itself + over 2.2k for actual game menus) to C#. Afterwards I'll throw the fancy Lua UI scripts into the trashbin.
随后作者又开始了绘制各种物品的模型,不知不觉已经2018年了。作者突然从睡梦中醒来,在第76篇中认为自己不该把时间都花在UI和物品的3D模型上,以至于游戏本身没有任何进展:
I set the wrong focus during the development of Stranded III. I spent too much time with working on UI stuff and 3D models and I didn't work enough on the actual game. Therefore I do not have a game with fun game play yet which is a difficult and demotivating situation.
截止此刻,作者已经制作了2年的3D模型。作者想了想,这样下去也不是个法,不如立个flag,在2018年年底必须搞出一个带多人游戏功能的基础版本出来,否则就吃键盘放弃开发:
I already put a lot of work into this project and I do not plan to give up. On the other hand however I can't continue like this (working without playable results) forever. Therefore I'll set a deadline: I will either manage to create basic playable multiplayer alpha this year or I'll cancel the development.
后面作者更新的频率大幅下滑,但是仍然以绘制UI和物品模型为主。在2018年12月的第82篇里,作者违背了年初时候的承诺,决定继续把这个游戏开发完毕:
I decided to pretend that there never was that virtual deadline. I'll continue with development because that's what I want to do.
在2019年,作者已经在研究如何生成合理的随机地图了,在2020年2月唯一的发布里,我们可以看到游戏的地图编辑器已经接近完工。
故事就告一段落了。从评论区可以看到,粉丝们纷纷表示,我爱死这个游戏了,等了好几年,能不能给个早期的版本让大家爽一下?作者对此是拒绝的,并让大家耐心等待。
我为什么坚持追这个博客,就是因为我要给自己一个警醒,不要像这个开发者一样做游戏。也就是我在文章开头所说,避免单人长时间开发游戏,要尽早找团队,并且发布早期版本圈养粉丝,否则就是这个下场:7年半的努力,很可能最终竹篮打水一场空。
各位开发者朋友们,你们是否也犯了相似的错误呢?欢迎在本贴下面自我检讨 |
评分
-
查看全部评分
|