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

分享整合两款糟糕游戏的开发经验

发布时间:2014-08-20 12:16:45 Tags:,,,

作者:Ian Richard

针对我的“每月一款游戏”计划,我选择接手一项独特的挑战,即每个月都选择一款“糟糕”的电子游戏并将其重制为一款具有可玩性,甚至是具有趣味性的游戏。

这次我打算重制的是NES经典游戏《Hydlide》,并将其与官方重制版本《Virtual Hydlide》结合在一起,创造出《Virtually Super Hydlide Special》。

尽管《Hydlide》是日本公认的一款属于开创性的经典之作,其之后发布的美国版本却成了一个笑柄。而《Virtual Hydlide》则招致了普遍否定。它最多算是一款创意良好但执行糟糕的游戏罢了。

将一款半个世界都讨厌的游戏与一款全世界都厌恶的游戏结合在一起……会出现什么情况呢?

计划

玩家对《Hydlide》的最大意义之一就是其战斗系统。在《塞尔达传说》结合动作与探索元素的做法出现之前,《Hydlide》的机制就只是让玩家行走。

我可没有开玩笑。

要在《Hydlide》中攻击一个敌人,你得先走向他。你每次走到敌人的阵地时,你和敌人彼此交换打击对方,反之亦然。你可以采用的最有深度的策略就是按住A键进入攻击模式。在这一模式中,玩家可以创造更多伤害值,但也会受到更严重的损害。如果你眼看着自己快输了,就可以直接走开等待自己的HP值恢复为止。

所幸我们还有一种尽管缺乏玩法但仍然备受喜爱的游戏题材:MMO。

在典型的MMO游戏模式中,玩家要选择一个目标敌人并自动交换打击,直到其中一方死亡为止。这实际上就是我的这款重制游戏的核心理念,因为它可以解决许多问题。

*如果我将此制作为第一人称视解,我就不需要定制攻击动画,并且可以绑定《Virtual Hydlide》式的玩法。

*因为MMO战斗式的交换攻打与旧版风格太相似了,我可以继续保持原来的状态并维持最初的平衡。

*我甚至可以保持攻击模式和防御模式的区别,并让它发挥相同的功能。

另一个主要优势就在于我上个月已经在开发一个3D精灵引擎,它可以让我在3D环境中使用原版的NES精灵!

注意:本文所采用的玩法图片使用了定制精灵,以避免版权问题。《Virtually Super Hydlide Special》使用的是原版NES精灵。

最后,精灵引擎还可以让我直接从一个位图输入地图。为了创造我自己的游戏地图,我所需要做的就是鲜明的颜色追踪原地图,并将图片缩小到合理的大小,由引擎来执行其余的操作。

Big Map(from gamedevelopment)

Big Map(from gamedevelopment)

现在回头来看,它的确是个相当良好的计划。

错误教训

我过份高估了自己的引擎

我是针对旧式地下城游戏来创建引擎。我所创建的最大地图约30*30。我所能制作的最小的《Hydlide》世界地图并且保持其辽阔感的大小为83*83。

最多增加三倍的测试大小,这会导致出现漫长的载入序列。这很有问题,因为地下城并不大,而你却需要经常载入世界地图。我花了数天时间执行一个串流地图,在之后却只能砍掉这个功能,因为我发现载入画面是向玩家呈现必在信息的好方法。

我花在制作地图流上的几天时间就这样浪费了。如果我当时花点时间事先想想如何解决这个问题,就可以省下这些时间和精力了。

另一系列问题来自调整引擎以便使用循环地图。我所使用的贴图非常之小,我必须绘制大量贴图来填充一个合理的绘图距离。这会导致地图贴图循环时的迟缓现象。

我的解决方法是什么呢?载入更多贴图!

在载入画面时,我载入了我填充绘图距离所需的两倍贴图。这意味着,在你行走的时候,地图已经完全载入并且到位,但远处的贴图仍要以实时方式载入。

此时,我调整了系统每帧仅载入数张贴图。对于玩家来说,它看起来就像是地图在无缝流入,但在摄像机看不到的地方,它仍然是一些空洞,一次只能生成一点内容。

Ouside The Map(from gamedevelopment)

Ouside The Map(from gamedevelopment)

总体来看,我的引擎生效了,但并未像我所预料的那样流畅。我原先希望自己的核心玩法由Day Seven来执行,但直到一周后才完工。

我低估了转化到3D的难度

因为我花了太多时间制作游戏的世界地图,直到进入项目时才发现第二个主要问题。我的经验实际上足以让我提前预料到这一点。

原版《Hyudlide》中的地下城是迷宫。

它在原版游戏中表现还不赖,因为其中的鸟瞰视角可以让你看到正确的路径。但作为第一人称游戏,直接使用我所规划的地下城地图则会令人抓狂。

我无法像计划那样输入关卡,所以我必须手动制作一个新的。虽然创建短小而功能齐全的地图并不是大问题,但也颇费了一翻额外的功夫。

我过度自信

两个月之前,我之前重制的项目《Ghostbusters Inc.,》从一个作品的角度来看棒极了。一切都到位后,我开始植入自己所希望的每一个功能,同时也仍在制定一个合理的计划。

我最后一个GAM项目进展得极为顺利 。我在一周时间内就完整设计和执行了《Tactical Strike Micro》开发工作。它使用的引擎和《Hydlide》一样,一切进展顺利。

我这个月要开发一些存放在脑中的好项目,忽视了自己最重要的工具之一:规划!

我通常很热衷于花时间编写计划,规划功能正确分清一切东西的主次。

在第13天时,我仍在执行那些本该执行或被砍掉的核心玩法功能。我开始感到压力,尽管迷失了大体方向,但仍在努力工作。

坦率地说,我并不确定自己能够如期完成工作。在一个小型项目上投入半个月时间看似颇为漫长,但要做的事情实在是太多了,它的进展并不顺利。

我经常提醒人们注意盲目热情的危险,但这个项目却提醒我自己也不能免俗。

光明面

我并不慌张

我知道这是一项成就。在事情发展比较糟糕时,我通常会进入一个纯粹的反应情绪状态——高效,但误入歧途。但这次我却没有出现这种情况。

在第13天,我意识到自己有麻烦了,并回头来审视自己的这一过程。很快发现自己太过专注于控制方向但却没有注意看清路况。我是在没有考虑是否符合最终产品需求的情况下盲目修复问题。

我在第14天中用了一整天列出了一个合理的计划:

*列出哪一天必须完成哪个环节。

*列出功能和漏洞修复的优先次序列表。

*我必须考虑的问题,例如“我该如何在没有NPC的情况下引导玩家?”有了这个列表,我就会清楚自己停下来时该想些什么。

这个计划完成后,我坐来下休息了一个晚上。我知道压力已经开始影响我的思考,我必须先理清自己的头绪。

从第15天开始,我的工作效率就开始飙升了。我在之后三天完成的任务比我上周做的还要多。

风格

我被2D NES精灵在3D环境中的效果而折服。所有敌人、地下城墙体,以及地形贴图都直接来自NES游戏,但它们更为突出并且令游戏看起来与众不同。

Style(from gamedevelopment)

Style(from gamedevelopment)

虽然我过去几年设计过比这更棒的游戏,但这个项目似乎颇能吸引人们的眼球。游戏所呈现的模样令我获得了大量积极反馈。

我早期的设想是正确的

幸运的是,我多数初期设想都是可行的。战斗系统运行合理并且具有平衡性,虽然引擎存在瑕疵,但还是能够执行我所需要的功能。

尽管一些都比较简陋,游戏还是颇具趣味。

我的确修复了战斗系统令其更具动作性而较少重复性,但由于与原版游戏的连系毕竟还是有了一个良好的开端。

我的开发者人脉

虽然这是我自己创建的一个项目,但我实际上并不是独立完成的。我有许多好友是经验丰富的游戏开发者,他们派上了大用场。

战斗系统的重新设计源自我与好友Josh关于MMO式战斗系统的一次讨论。他担心这个系统不够刺激。随着项目的继续推进,我意识到他说的是对的,我必须更正原来的设想。

其他功能亦是如此,例如我在发现好友Rob表示不解之后所植入的“仙人指路”,以及我根据他的观察而编写的新攻击动画代码(以便旋转精灵呈现合理的效果)。甚至是Twitter都派上了大用场,可以直接让我链接到自己所需的引导玩家信息。

即使是独立项目,你也不可低估他人帮助的价值。

我最大的收获

纸面上的理论和规划很乏味并且也未必准确,但它们仍然存在益处。

花点时间在纸上制定你的计划,可以迫使你以全面的视角来检查项目。当你将其划分为特定的功能时,你就会发现哪个环节与另一部分相连,这样你就可以以有效的次序来解决问题。之后,你就可以停留在任务之间的区域,因为你不必切换细节思考与总体思考之间的状态。

制做列表的另一项优势就在于,它意味着你可以在开发过程中添加内容。如果你遇到一个漏洞或者需要植入的功能,你就可以将它写下来并进行安排。

我认为自己能够摆脱单调,但我还是错了。无论我多有经验,我还是不可避免地会犯些错误 。预制作是一个重要的环节,无论你认为自己有多厉害都不可以忽视它。(本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

Bad Game + Bad Game = Good Learning Experience

by Ian Richard

What You’ll Be Creating

For my One Game a Month projects, I have chosen to undertake a unique challenge. Every other month I choose one “bad” video game and remake it into something playable and hopefully even entertaining.

For May, I decided to remake the NES classic Hyldide, and combine it with its official remake, Virtual Hydlide. Together, they would create Virtually Super Hydlide Special!

While Hydlide is considered a groundbreaking classic in Japan, its late American release made it a laughing stock prime for AVGN. Virtual Hydlide, on the other hand, was pretty much universally panned. At best, it was a poorly implemented game with some good ideas.

AVGN on Hydlide

ProJared On Virtual Hydlide

Combining a game that half the world hates with a game the whole world hates… What could possibly go wrong?

The Plan

One of the biggest issues players have with Hydlide is the combat system. Long before Zelda’s exciting blend of action and exploration, Hydlide was all about walking into things.

No, I’m not kidding.

To attack an enemy in Hydlide, you walk into him. You and the enemy each trade blows every time you step onto his tile or vice-versa. The deepest strategy you can apply is to hold the A button to enter Attack Mode. While in Attack Mode, the player inflicts more damage, but also suffers more. If it looks like you might lose the battle, you can just move away and wait for your HP to recover.

Fortunately, we have a genre of games that is beloved despite its similar lack of gameplay: the MMO.

In classic MMO format, the player chooses a target enemy and trades blows automatically, until either the player dies or the enemy dies. This was actually the core concept I used when I started this remake, because it solved many issues:

If I made this first person, I wouldn’t need custom attack animations and could tie into the Virtual Hydlide style of gameplay.

Because MMO combat-style trading of blows is so similar to the old style, I could keep the stats exactly the same and maintain the original balance.

I could even keep the Attack Mode and Defense Mode distinction, and have it function the same.

The other major advantage is that I’d been working on a 3D sprite engine the previous month, and this would allow me to use the original NES sprites in a 3D world!

Note: The gameplay images in this article use custom sprites to avoid copyright issues. Virtually Super Hydlide Special uses the original NES sprites.

Finally, the sprite engine allowed me to import maps from a directly from a bitmap. In order to create my game’s maps, all I needed to do was trace the original maps with solid colors and shrink the image to a reasonable size. The engine does the rest.

The actual wold map loaded inThe actual world map my game loads in

Looking back, it really was actually a pretty good plan. But, you know what they say about the best laid plans…

What Went Horribly Wrong

I Vastly Overestimated My Engine

I’d built my engine for old-school dungeon crawls. The largest map that I had built was about 30×30. The smallest I could make Hydlide’s world map while keeping that expansive feel was 83×83.

At almost triple the tested size, this lead to a long loading sequence. This is problematic, because the dungeons are not large and you’ll be loading the world map often. I ended up spending a few days implementing a streaming map, only to cut the feature later because I realized the loading screens were a good way to give the player information they needed.

The days I spent making the map stream were wasted. If I had taken the time to think about things prior to attempting to work through the problem, I’d have saved time and stress.

The other set of issues came from modifying the engine to use a looping map. The tiles that I used were very small and I needed to draw a lot of these to fill a reasonable draw distance. This lead to visible slowdown as the map tiles looped around.

My solution? I loaded more tiles!

During the loading screen, I loaded about twice the tiles that I needed to fill the draw distance. This means that, as you walk, the map is already fully loaded and in place, but tiles in the distance are loading in real time.

At this point, I modified the system to load only a few tiles each frame. To the player, it looks like the map is streaming around seamlessly, but beyond the camera there are holes in the world where it’s actually being built a little bit at a time.

Overall, the engine worked, but it sure as heck wasn’t as smooth as I had intended. I had wanted my core gameplay to be implemented by Day Seven, but didn’t actually finish until almost a week later.

I Underestimated the Conversion to 3D

Because I put so much time into making the world map work, I didn’t foresee this second major issue until I was well into the project. I have enough experience that I should have seen it coming a mile away.

The dungeons in the original Hydlide are mazes: The Original Dungeon Maps

It was forgivable in the original game, because a bird’s eye view allows you to see the correct paths. But, as a first person game, directly using the dungeons’ maps as I had planned would make things frustrating.

I couldn’t import the levels as I’d planned, and so I needed to hand-make new ones. While creating short and functional maps was not a major problem, it was an unplanned expense.

I Was Overconfident and This Made Me Stupid

Two months earlier, my previous remake project, Ghostbusters Inc., had been amazing from a work standpoint. Everything fell into place, and I ended up implementing nearly every feature I had hoped for, while still working a reasonable schedule.

My last #1GAM project had gone extremely smoothly as well. I completely designed and implemented Tactical Strike Micro in a week. It had used the same engine as Hydlide, and everything worked out well.

I went into this month with good projects on the brain, and I ignored one of my most important tools: planning!

I’m usually a fanatic about taking the time to write down a schedule, plan features and dependencies, and correctly prioritize everything. I’ve seen and often taken part in the stupidity that comes from “winging it”.

On the 13th>, I was still implementing core gameplay features that should have been either implemented or cut by now. Stress was beginning to get to me, and I could feel the developer tunnel vision coming over me. I was working hard, despite having lost sight of the big picture.

Honestly, I wasn’t sure I’d finish on time. Half a month on a small project seems like a long time, but there was a lot that needed to be done, and it wasn’t going well.

I often warn people about the dangers of blind passion, yet this project was a fine reminder that I’m not above it.

The Good

I Didn’t Panic

I’ve worked with myself enough to know that this is an accomplishment. When things go south I usually enter a purely reactive emotional state—highly effective, but misguided. But I didn’t do that here.

On the 13th, I realized that I was in trouble, and I stepped back to review my process. It didn’t take long to see that I was so focused on controlling the steering wheel that I wasn’t watching the road. I was fixing issues without any consideration for how they fit into the final product.

I took the entire day of the 14th off from development to outline a proper plan:

Dates by which each part should be ready.

A prioritized list of features and bug fixes.

Questions that I needed to think about, such as “How will I help guide the player without NPCs?” With this list, I knew what to think about when I wasn’t working.

When the plan was ready, I sat down and relaxed for the rest of the evening. I knew that stress had started to affect my thinking and I needed to clear my head.

Starting on the 15th, my productivity skyrocketed. I accomplished more in the next three days than I had in the previous week.

The Style

I was amazed how good the 2D NES sprites looked in the 3D world. All the enemies, dungeon walls, and terrain tiles are straight from the NES game, yet they stand out and make the game look unique.

While I’ve designed better games over the years, this one seemed to catch people’s eyes. I actually received a lot of positive feedback on the way the game looks.My Early Assumptions Were Correct

Thankfully, most of my original assumptions were valid. The combat system worked fine and was reasonably balanced, and even with the flaws, the engine did what I needed it to do.

Despite everything that went poorly, the game is fun.

While I did modify the combat system to be more action-oriented and less of a grind, I had a strong start thanks to the links to the original game.

My Dev Network

While this was a solo project that I built on my own, I didn’t actually do it alone. Many of my friends are experienced game developers and they were an immense help.

The combat redesign came after talking to my friend Josh about the MMO-style combat. He expressed concern that it wouldn’t be exciting enough. As the project continued, I realized that he was right, and that I needed to stray from the original vision.

The same goes for other features ,such as the “fairy guide” I implemented after my friend Rob got lost, or the new attack animations I coded upon his observation that I could just rotate the sprites to decent effect. Even Twitter came to my aid, linking me to information I needed to help guide the player wordlessly.

You cannot underestimate the value of having people to talk to, even on solo projects.

My Biggest Takeaway

Paperwork and scheduling are tedious and rarely accurate, but they are still beneficial.

Taking the time to put your plan on paper will force you to examine the project as a whole. As you break it down into specific features, you’ll see which pieces are reliant on one another so that you can tackle them in an effective order. Then, you can stay in the zone between tasks because you don’t need to switch between details thinking and big picture thinking.

The other nifty advantage is that having a list means that you can add to it during development. If you encounter a bug or feature that should be implemented, you have a place to write it down and stay organized.

I thought I could get away with avoiding the tedium, but I was wrong, No matter how experienced I might be, I’m not immune to mistakes. Pre-production is an important step, no matter how good you think you are.(source:gamedevelopment


上一篇:

下一篇: