游戏邦在:
杂志专栏:
gamerboom.com订阅到鲜果订阅到抓虾google reader订阅到有道订阅到QQ邮箱订阅到帮看

有时候你只需要去发行一些内容

发布时间:2017-01-04 15:18:14 Tags:,,,,

作者:Josh Marinacci

早前我决定编写一款游戏。一款经典8位体NES风格的老游戏。即科幻RPG游戏。这是我在孩童时期非常喜欢的一种游戏。最初的游戏开发非常有趣也很简单。在几天内我便创造了一个功能演示版本并在一周内创造了带有图像的粗略游戏情节。我想说这时候我已经完成了10%的游戏创造。而那已经是3年前的事了。在那之后我换了多份工作。并到处旅行。我的孩子已经完成了学前教育并开始上幼儿园。我的生活发生了一些变化。但是其中未曾改变的一点却是游戏。即这款游戏的创造仍停留在10%。尽管致力于这款游戏3年了,但是比起一开始它似乎离完成更远了。这一未完成的项目始终困扰着我。所以上周我决定尝试自己唯一能做的事,也就是发行一些内容。

我想要做什么

final fantasy IV(from  bilibili)

final fantasy IV(from bilibili)

让我们往回走一点。这款游戏本来要叫做《圣诞幻想4》。但是之前并美有1至3的前奏。我之所以从4开始是因为《最终幻想4》是这系列游戏中最出色的一款。游戏中的情节包含了一个想要拯救圣诞节的孩子,但是在他收到来自北极的邀请之前圣诞节还是都好好的。我是否说过这是一个悲剧?这里充满了关于20世纪80年代的圣诞电影中的玩笑?它是从一个简短的故事开始并逐渐发展成完整的12章节内容(12天的圣诞),并包含20个角色,12个恶棍以及无数等待玩家去对抗的敌人。但这里存在一个问题,游戏的“野心”不断地壮大着。尽管我拥有20多年的软件工程经验,但却还是不能阻止自己。每个理念都会引出其它理念。所以涌现出了许多待建的酷理念也有许多待讲述的内容。

在当下看来局面还是可以控制的。我处理了第一个章节,创造了所有角色间的对话与互动。我同时也添加了地图。因为找不到多少优秀的地图编辑器,所以我需要自己创造地图。我同时也想要创造自己的像素图编辑器(为什么?!)。虽然创造自己的游戏引擎是合理的,但是为什么我要去多做这些事?特别是当游戏本身的“野心”已经远远超过我的预期之时。谢天谢地我没想着去自己编写音乐。至少我还没达到那般疯狂。

我该如何做到这些?

最初的《最终幻想》也很简单。尽管从硬件看来它们的确是个技术杰作,但是游戏机制其实并不复杂。这也是我为什么能够快速创造并运行演示版本的原因。但是我却并未意识到自己的大多数时间都是花费在内容上。即情节,脚本,像素图,地图,怪兽和营销等等。我都是从头开始自己进行编写。《最终幻想》是由一支全职工作的团队成员所编写的。而我却是个只能利用空闲时间去工作的业余爱好者。所以我终于意识到自己不应该去尝试这么一款“野心勃勃”的游戏。所有的一切都将花费比我预期更长的时间,因为这也不是我的全职工作,所以游戏发行可能就这么一天一天地拖延下去。

去年秋天,这款游戏始终都是我的心头之重。3年的工作最终却只得到前两个章节的beta版本。基于这种速度我可能将会在几十年退休之后才开始编写最终的章节。进展太慢让我非常沮丧,这也导致工作速度进一步变慢。我开始丢失创造性,也不想再画画了。这真的很糟糕。

凭借强大的意志力我终于创造出了虽然带有有限互动但却可游戏的关卡。这只是个开始,而我也清楚这种意志力不可能帮我完成整款游戏。我需要拥有一种全新的形态。我不需要一定能完成这个项目,但至少能够到达一个不算失败的目标。我需要将一些内容呈现在世人面前。我必须努力去摆脱窘境。

摆脱窘境

所以我做了一个决定:我要在圣诞节前发行一些内容。不管是什么都行!即比起致力于一款完整的游戏,我将不断对其缩减直至我能在圣诞节之前完成一些内容。即我要创造一款能够表现出游戏概念且能够为我带来一些有利于最终完整游戏的有益反馈的迷你游戏。于是我围绕着这句话编写了一款全新游戏:圣诞野鸡的灵魂。这就足以作为核心去创造一个基于全新视角的简单情节:融化Scrooge的心,并被意外变成一只鸡。从这里我可以使用最初的原材料去编写一个简短的脚本(游戏邦注:可能只有15分钟的游戏时间)和许多玩笑并去编写一些角色。而为了进一步加快开发速度我重新使用了最初游戏中的一些图像和文件格式。最终游戏开始有所发展了。

每一天我都会为自己设定一个目标:在工具中完成这一功能去完成迷你游戏的下个部分。如此我便只能去创造唯一能够实现真正发行目标的内容。这也将推动我去舍弃那些需要花费大量时间但却不能带来多少好处的功能。例如视觉动作编辑器。

我最初的设计包含一个能够贯穿整款游戏基于条件和状态从视觉上编写动作的工具。就像如果你拥有钥匙Y并已经告诉角色Z,X门便会开启。而因为发行的限制让我不得不放弃编辑器并专注于两个最常见的动作:与道具/角色对话以及通过门从一张地图走到另一张地图。其它内容则是基于通用的脚本动作。

而回想起来丢弃视觉工具似乎是我能做的最好的事了。比起最初的概念,脚本动作更强大且执行起来更快。它同时也能让我们更轻松地创建功能,否则我们将不得不等到版本2才能进行创造。

最后关头

我终于在圣诞节前几天完成了游戏并将链接发给了beta测试者们,然后便是等待。在获得了一些正面评价以及一些快速bug修复后我向全世界公开了游戏链接。我终于松了一口气。即使没人玩游戏,至少我发行了它。我终于可以放松一下了。

游戏发行后的第二天真的很奇妙。我的感觉非常良好。我的创造性也一下子涌现出来。脑子里已经浮现出了全新角色和玩笑。我再一次开始愉快地画画。我想要再次创造一些东西。从那时起我便开始快速投入下一个章节的创造。或许我不用等到50年后才能真正发行一款大型游戏了。或许我将创造更多迷你游戏。而不管怎样我都会继续向前发展。

只要发行一些内容

下一次当你感到受挫时,我会建议你去发行一些内容。不管什么都好。这能让你对自己的工作感到骄傲并获得一些反馈,同时让你获得能量继续去维护游戏。有人说创造游戏是一件心甘情愿去做的事。它很容易让你感到精疲力竭。所以有时候你需要一些小小的成就感去推动自己。

本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转发,如需转载请联系:游戏邦

Sometimes You Just Gotta Ship

by Josh Marinacci

A while ago I decided to write a game. An old game. A classic 8bit NES style, Final Fantasy-esqe RPG. The kind of game I loved to play as a kid. (I’m rather old, you see). The initial development was fun and easy. I had a functioning demo in a few days and sketched out a rough plot with graphics in a week. I’d say it was about 10% done. That was three years ago! Since then I’ve switched jobs. I’ve traveled more. My kid finished pre-school and started kindergarten. Everything in my life has changed. The one thing that hasn’t changed the game. It’s still at 10 percent completion. Despite working on it for three years the game feels further away from completion than when I started. This unfinished project was haunting me. So last week I did the only thing I could do. I shipped something.

What I wanted To Do

Let me back up a bit. The game is meant to be called Christmas Fantasy IV. There have never been numbers one through three. I started with IV as a nod to the fact that Final Fantasy IV was the best (or possibly VI, it’s hard to say). The plot involves a kid who wants to save Christmas, but Christmas is just fine until he shows up uninvited at the North Pole. Did I mention this is a comedy? And full of jokes about 1980s Christmas movies? And it started as a short story that grew into 12 full chapters (for the 12 days of Christmas, you see), complete with a cast of 20 odd characters, 12 villains, and endless enemies to battle. And therein lies the problem. The game kept growing and growing in ambition. Despite my twenty years of software engineering experience I couldn’t restrain myself. Each idea led to another, and another. So many cool ideas to build. So many bad jokes to be told.

For a while the situation was manageable. I tackled the first chapter; scripting dialog and interaction between all characters. I also stubbed out the maps. There aren’t any great map tile editors, so of course I had to build my own. I also had the idea to build my own pixel art editor (why?!!). Building my own game engine is fairly reasonable for a task like this, but why did I need to keep reinventing the wheel? Especially when the game itself was far more ambitious than I realized. Thank goodness I didn’t try to write my own music. At least I’m not *that* crazy. Right?! How did I get here?

How did I get here?

The original Final Fantasy games were pretty simple. While they were a technical tour-de-force on the hardware of the day, the game mechanics aren’t complicated. That’s why I was able to get a demo up and running so quickly. What I didn’t realize, probably because I’ve never done any sort of art for a living, is that nearly all of my time would be consumed with content. The plot. The script. Pixel art and maps and monsters and sound effects. I had to write it all from scratch myself. The original game was written by a team of people working full time. I’m just a hobbyist working in my (increasingly slim) free time. Now I realize I should never have tried to build such an ambitious game. Everything would take far longer than I originally planned, and since it’s not my day job I can easily let the release slip week by week, month by month into the future.

This past autumn the game was weighing on my mind heavily. Three years of work resulted in a beta of the first two chapters. At this rate I’d be writing the final chapter when I retire on Mars in a few decades! Work progressed slower and slower, which made me more disheartened, which slowed work even more. I had trouble being creative. I never wanted to draw. The jokes didn’t come. I was stuck.

Through sheer brute force of will I managed to get the tools working enough to build playable levels with extremely limited interaction. It was a start, but I knew brute force wouldn’t get me through an entire game. I needed a new mental attitude. I needed the project to be… well, not necessarily finished, but at least to a milestone where I wouldn’t feel like a failure. I needed to show something to the world. I needed to get unstuck.

Getting Unstuck

So I made a decision: this Christmas I would ship something. Anything! Rather than working towards the full game I kept scaling it back until I had something completable by Christmas. A mini-game which would show the concept and, hopefully, give me some good feedback that I could apply to the full game. I wrote a new game around a single pun: The Ghost of Christmas Pheasant. This was enough of a core to build a simple plot of a new angel performing his first job: melting Scrooge’s heart, while being accidentally transformed into a chicken. From there I could use the original source material to write a short script (maybe 15 minutes of play time), lots of bad jokes, and draw a few characters. To further speed up development I reused graphics and file-formats from the original game. Things started to finally move.

Each day I set a goal: make this feature in the tools work just enough to complete the next part of the mini-game. I was forced to build only the things that furthered the goal of actually shipping. It also forced me to scrap features that were consuming lots of time for little benefit. One example is the visual action editor.

My original design contained a tool to visually write actions with conditions and state throughout the entire game. Things like: door X opens if you have key Y and have already talked to character Z. The constraint of shipping forced me scrap that editor and focus on the two most common actions: dialog with an item/character and going from one map to another via doors. Anything else is done with a general purpose script action.

In retrospect stripping out the visual tool was the best thing I could do. The script actions are far more powerful, as well as faster to implement, than the original concept. It also made it easier to build features that originally were going to wait for version 2, like having different a dialog the second time you talk to a character. Things were looking up.

Down to the Wire

A few days before Christmas I finished it, sent a link to beta testers, and waited. After some positive comments and a few quick bug fixes I posted the link to the world. A sigh of relief escaped my lips. Even if no one ever plays the game, at least I shipped it. I could finally rest my heavy shoulders. I was unstuck.

The next day was magical. I felt better. My creative juices started flowing again. New characters and jokes would pop into my brain. I enjoyed drawing pixel art again. I wanted to make stuff again. Since then I’ve made rapid progress on the next few chapters. Perhaps I won’t have to wait fifty years to ship the big game. Or maybe I’ll make some more mini-games. Either way I’m happy again and moving forward.

Just Ship Something

The next time you are stuck, my advice to you is simple: ship something. Anything. It will make you proud of your work, bring in feedback, and give you energy again to keep at it. They say building games is a labor of love, heavy on the labor. It’s exhausting. Sometimes you need the small wins to keep going. Just ship something.(source:gamasutra)

 


上一篇:

下一篇: