回来了,没有负能量,重新上路

整理了一下博客,删掉那些被HACK的垃圾,想弄个轻量级的BLOG,无奈人老了,不是很懂。

好像已经远离了所谓的游戏圈子,远离了微博,远离了朋友圈,那些年认识的,统统都不怎么记得了。

一头赚进了RC(遥控模型)的世界里,还搞得有声有色,小有名气,自以为有点水平,去参加个比赛却被啪啪啪的打脸回家,哈哈。

但我喜欢在那个圈子里面玩,因为没有人知道阿丰哥哥,没有人知道这个人以前做过什么,有过什么成就。你就是一张纸,所有的人对你的态度和对其他人的态度一样平等自然,你就像是重新开了一个存档,选择了一个新的职业,从新开了新的冒险。

玩得多了,除了RC之外的娱乐活动,也都在一起了,朋友关系就是这样建立起来的。

我刚回到柳州的时候,甚至讨厌路边的人到处都在说柳州话,我也不知道为什么。然而现在,已经安然于这个小小的城市,她晚上会比较安静,白天会比较嘈杂,但是再哪里听都是一样的音乐前面,一切都是平等的。

所以我把两年前的那个隐藏了的文章再公布了出来(以前那个文章甚至被国外玩家翻译到国外的网站上去了,导致很多玩家担心,为了避免扩大化,知道消息后我就隐藏了那篇博文),对关心我的朋友们说一声,不必担心,我现在的状态很好,过去就一笑而过,未来还很美好。爱我的和我爱过的人,我希望你也过得很好,就这样吧。

有人可能还是想知道我做游戏方面的消息,目前可以公开的消息是,阿丰哥哥正在制作一款新的动作游戏,总体说是快节奏版的黑魂类战斗模式的中国题材的RPG。。。吧,大约在这几个月希望就能够完成,感觉目前也是开始动力满满,很有信心做好。
关于巨人的猎手,在今年初曾经公布过一个BETA版,不尽人意,未来会取消掉联机大厅,回归LAN模式,并且完善地图编辑器,增加一些敌人,就酱。

Posted in | | Leave a response

最近的状态

简直和行尸走肉一般

因为各种生活中的杂事影响,导致现在每天都在不知道做什么,刷刷刷,时间就过去了。

有时候会思考,到底一直开发这种事情,是不是很傻?这个世界上很多人,压根不需要网络,他们也能活的很开心,他们可以到处寻找真实的反馈带给他们的快乐。到底是选择沉浸在虚拟的世界中,还是在现实中?我一直觉得可以逃避这个社会,但最后发现根本不行。这两年是我人生的转折点,因为制作了巨人的猎手,突然就到达了人生的一个高点,这让我恐惧,我无法想象未来的路该怎么走,要是我再也做不到巨猎的成功,我会怎么面对?巨猎给我带来了很多,但另一方面,在现实的生活里面,我经历了最糟糕的两年,三年?作为一个天蝎座,悲观,阴暗的特质在我身上得到了充分的体现。我无法对任何事情再提起什么兴趣,负面的情绪几乎每天都在捣鼓,越来越消极的对付现实中的事情。压抑,压抑曾经是我这一两年大部分时候的情绪,可现在我连压抑都不感兴趣了,感觉简直就是在变成一个死人。我讨厌去现实,巨猎的成功让我暂时躲在这个虚幻的避风港里,很长一段时间,可是这就像烟瘾,越来越重,最后做什么都没有用了。

我虽然知道应该做什么,但是根本不想做。比如说每天都是饿到不行了才去吃饭,要是人类可以不用吃饭该多好,想吃的时候,才去满足自己对于味道的追求,而不是为了填满肚子。

真烦,无论在哪儿都感觉是一个人,无论是刷开闹哄哄的微博,打开叫喳喳的朋友圈,还是和所谓朋友一起吃饭,唱歌,听着不知所谓的笑话和聊天。即使坐在一起,就像空气中突然砸下来几道墙,冰冷冷的把不同的人分开了。尤其是这没几个人醒着的凌晨五点半,感觉真他妈孤独。

听着赵雷的《北京的冬天》,其中一段歌词

“想一想似诗的南方 阳光正高照着大地
如果我离去到那里 算不算逃避 ”

听到这一段真想哭出来,你知道哪里也许有更好的,你去那里,算不算逃避?你不去那里,算不算傻逼?

Posted in | | 18 Responses

kurt祭日20年

RIP

 

Posted in | | 2 Responses

巨人的猎手发布一周年啦!

感谢诸位一直以来的支持!

(English by Dong Nan and MiracleChan)

Posted in | | 6 Responses

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

想了很久,自上回讲完游戏基础的框架之后应该写点什么,还是觉得很难理出一个比较合适的流程,所以接下来大致就讲一下阿丰哥哥认为比较重要的点。

面向对象与游戏
面向对象可以说是现代程序用的最最最最多的一种开发方法了,由于阿丰哥哥不是一个合格的程序员,所以不会非常专业和准确的描述出有关的概念,也不会在这里教学或是解释,但是为了你未来开发游戏,查看别人的教程或者源码,不至于一知半解,建议没有这方面基础的朋友好好的学习一下,非常非常非常有用。
面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。

哦了,上面那一段斜体字是阿丰哥哥去维基百科里面复制出来的,怎么样?能看懂么?说实话大学时代的阿丰哥哥,也上了C语言,C++语言的程序设计课程,但最后只是能够完成老师布置的作业而已,真正的理解面向对象,是阿丰哥哥工作之后,使用FLASH IDE某一天突然顿悟的,真可谓大器晚成也!(唔)
开篇废话有点多,切重点。之所以要提一下面向对象,是因为阿丰哥哥想给大家介绍一下游戏里面活动元素的结构。活动元素,就是指会动的,比如说,主角,敌人,飞行物(子弹),机关,等等等等。这些活动物,我们会用面向对象的思想,把他们归为一种,拥有自身位置信息(坐标)的,拥有需要渲染(动画)的,类(CLASS)。2D的世界里面,我们会把它们叫做SPRITE(精灵),3D的世界里,比如说UNITY3D,我们把它叫做GAME OBJECT(游戏对象)。每一个SPRITE或者GAME OBJECT里面,必定包含了,坐标(一般Sprite里的x,y变量/Game Object里面的transform.position变量),动画(这个比较难举例,因为不同的引擎对应了不同的动画方法)。当然除此之外,还会包含很多其他根据游戏需要而添加的Component(组件)。为什么这样做呢,接下来阿丰哥哥再来给大家说一下传统的2D游戏的渲染方法。

一般2D游戏渲染的流程是?
大家可以想象一下,电脑的屏幕实际上就是一块可以反复擦除的黑板(白板),在阿丰哥哥上一篇游戏怪谈里面提到过的,游戏主循环每循环一次,最后执行的一部,便是渲染。这个渲染,无论你用的是什么引擎,结果必定是,先绘制的部分在底层,后绘制的部分在上层会盖过先绘制的部分。比如说在一个超级玛丽这样的PLATFORMER类型的游戏中,就是先把背景(远景),天空,蓝天先绘制在黑板上,接着绘制近景,就是那些地板,砖块,然后绘制角色,马里奥大叔,吃人花,然后如果还有近景的话就绘制近景。
屏幕大小是有限的,所以我们并不会把整个游戏的世界给渲染到整个屏幕上,超出屏幕的地方,我们该不该渲染呢?(哦对了,插一句,一开始引擎并不会直接在屏幕上面绘制,而是会在内存里面建立一块缓冲区域,在内存缓冲区中预先把需要绘制的东西给处理好,最后再把这需要显示的搬上显示器。)一般说来,超出屏幕外的物体不渲染。我们怎么知道这物体有没有超出屏幕外呢?这就是上一个部分里面的,该物体所包含的位置信息所决定的。某物体在屏幕之外,它仍然可以进行它的AI逻辑处理,它仍然可以决定自己此时此刻应该播放哪一帧动画,但是由于它的坐标在屏幕之外,于是我们在渲染的时候,跳过它,不进行渲染,可以节省很大的开销。(还有一种做法便是物体在屏幕外了就完全冻结,当然还是要根据游戏设计来进行对应的处理。)
(在硬件发展的初期,有着许多伟大的程序员,在有限的机能下为了提高画面效果,想出了很多天才的方法,有兴趣的朋友可以再了解一下关于卡马克卷轴脏矩形算法这些到现在看来还是会有实际意义的文章。)
因为在FLASH时代,阿丰哥哥从使用FLASH里面的元件,到使用位图绘制,都做过游戏,所以对2D的这一套流程可以说是比较熟悉。进入了3D时代,使用了Unity3D,感觉基本上已经告离了渲染管理。虽然渲染机制改变了,但还是会有屏幕外物体剔除渲染的这一类思想存在,只是这些工作,已经交给了引擎自动完成,我们只需要更新物体的位置就行了。引擎的作用,本应该就是这样,解放出游戏设计者的手,让他们把智慧,闪光在游戏设计方面,而不是与底层代码做斗争(当然不排除你未来也许适合做一位伟大的底层架构师,那是另一说了)

来点实际的!让主角动起来!
不少朋友对于制作游戏的第一步,就是跃跃欲试的,想让自己的主角动起来。让我们回想阿丰哥哥上一次说了什么:
—–主循环开始——-
接受输入
处理输入(一般是对主角)
处理主角逻辑
处理乱七八糟的逻辑(敌人啊,机关啊,关卡啊)
渲染这一帧的画面
—–主循环结束——-
然后我们对这一段稍微改点颜色和文字
—–主循环开始——-
接受输入
处理输入(对主角)
处理主角逻辑(更新主角位置)
处理乱七八糟的逻辑(敌人啊,机关啊,关卡啊)
渲染这一帧的画面(根据主角的位置渲染主角当前所需要播放的帧)
—–主循环结束——-

橙色的部分就是我们只改变主角位置,然后对主角渲染的流程。
在接受处理输入部分,无非就是  如果按下了左,主角的位置向左偏移3个像素;如果按下了右,主角的位置向右偏移3个像素;概如此的逻辑。
关于角色的移动,一般说来分为三种模式(阿丰哥哥的划分):A,无惯性;B,有惯性;C,仿真式。三种模式根据不同游戏的类型,都会出现,阿丰哥哥并不认为其中存在最好的方案。
A,无惯性。这个模式即是上面几行蓝字的那种逻辑,对于玩家的输入,按一会,就移动一点,按长一点,就移动远一点,移动的速度是固定的。这种模式适用于对于操作要求比较精准的,弹幕游戏,飞行射击游戏,格斗游戏,动作游戏之中。这类游戏中,玩家要求对于主角的控制有着极高的可控性,事实上阿丰哥哥更喜欢这一类的做法,因为可控性最佳。缺点是如果是动作类游戏,角色的动画播放会出现类似滑步的情况。
B,有惯性。这个模式中,玩家的输入,只是改变主角身上的速度变量,而不是直接改变主角的位置。主角由速度控制其移动。当玩家没有输入任何方向时,主角会受到一个与运动方向相反的摩擦力来让其停止。这类模式操控手感一般会根据参数有着不同的操作滞后感。比如说超级马里奥的移动,相信会让人很强烈的感受到惯性的存在,除此之外,大量游戏也会带上一些惯性,只是参数设置不同,而手感不同。实际上大部分游戏移动都会采用这个方式,根据移动速度的不同,播放不同速度或者类型的移动动画(跑,走),也能在某些程度上解决滑步的问题。
C,仿真式。即严格按照角色动画移动步长来移动角色,看上去会很自然,但是可控性不高,阿丰哥哥其实不太喜欢这种模式。早期的波斯王子,DOS神作ANOTHER WORLD,还有现代的一些3D游戏,都是采用这样的模式。
当然也不乏混合式的,比如说鬼泣这类游戏,便是在人物移动中使用B模式,在攻击中使用C模式。
这里宣扬一下阿丰哥哥的游戏观,阿丰哥哥觉得一个游戏的手感,很基本的一个点就是对角色移动的操控感。这个太基本了导致不少做游戏的朋友都没有太把它当回事,要知道一个游戏里面,玩家花时间最多的,就是在基本的移动上了(这句当然是阿丰哥哥瞎编的囧)。基本上要做到,按左就向左,按右就向右,放手就停止,带一点点的惯性(滞后感),抛弃了主角的动画表现,把主角想象成为一个点,它的移动可控性,一定要高。然后才是,调整角色动画,使之能够配合角色的移动速度并且“看起来合理”。
举个自己游戏的例子:《巨人的猎手》主角们移动是A模式;艾伦变身巨人,移动为A模式,攻击的时候为C模式;巨人们移动为A模式,在三连击的时候移动为C模式。

这期大概就先这样,好好构思下下期应该说什么

baking soda for constipation

Posted in | | 7 Responses