阿丰哥哥的游戏制作经验

阿丰哥哥的游戏制作经验谈(一)

(慢慢更新中) 前言: 写这些个文字,是阿丰哥哥突然发现他的微博,和大多数同行相比,几乎没有任何涉及游戏开发的内容,无论有无价值。所以就写一点,充一下大头,希望可以给喜爱游戏,希望自己能够制作游戏的刚入门的朋友洗一点脑。没错,接下来的文字都是阿丰哥哥个人的想法,非常个人化,所以你们爱看不看不看拉倒(口可口可)。 我想做游戏,我应该怎么开始? 大部分人一开始就会遇到这个非常棘手的问题……女怕嫁错郎男怕入错行,基本上是没错的。但其实嫁错了就离呗,入错了就改呗,像阿丰爷爷这样一把年纪的人回头再看这些事情,会觉得其实无所谓,重要的是人的成长……嘛,扯远了,要制作游戏,首先还是要选择一个比较合适自己开发流程的工具,阿丰哥哥只用过FLASH和UNITY做开发,两个工具都有一个共同点,就是它们做好了大量底层的工作,交给开发者的,其实已经轻松很多了,你不必去考虑底层一些东西的实现,只需要负责管理你的游戏逻辑就行。所以一般说来入门最好就是用这些工具,想做RPG的可以尝试RPG MAKER,还有另一个游戏引擎GAME MAKER也有不少人使用,有兴趣的也可以尝试下,当然阿丰哥哥不负任何责任。像虚幻3引擎这样高大上的东西,不推荐入门用,因为阿丰哥哥都不敢尝试,你们爱用用不用拉到(口可口可)。哦对了,阿丰哥哥忘了说了,阿丰哥哥这里说的,适用于小规模的游戏开发,用个流行的词来说就是独立游戏开发,阿丰哥哥也没参加过什么高大上的大型项目开发,说了也是误人子弟,就不说了(口可口可)。 总结:无所谓, flash |unity |game maker 随便挑一个就行(为什么又不推荐rpg maker呢?因为它只适用于特定的游戏类型)。 写代码要不要学英语?我英文不好,怎么办? 没办法,学。英文是你学写代码必须要掌握的,基础。可以考虑新东方(别听这句)。 游戏到底是个什么原理? 简单的说,游戏的主要核心部分,就是一个按照一定时间片不断反复执行的一段循环代码。你们玩游戏的时候,不是有个那啥软件可以看一个叫FPS的东西么,又有种说法叫游戏帧数,帧数越高就表示你机器、显卡越牛逼,然后你玩起游戏来就越流畅,不卡。从另一个角度看,这也代表了游戏主要的循环代码的刷新间隔。比如说游戏稳定在60FPS的话,那就意味着,每秒钟游戏画面会刷新六十次,通常说来,每刷新一次,就是表示主循环执行了一次,换算过来便是大约16.7毫秒。理解不?游戏帧频只有30FPS的话,也就意味着主循环一次的时间是16.7毫秒X2 = 33.3毫秒。接下来,我们就看看这16.7毫秒或者33.3毫秒里面发生了什么。 插一句,基本上游戏的逻辑,都是单线程的,当然也有异步多线程的,只是阿丰哥哥脑子不好使,一次只能想一个女人,啊不,一件事情,所以单线程的逻辑,非常清晰,不容易出错。 —–主循环开始——- 接受输入 处理输入(一般是对主角) 处理主角逻辑 处理乱七八糟的逻辑(敌人啊,机关啊,关卡啊) 渲染这一帧的画面 —–主循环结束——- 怎么样?游戏刷新一次就大概是这么个意思,有的朋友也许会问了,这个循环花的时间不是每次一样的啊?对的,根据游戏进行的复杂度,每次的花费的时间的都是不同的。所以会有一种叫锁帧频的玩意,比如说,这一个循环只花了哥10毫秒,那么就在主循环开始的时候,强制多等待6.7毫秒,直到和上一次循环开始的时间,相差了16.7毫秒,才进行循环体的继续工作,这样,就能保持固定的刷新频率了。那么,还有另一种情况,便是这一帧花了超过16.7毫秒,(这种情况很常见,君不见多少游戏都自豪的称自己稳定的能跑在60FPS,又有多少游戏偷偷的跑在了30FPS),那么帧频FPS就会下降咯,所以怎么去优化代码逻辑,和渲染(一般渲染在循环里花费的时间最多),就是得靠大量的经验积累来做到了。关于掉帧的影响,未来会谈(当然你可以买一台神机,顺利的跑动你的游戏,然后希望全世界的人都和你一样换上了神机) 除了游戏主循环,剩下的还有很多UI的工作,基本上就是点了这个按钮然后切到另一个画面或者点了一个按钮弹出一个框框什么的,基本上也是有点逻辑能跑通就行。UI的设计是另一门很深的学问(坑),阿丰哥哥不想讨论这个破玩意,只会针对游戏主循环继续码字。 nn1

Posted in , | | 15 Responses