作为一个毕业好几年的游戏策划,我是从今年开始真正地学习编程的,想来惭愧,有点晚了。促成我走上这条吃力的路的原因主要有以下几个:
-很多我欣赏的独立游戏团队都没有不懂编程的游戏策划——要么做美术要么写代码,游戏设计大家一起商量着来
-从跟接触到的一些大牛的沟通以及听他们的分享中发现,编程能力或至少是代码逻辑在他们看来是游戏策划的基本素质之一
-我需要能和程序员有更多的共同语言,更重要的是我需要去学习他们的思维方式来提升我在团队中的作用
-现在国内游戏专业的毕业生都掌握了一些编程能力,如果我不学习会在他们面前失去竞争力
-我希望快速地将自己的一些想法做出原型而没有能帮忙的程序员
GML(GameMaker Language)
我是从GML开始我的编程学习的。当时是2017年3月,手上项目不忙,可以每天抽三四个小时来学习。我之所以选择GML是因为首先GML作为脚本语言比C#面向对象的编程逻辑更好理解(这句话我也是后来才半知半解);其次是使用GML的Gamemaker:Studio2这个游戏引擎做出了不少我心仪的大作,我并不在意我只能做2D游戏。
下面是我开始学习的阶段使用过的教程:
https://www.udemy.com/make-a-game-in-a-single-afternoon-using-gamemaker-studio/learn/v4/t/quiz/215820
https://www.udemy.com/make-a-game-and-learn-to-code-in-gamemaker-studio/learn/v4/t/lecture/2923214?start=0
这两个Udemy教程是我认为最值得学习的两个GameMaker付费教程:垂直卷轴射击和平台跳跃是两个最适合编程入门的游戏机制。讲师非常了解零基础的同学所关心的概念,他的讲解也很到位,帮助我度过了最迷茫的阶段。跟着视频做完两个游戏,我开始到Youtube上寻找其他的资源。
同样很棒的Shaun Spalding的视频教程
https://www.youtube.com/user/999Greyfox
一个顶视角射击游戏的教程
https://www.youtube.com/watch?v=x7C9o-hy0No
Hello Code
接下来我开始自己尝试着做一些东西。我发现学写代码,只要不停地写就会一直增加经验值;但是有的时候会突然有一种“啊我明白了”的顿悟感,这一瞬间恐怕就是量变达到质变,升级了吧。这期间我也遇到了很多找不到现成答案的问题,都被我厚着脸皮在Gamemaker Community里发帖问出了答案,很感谢热心的网友们。
我试着保持两周一个原型的速度快速做出一些能玩的小游戏。我做了好多不太成型的东西出来,也正是在这个过程中,认识到自己设计游戏时候的一些盲区——动手做之前觉得自己想的很明白的玩法,往往都是没想清楚又不愿意去想的自我安慰的产物。
第一个原型·山寨火线迈阿密
我用火线迈阿密素材拼了一个顶视角格斗游戏,后来被我误删了 囧
第二个原型·山寨守望先锋
第二个是一个用守望先锋UI素材拼出来的顶视角射击游戏,有六个能力各异的角色可以选(猜猜都有谁?),玩法多人同屏3v3占地模式。后来Leader觉得做出来还是不够好玩我就搁置了。做完过了两个星期Supercell的BrawlStars就出来了,比我这个有意思多了。
火力最强但机动性差的堡垒
士兵76——“我看到你了”
第三个原型·山寨....我也不知道算什么
gif没卡住,画面在动。瞧,有人潜行呢。
有人可能已经看出,这就是Uncanny Valley的资源。没错我把它整个弄了出来搭了一个潜行游戏。我想做的是一个pvp的潜行游戏,参考了mark of ninja、the last of us等等很多有潜行要素的游戏,却发现不同于pve潜行里玩家去克服一个确定的挑战或谜题,pvp里你的对手行为难以预测,你的潜行策略的执行很难给你乐趣。我做了一套噪声系统、光线系统来把潜入/发现的对抗做的更有意思,却无法解决玩家之间该如何交互和对抗这个最基本的问题。
第四个原型·一个RTS游戏
因为做的太丑实在不好意思放图。这个游戏玩法非常像Tooth and Tails,玩家控制指挥官四处占地盘造建筑,召唤士兵来到身边与敌方作战。我做这个主要是想学习一下寻路、AI和目标选择相关的逻辑。
第五个原型·算山寨了喷射战士吧?
像喷射战士吗?
这回完全没用别人的素材了。玩家不停地喷射墨汁抢地盘,还可以用墨汁相互攻击。可惜我不懂美术,不然墨汁在地上喷溅的痕迹应该是很漂亮的;我最喜欢的一个玩法是玩家的子弹会互相抵消爆炸,所以玩家可以互相“对枪”和“甩枪”,还是非常有可玩性的。
我花了一天的时间解决两队玩家墨汁颜色占地面积比的系统,从最初的帧数爆炸(20fps)优化到了300fps,心里还是很开心的。虽然是很简单的问题,但是体验了一次技术人员的成就感。
差不多就是这些了。做这些也花了我两三个月的时间。从这之后我就开始忙新的项目,顺带学Unity和C#了。祝自己好运!
C#
早在去年夏天,我就买了一本《C#从入门到精通》,然而实际结果是我读了80页就喜闻乐见地成了《C#从入门到放弃》。过于晦涩的解释和不明所以的知识结构让我很难鼓起勇气继续死磕。我也尝试了一些视频教程(买了一个叫华盛顿的印度人做的教程),但仍然觉得困难。回想起我是如何快速通过GML学会For loop,While loop和判断句的基本用法,再想起我当时如何对着书本和视频满头问号的,简直唏嘘。
我是从上个月才开始决定学C#的,中间断断续续,到现在稍微会用些Unity引擎了,可C#这块还是比较懵。不同于GML只要掌握了常用的几十个函数就可以应付大部分问题,Unity C#里面需要学习的内容超出了一个量级。
(还没写完)
感谢你的分享。其实我也是利用业余时间玩,现在用unity做。也是入门到放弃。祝你成功。哈哈哈哈哈哈
@yellow:共勉。
两个教程你是全价买下来的么?点进去一看优惠还有倒计时,在犹豫要不要买了。
@大白狗便行经肛:你可以先买一个试试看,10刀真的不算什么。
@金盟:我昨天跟着Shaun Spalding的GMS2教程学习了一下,总觉得又回去学1.4很烦(虽然是共通的
@大白狗便行经肛:GMS2用习惯了之后还是觉得GMS2好。你觉得呢?
@金盟:没用过1哈哈,我是刚刚开始学的
也在学GMS,感慨lz做原型的行动力~向你学习:)
我也是自己学GMS,unity,自己用GMS曾经做过一款同人游戏。也超喜欢自己做游戏,哈哈,希望有机会多多交流
我觉得游戏的客户端编程,非常重要的一个概念是面向对象编程。(P.S. 我会画画!很想一起找人做游戏
@陆 健三:希望有机会多交流!
楼猪弃坑了吗?
@塞尔达大叔:现在在慢慢龟速学Unreal4。。。。