有问有答是程序视界的一个免费問答栏目感兴趣的朋友,可以按照下面的方式参与:
-
发邮件给 标题注明“有问有答”。
-
描述你的困惑或者问题
我每周会慎重回答一個问题并整理成文章,(周四晚上)发布在订阅号程序视界内
我是您的忠实读者,一路过来在您这收获颇多感谢!
最近有个职业选择嘚困惑,想向您请教下我的基本情况是这样的:
本人今年27岁,目前在家乡二线省会准备定居发展。从14年毕业到去年下半年都是做的javaWeb囷企业开发。因为个人兴趣原因和一些机缘巧合17年年底到了一家游戏公司,从项目立项到临近上线996坚持了有小半年吧,可是临上线因為投资方决策原因把项目砍了。项目组裁员出来到各大招聘渠道找了一圈,除了棋牌其他的游戏服务器岗位(非主程)就三个,综匼考虑最后去了一家上市公司干回老本行了。
前几天我们之前的游戏项目程序老大拉到投资重启了项目,叫我过去可是由于之前的項目被砍经历,我有点犯难了
我现在的工作,是在一家A股上市软件公司公司市场占有率不错,效益稳定双休不加班,工作强度也不夶总的说就是稳定,有保障但是晋升空间和技术提升空间有限(属于传统软件开发)。
游戏项目的话因为大家对游戏都很有兴趣,價值观比较统一除了工作,大家私底下生活方面也是一起玩的总之是一个有点情怀,氛围不错的团队但是搞游戏通病,说是码农里朂苦逼的也不为过吧加班比较多,尤其上线以后这些都不是最关键的,主要是mmo项目开发周期比较长我很担心项目万一又出状况,到時候出来重新找工作我是该做软件开发呢,还是游戏开发呢做游戏开发的话,我所在的城市能提供的岗位真的少的可怜(不搞棋牌)又干回老本行的话,也没啥竞争力了
总的来说,就是现在做的软件开发心里不是特别喜欢,不过工作和待遇稳定有点养老状态的意思。游戏开发是我心里喜欢的不过加班比较严重,而且可能非常不稳定有的人到处漂泊干了好多年都没个成功的项目。不过职业成僦感强做成一款小有名气的产品的话,发点小财也是没问题的
现在内心在纠结,安老师请问下我该如何选择呢?
阿维感谢你的信任,面临这么重要的选择时来征求我的意见
我们分析下游戏开发这个选择。
目前国内游戏开发环境比较好的城市有 5 个:
-
北京,知名游企有完美世界、金山、畅游、天神互动、昆仑万维等
-
上海,知名游企有盛大、九游、巨人、心动网络、BILIBI等
-
广州+深圳知名游企有腾讯、網易、金山西山居、第七大道、网域、千峰云起、中青宝、星辉等。
-
杭州知名游企有网易、电魂、美盛、斯凯、泛城、边锋网络、畅唐科技等。
-
成都知名游企有腾讯、巨人、西米互动、雨墨科技、尼毕鲁等。
我们要想在一个领域有好的发展通常要到该领域发展比较好嘚城市,因为只有在产业发展迅速、生态建设完善的地方你才有更多的机会,你才能获得更大的成长最终也可能获得更多的回报。
所鉯从这个角度讲你所在的那个城市,没什么游戏企业游戏产业整体发展滞后,如果你进入到这样一个领域想谋得好的发展,基本等於撞大运而如果你在这样的产业环境下进了一个其实没什么前景的游戏项目,结局铁定是悲惨的(我判断你原来参与的游戏项目,前景不大否则投资人不会撤资、再融资也不会那么难。)
如果你做游戏的心非常强烈不做感觉生活就没什么乐趣,那就离开你所在的二線省会到北京、上海、深圳这些游戏产业发达的地区去淘金。否则那就留在你现在的传统软件公司,看看在公司内怎么样获得好的发展慢慢成为骨干,成为核心
至于晋升空间和技术提升空间,我相信一定是有的关键是:你愿不愿意去找。假如你愿意可以看看你的崗位上有哪些东西可以做得更好看看你所在团队里什么岗位是核心,看看你们公司哪些产品是核心从这些方面,一定可以找到努力方姠和提升空间
话说回来,如果你实在想做游戏又不想离开当前的城市也可以考虑一个折中选择:留在现有公司,业余时间参与到原来遊戏项目中这样可以获得一个平衡。
关于Offer选择我曾经讲过一个知乎Live,感兴趣的可以戳阅读原文了解
除去各种底层技术值得专研外請不要忽视了一个重要的东西 GamePlay,你是游戏程序员不是完成需求的机器。
给你讲讲我比较佩服的一为朋友的经历国内金牌制作人,名字僦不提了他本科学的平面设计,计算机是自己中学自学的从小就爱开发游戏,但是他的关注点是 “如何创造有意思的游戏”单纯说技术,他自己都承认自己的技术很烂,但是我每每看到他用各种“很烂”的技术开发出来的东西都会被吓一大跳:
这是一个他学生时候寫的人工智能竞赛游戏有多种机器人类型可供购买。为渴望挑战人工智能及喜爱收藏的人们提供了新的交流方式同时机器人品种的可擴展性带来了很多乐趣,虽说该游戏在入手方面有点难度但是在 PCHome 上一度登上游戏类下载排行榜。
他花了两个月用 TurboC 独立开发出来的今天看起来效果一般,但你今天别用U3D别用cocos,去
turboc下实现试试何况抛开图形,就游戏核心玩法的复杂度放在今天熟练的程序员也要开发很久,可人家还是学生时候做的当时引起了很多人群的关注,他们学校里同学们用这个作品组织了一场校际比赛结果引起了极大的反响,雖然在一开始没有多少人主动参加这次比赛但是比赛的那天有很多同学被精彩的对抗所吸引,几乎所有的观众都在自己的座位上看完了整个比赛他说:“现在想想那时候的情景都能让我兴奋不已。”
他大学时候继续使用落后的 TurboC 开发的游戏没学习过 3D 但是美术学过透视作圖,相似三角形计算远小进大然后用伪3D 的模式开发出来。游戏中既有远程射杀武器又有近距离搏斗技巧,还有夸张的碰撞效果还可鉯躲避敌人的视线来实现隐秘行动,这个游戏手感很爽快可玩度很高,但是图像的确太糟糕了于是他又做了一款改进版:
加入了简单嘚多边形绘制,镜头自由移动不知道zbuf,但是他知道远处东西先画近处东西后画的画家算法没学习过3D,但是他最厉害的就是 “创造性”
彡个字上:
能充分发挥现有技术创造出让人眼前一亮的效果来,效果上有所提高的同时加入了更多武器潜入玩法,敌人有视线范围還有比较拟人的AI,你要注意避让还可以从后面上去偷袭,当然如果技术够好,被敌人发现了也不怕一场激烈的***战而已,可以利用各种武器制胜还要充分利用地形,比如射击汽油桶会爆炸普通墙壁可以躲避。我玩了一下还真有点合金装备的意思呀。
我当时问他为什么不再 Windows 下开发,更简单了他说他没有学习过 Windows 程序设计,主要是把时间花在实现游戏各种乐趣上了Windows 下程序设计他也看过,但是 Dx, OGL好哆东西新学费时间没个一年多他弄不出来,不过 DOS 下内存少载入的东西多了就退出我说我给你写个简单的框架吧,写起来也挺简单的怹试用了一下,觉得不好用还是习惯 DOS 编程,后来我给他用
Watcom C++写了一套库满足他 DOS 下继续开发游戏的想法,解决了图像弱智没有音乐,没囿音效性能上不去等问题,他用着很爽又用它开发了好几个游戏,他虽然不擅长钻研底层技术但是确实能够充分的将他会的东西发揮的比较淋漓尽致的人。
这还是他学生时候开发的即时战略虽然比起商业即时战略弱智很多,但还是有很多经过他自己精心设计的部分如:支持双人对战;机器人会变形,幻影战车(速度快激光导弹难以瞄准),士兵由农民进入兵营训练而成弹药补给,自己组配士兵装备以及战车配置等
他经常羡慕我知道各种底层技术,但是我面对他的一款款作品却自愧不如,他是能够将现有技术充分发挥作用嘚人计算机的技术再怎么发展终归都是有限的,而人的创造却是无限的以无限的创造衡量有限的技术,以无法以为有法以有限而为無限。即便是只使用 DOS 下几种弱智绘图方式他手底下也能点石成金,变成一个效果上超出大家预期充满乐趣的游戏。
比如他读中学才学***电脑的时候接触的是 FoxBase 这个财务软件,他无师自通的使用 FoxBase 开发出一个 RPG 游戏来:
他高中时候 FoxBase 下的 RPG 游戏玩起来别有一番风味。对于他而言技术是达到目的的手段,发掘快乐的本源完善游戏各种细节,流畅的手感有张有弛的节奏,这一切才是 GamePlay的核心
2003年时我闲着无聊,幫他优化了一款动作游戏《Hurricane2》,主要是他开发的一款比较爽快的动作游戏,虽然图形一般但他后面又修修补补加了很多有趣的元素,这是我硬盘上至今保存的比较完整的他的作品了:
这是他学生时候为了做游戏自学美术的一些手稿:
他当年毕业后以程序的身份去到盛大,因为工作中出色的表现几年后便升为产品经理,为盛大开发了两款月入六百万级别的 RPG 游戏不算太高,但是当时的端游失败率那么高的情况下,第一次做产品经理没赔也算挺不错了。
工作至余他继续保持学习和提高,除了在电影美术和动画方面学习各种知識外,他终于学习了 C#正式步入游戏圈子自然结识到了更多朋友,其中一位志同道合的伙伴为他开发了一套支持卡通渲染的 XNA 图形引擎于昰他开始了独立的
C#游戏开发之路,因为小时候学习武术他一直希望能够做出一款武打游戏来于是自己学习3DMax,自己学习骨骼动画学习展UV,学习蒙皮这些技巧性的不算难,难的是游戏里几个主角全是他自己画出来的
这就是当年他开发的 DOS下《》的高级版本,沿袭 前作爽快嘚节奏感和简单的操作最牛的是几个主角传神的武打动作都是他一个人一点点调出来的,超过很多专业调动作的美术:
终于有机会将他動作游戏的想法付诸实践了不过这是他业余开发的单机游戏,并不是什么网游XBox Live上却卖了好几万分,还在国际上得了个什么奖
他工作仩的取得的成绩我就不说了,上面说的都是他在没有任何人要求他的情况下业余搞出来的东西。而且业务开发,策划美术,音乐各个环节他都有涉猎。
程序也是半个策划直接面向玩家的人,即便写的再明白的策划案不可能写到像素级别交给你,如何更好的实现各种效果如何让游戏变得更有趣,如何充分发挥现有技术的优势是值得到家深刻考虑的问题,游戏本来就是艺术和技术的合体GamePlay 做得恏,游戏是有灵性的是有生命力的,而只知道呆板实现的人同样的东西,做出来的效果却是一塘死水毫无生机。
之前公司在开发一款模仿《DiabloII》的游戏虽然碰到很多坑,但是开发者的态度令我敬佩他们为了实现 DiabloII里面金币掉落的效果,试了很多次抛物线,不像;加夶重力(两倍G)有点象但是还缺点什么找半天就是找不到,后来他们把
D2的录像拿过来一帧帧的播放一帧帧的分析,金币到底是怎么掉落的最后才发现,D2的金币掉落是和物理知识反着来的首先金币加速上升,然后悬空停顿最后重重的砸到地下,按照这个过程配合恰洳其分的音效终于实现了D2的效果让金钱掉落的过程充满快感。对于这个效果策划案上就只有几个字:“模仿D2钱币掉落”,而美术也就給了几个金钱状态的图片后来又听他们说了如何做鼠标的手感,飞行武器如何判定地图如何自动生成等。
听完后我想一个小小的金幣掉落,他们都能花这么长时间不管游戏最终如何,但精品游戏还真得这么一步步的扣出来真正做得好的游戏,都是玩家觉得好玩泹是却又说不出来好玩在哪里,大量的精心制作的细节支撑起一款款成功的 3A 游戏
游戏对于程序员而言,有蛮多值得挑战的东西GamePlay就是其Φ重要的一环,如果你想突破自己请始终不要忘记,你是做游戏的不是一个工具,更不是一架只会完成需求的机器游戏本来就是快樂的,如果开发者本身没有任何感情去做他本身都不快乐,那你怎么能让玩家快乐呢
如果开发者丝毫不考虑玩家感受,没有产品意识只知道实现策划的功能,象一架机器一样麻木的完成各种需求那么这样永远得不到成长。
现在游戏挣钱了很多人进来开发游戏,更哆的是冲着钱字进来的比起早年开发游戏的人来说,更少了一份 “纯粹” 多了几分 “浮躁”我面试时也碰到很多年轻人声称自己 “喜歡游戏”,可我想问一句你说你喜欢游戏,你为 “喜欢” 二字付出过什么对比起我上面说的这位朋友几十年不停息的努力,你这个喜歡又算得了什么
现在我也不想谈 “情怀” 两个字,这两个字已经被说烂了我说个更烂的 “梦想” 两个字,请问你作为这个行业的新人洏言你的梦想是什么?你为它付出了多少