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

分享1周时间学习游戏开发技能的经历

发布时间:2014-02-12 17:15:18 Tags:,,,,

作者:Rohan Wadsworth

背景

对于我来说,在完整的网页设计/开发中花一周时间回到游戏创造(特别是基于Unity的创造)已经成为一种习惯了,因为flash已经过时了,而这也是我唯一知道如何使用的一种工具。

我关于此的第一次尝试是在完成大学学业后一年,在大学中我是带着进入动画领域的目标,特别是游戏的3D动画,而努力学习了多媒体设计。我最感兴趣的课程包括基于flash和Unity创造游戏,在这里我扮演的是程序员的角色,同时还负责动画制作(2D和3D)以及为不同类别建造模型。这是成为一名车库开发人员最完美的端口。

当我在上大学的时候,澳大利亚游戏产业几乎处于崩溃状态,当我离开学校后很难找到一份适合的工作,我甚至不具备它们所要求的技能。所以我最终找到一份有关网页的工作,并因为未进行实践而导致本来拥有的一些技能慢慢流失掉。(我直到这有多愚蠢)。

我决定检测看看自己是否还具有这些技能,所以我便开始利用假日转变自己一款面向手机触屏的flash游戏。我发现在Unity论坛和回答网站的帮助下,我能够创造一个还过得去的原型,并让其运行于我的手机上。因为一些关于游戏图像的考虑不周的决定,我费尽心思都未能将其完成,只留下个让人受挫的半成品。不过关于这次尝试我所得到的最棒的东西便是拥有了属于自己的开发环境。安装好了Android SDK,我的手机能够用于测试游戏了。准备好这些需要花费许多时间和精力,所以你最好在开始时便记得这点。

在经过第一次尝试后我决定找回之前的好习惯并开始在每天上班的车上阅读Gamasutra博客,如果我再次这么做,我便有可能从中获得更多有帮助的知识与信息。

开始

在空出一周时间创造Android手机游戏后,从开始到完成,我决定在此呈现一些经常出现的建议。受到Denver Coulson之前的一篇文章(《Designing Without Words》)及其游戏《UDLR:Swipe》的影响,但却要求投入更多脑力思考。因此关于“猛击它”或者“Slidey”的理念便出现了。使用简单的猛击姿势并基于正确的行动并伴随着不断提升的时间限制将其用于QTE中。当确定了这一理念后,我并未再玩《UDLR》,因为我不想复制太多游戏内容了(我不想成为一个完全的复制者,使用一个相同的基本机制,所以在玩游戏后我会留出至少一个月的空间才开始创造自己的理念)。

第一步

我仔细考虑了编程如何运行,并在纸上写下任何内容前想出主要的要求(下一次我将会马上写下它!)并直接打开Unity。空白的canvas会让人感到萎缩,所以如果拥有一些早前的代码或代码示例,你便能够清楚自己正在做些什么。我们的第一个目标是生成箭头,准备猛击,然后在这些幻灯片上使用基本的碰触控制。快速谷歌搜索以及我自己的代码基础便提供了我所需要的所有内容,并在第一天便完成了带有游戏需要的最小功能的基本原型。

first step(from gamasutra)

first step(from gamasutra)

当我继续在看电影,电视以及做晚饭的空档致力于开发项目时,我那基本的触屏控制也变得越来越明显,因此游戏玩法并不是进行切割。“拖曳”箭头到能够撞击碰撞机,添加分数并创造下一个箭头等等的屏幕上的主要假设并不是很合理。我认为它不应该致力于确切的猛击模式(通过拖曳去指示你的碰触输入),所以代码将从基本的“碰触位置=箭头位置”改成检查输入位置,然后明确“猛击”的方向,并在该方向添加力量到目标箭头。在此它将变得合理,并且不会产生多大的改变,除了稍微调整相关的一些变量。

游戏广告

我没有任何经验,但在我心中,如果一个应用将具有任何赚钱的潜能,它便需要设定入场费,即在应用购买或广告方面。在这种情况下,应用购买不那么适用,因为这是一款非常简单的游戏,所以我能想到的唯一具有可能性的内容便是替换皮肤,但这却是超越当时范围的内容。我找不到任何方法能够让任何人去玩被定价并包含广告的内容,不过这倒是我可以依赖的一条学习曲线。

在使用了一天的脑力进行研究后,检查教程,遵循它们并找到不能运行的结果,我发现广告比我想象中的更难添加进去!所以对所有像我这样的编程热衷者,即会因为使用Eclipse去创造JAR插件而惊慌失措并因为阅读API文件而头大的人来说,前面有2个选择:购买一个预先做好的插件,或者求助于一个致力于你的开发环境的服务。

我并不期待这一试验能够赚到钱,所以25美元的Google Play注册费用以及时间都是我那时想要投入的资源。幸运的是我偶然发现了Revmob。说实话,尽管我很高兴能够将广告添加到游戏中,但是Revmob所运行的方式却与我的想法相冲突—-它呈现了与“免费应用”相同的3个完整的屏幕横幅广告。它有点视差,所以将引起意外的点击,并可能挣得2美分,但如果它因为所有人都不再玩游戏而恼羞成怒的话,我也不会感到惊讶。同样地,考虑到我需要在访问任何的这些广告收益前挣到50美元,这便可能不是一个很好的主意。

美术

我喜欢《罪恶之城》那由黑色,白色以及随机颜色(对我来说便是红色)所组成的风格,所以我便决定只使用这3种颜色。通过褪色的背景我是在预示玩家,当它从白色变成黑色时就必须赶紧离开。我认为这一外观非常突出,但来自一个朋友的第一个评论却是它应该更加多彩,所以我便不敢保证这是否是个适当的决定。这引出了下一点,别人开始玩我的游戏。

art(from gamasutra)

art(from gamasutra)

外部输入

在完成游戏后的第一周,我们找到了一个能够容纳高分数据库的网站,在此用户便能够下载游戏。

不幸的是,我能够观看到的所有人都在“错误”地游戏,即是通过拖曳而不是猛击在游戏。于是我便调整了代码,所以拖曳移动箭头将变得更快,以此希望玩家们能够懂,但是我却没有其它真正的方式能够教会人们如何“适当地”游戏,这是我遭受的第一次大失败。在我向任何人呈现如何游戏的时候,其美术设置是错的(游戏邦注:黑色的圆圈伴随着白色的箭头始于一个白色的背景,从而让人直观地认为必须碰触并拖曳),代码也是错的(拖曳很慢并看似反应迟钝)。在这周结束后我回到工作中,热情也逐渐退散了,所以这一问题遭到了忽视(但下次当我能够进行更有效的外部测试时我便会重新想起它)。

市场营销

我的想法是,如果我能让朋友们让他们的朋友们来玩我的游戏,我便能够获得一定数量的玩家(我的目标不过高,如果有100个人玩我就会很高兴了!)。但问题在于,我朋友并不多,并且在这少数的朋友中还很少人拥有Android设备,所以这一计划便落空了。

同时我还高估了用户愿意与身边人分享的热情,并且有可能在真正面向Google Play发行并希望他们帮我进行测试前便将其惹恼,他们可能会厌烦我的请求,如此我便很难说服他们在Google Play上下载官方版本了。

我为游戏创建了一个Facebook页面(至少我的“假”公司专注于游戏及其开发—-希望我能够为今后的尝试创建这样的基础),而现在只拥有惨痛的14个赞。最悲哀的还是这14个赞中只有3或4个人具有Android设备!

我还有其它想法能够提高下载量,但是为了获得一些纯粹的数据让我们之后再来拯救它。从本质上来看,我想要面向能够触及的大约300名用户运行一个带有较低价格的高分竞争机制(希望在150名Android用户间我能够吸引较大部分用户下载游戏,并喜欢我的Facebook页面)。

所以要记住,你在此阅读的所有有关市场营销的内容可能是对的,但却会因为不足而不能运行。我不敢保证业余的开发者所创造的内容是否能够运行,但就我自己看来真的是彻底失败了。我需要再补充的一点便是,不要去纠缠朋友们,因为他们可能是你拥有的唯一用户,你承担不起失去他们的代价。

结论

也许我与成功失之交臂了,但我却从中学到了许多内容,并且是只有在做这件事的时候才能学到的,所以我很庆幸自己这么做了。现在我在Google Play上拥有一款已发行的游戏,知道如何执行谷歌分析和广告,也清楚如何使用设备硬件按键并保存到玩家控制台。而这些内容是我在几周前并不清楚的。

所以如果你能在一年中空出一周时间去实践自己的热情,那就尽情做吧!也许你可能在这短时间内做不出什么,但至少你能够获得一些有用的信息,学习并创造出可以在今后使用的代码基础。如果有一天你突然想出一个很棒的想法,你便不会因为不了解情况而白白将其浪费掉。

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

How to start, publish and fail in 1 week*

by Rohan Wadsworth

Background

It has become somewhat of a tradition for me to use my half of my 2 weeks off from full time web design/development to get back into making games and in particular Unity, because flash is essentially obsolete and it’s the only other thing I know how to use.

My first attempt at this was 1 year after finishing universitywhere I studied Multimedia Design with the aim of getting into animation, especially 3D in games. My main interest classes consisted of creating games in flash and Unity where I took the programmer role, plus animation (2D and 3D) and modelling classes. The perfect combo for becoming a garage developer.

While at uni, the Australian games industry basically imploded so when I got out there were no jobs to be had, and if they still existed, I certainly didn’t have the skills they were looking for. So I ended up getting a job in web and basically let any of the skills I had slip away completely with no practice whatsoever (stupid I know).

I decided I should see if I still had it in me so I started out converting one of my flash games for mobile touch screens in my holidays. I found that through the very helpful Unity forums and answers site, that I was able to make a semi decent prototype and get it working on my phone. Due to some poorly thought-out decisions with the art of the game I burnt out my drive to finish and left it at that, half complete and almost too frustrating to go back to. The best thing that came out of this attempt was that my development environment was ready. The Andorid SDK was installed and my phone could be used for testing. Getting this ready took quite a considerable amount of time and headaches so keep that in mind when you start your quest.

After that first attempt I decided to get back into good habits and started reading Gamasutra blogs again everyday on the train to work, so if I ever did this again, I would hopefully have some useful knowledge and anecdotes to learn from.

It Begins

The week set aside for making an Android mobile game, from start to finish approached and I had decided to take on some of the advice repeated often here – “make something simple” and some of my own advice from last time “no 3D”. Inspired by a previous article here, written by Denver Coulson “Designing Without Words” and his game UDLR:Swipe which I thought was fantastic but required a little more brain power than I wanted to give it.
Hence the idea for “Swipe It” or “Slidey” as I was originally calling it emerged. Take the simple swipe gesture and apply it in a kind of QTE with an increasing time limit based on correct actions. As soon as this idea was decided on I didn’t play UDLR again in my best attempt not to copy it too much (I didn’t want to be a clone as much as was possible when using a similar base mechanic and had at least a month gap between playing it for the last time and starting work on my idea).

First Steps

I mulled over how the programming would work and nutted out the main requirements in my head before I got anything down on paper (next time I’ll write/sketch it down straight away!) and got straight into Unity. The blank canvas is a bit daunting so its useful to have some old code or example code around to remind you what you’re doing. The first goal was to get the arrows to generate, ready to be swiped, then applying basic touch controls on those slides. A quick google and my small existing code base provided all I needed and the very basic prototype with the minimum features needed to be playable was finished in the first day.

As I continued working on the project in-between movies, TV and cooking dinners it became apparent my base touch controls and therefore the gameplay wasn’t cutting it. The main premise of “dragging” the arrows to the sides of the screen where they would hit colliders, add score, create the next arrow etc, just didn’t feel right. I decided it needed to instead work on definite swipe patterns (with a bit of dragging to indicate your touch input) so the code changed from what was basically “touch position = arrow position” to checking the input down and up position of the touch and then working out what direction (if any) the “swipe” was, then adding force in that direction to the target arrow. From there it started to feel right and not much was changed apart from tweaking the related number variables around a bit.

In Game Advertising

I have zero experience, but in my mind if an app is going to have any kind of potential to make money it needs an admission price, in app purchases or advertising. In this case in app purchases are pretty much inapplicable, it’s a very simple game so the only thing I could think of as a possibility was alternate skins but that was out of scope for the time frame and nowhere near a good enough idea to bother with. There’s no way I could get ANYONE to play the thing if it was priced and including ads would be a good learning experience so that’s how I proceeded.

After wasting probably a day worth of brain power on research, checking out tutorials, following them and finding the results didn’t even work, I learnt that ads were a lot harder than I thought to put in! So for all you other programming wannabes like me who are freaked out by using Eclipse to create JAR plugins and find your eyes glazing over when reading API documentation, there are 2 options I found: buy a premade plugin that already does it or find a service that already works in your dev environment.

I don’t expect this experiment to make any money so the Google Play registration fee of $25 and my time was all I wanted to invest at this point. Luckily I stumbled across Revmob. To be honest, while I’m super happy to have been able to get ads into the game, the way Revmob works is hardly ideal for getting clicks in my mind – it essentially shows the same 3 full screen banner designs for “Free App” on a loop and that’s it. It also lags quite a bit, so it can result in accidental clicks which is probably useful for earning 2 cents but I wouldn’t be surprised if it angered everyone enough to never play the game again. Also, considering that I need to get a minimum earning of $50 before I can get access to any of this ad revenue, it probably was a terrible idea to include it at all.

Art

I love the Sin City black and white + occasional colour (red in my case) style, so I decide that I would only use those 3 colours. I cheated a little on the fading background which indicates the time you have left as it fades from white to black (grey isn’t one of the colours!). I think it’s a pretty striking look, but one of the first comments from a friend was that it should be more colourful so I’m not sure how good a decision it was. This leads to the next point, people other than me playing the game…

External input

After the first week I had a “finished” game, a free (lousy) web hosting account for the high scores database and a place to put the apk so it could be downloaded.

Unfortunately everyone I was able to watch play it in front of me  played it “wrong” and were dragging rather than swiping. I tweaked the code so dragging moved the arrows faster hoping that would help but I had no real other way of teaching people how to play “properly” and that is the first major fail. EVERYONE I showed it to played it that way, the art was wrong (the black circle with white arrow starts on a white background so it intuitively looks like something you have to touch and drag) and the code was wrong (dragging was SLOW and seemed unresponsive). The week was up, I was back at work and the enthusiam was fading so this was basically ignored (but will be filed in my head for next time to allow for better external testing).

Marketing

My idea was if I could get my friends to tell their friends to play my game I might get a reasonable number of players (my aim was pretty low, I’d probably be happy with 100 people!). The problem is, I don’t have many friends and the few I do have, don’t have Android so the plan was destined to fail.

I also appeared to over estimate my audiences enthusiasm in sharing it around and probably annoyed them so much before the actual Google Play launch begging them to test it out for me, that they probably just ignore my requests now and I can’t even get THEM to download the official version from Google Play.

I made a facebook page for the game (or at least my “fake” company focusing on the game and its development – hopefully I can build of this base for future attempts) which currently has a miserable 14 likes. The saddest part is that of those 14, only 3 or 4 actually have an android device!

I have one more idea left to get some actual downloads but want to save it for a little later on so I can get some untainted data. Essentially I want to run a high score competition with a small prize to an audience I can reach of about 300 (so hopefully around 150 android users of which I can hopefully get a decent portion of to join in, download the game and like my facebook page) .

So keep in mind everything you read here about marketing is probably true and a lack thereof just doesn’t work. I’m not sure how a random hobby developer is supposed to get his stuff played, but I have certainly failed completely at that. The one thing I can add to the current advice is not to pester your friends too much because they may be the only audience you have and you can’t afford to lose them.

Conclusion

So there you have it, hopefully something a little different to what you usually read here where even the  failures can sound like huge success in comparison to what you’ve done (granted the budgets in those cases mean their failures are usually of much greater concern – when you have nothing to lose you can’t really lose).

I may not have stumbled on great success (or any at all) but I learnt a whole lot of stuff that can really only be learnt by doing it and I am very grateful I was able to do this at all. I now have a published game on Google Play, know how to implement Google analytics and ads, access the devices hardware buttons and save to player prefs. All things I couldn’t have said a few weeks ago.

So if you only have the time or confidence to commit to 1 week a year to chase after your passion, DO IT! It may not get you anywhere at first but at least you are storing away useful info, learning and creating a code base to work with in the future. So if you have a great idea one day, you might have a better chance of not wasting it in complete obscurity, or worse – never doing anything at all.(source:gamasutra)


上一篇:

下一篇: