这个是2012年做的一个游戏。
这个游戏的地址是 http://ccx01.com/game/T-night-jq/ 不过只能在pc上玩,因为我没有兼容移动端。
========
主角的控制方式:
左键移动,
按Q键角色会朝鼠标方向冲刺,冲刺位移距离大,但是冲刺过程不是无敌的,且伤害一般。
按W键将会朝鼠标方向发个子弹,子弹击中敌人会使敌人出现暂时无法动弹的状态,伤害很高。
按E键会边旋转边移动,类似LOL里盖伦的E,同样过程不是无敌的,伤害一般。
BOSS的行为模式:
BOSS只有头部会攻击敌人(近距离咬),其他部位会把人弹开。
BOSS只有身上发光的地方受到攻击才会受到伤害,其他区域被攻击也不会少血。
BOSS身上的光随着血量变化,导致BOSS的AI也发生一些变化。
========
当时做这个的时候,pc端的浏览器性能其实还不是很好,很多条件限制,手机端的web更是一塌糊涂。
那时候有稍微了解一些js游戏引擎,但是没有找到合适的,要么帮助不大,要么就是要重新改写引擎核心代码。所以后来想了下,就自己动手写个游戏引擎了。
当时居然能写出一个游戏引擎,我自己都觉得惊讶。不过在那时候的心气很高,总是要和大神去比较,偏偏这个世界的大神莫名其妙的多,得到的结论就是自己做的就跟渣一样,真正的游戏制作者都是怪物。而且游戏做完第一章后,不知道给谁玩,渐渐的没有了后续。
*我眼中的游戏制作者是指某种人群,不是特指从事游戏行业的人。游戏也是指某种事物,比如一段音乐,一个滑板,甚至一本书都可以是游戏。
照例吐槽完毕,开始正文。
月千之夜的名字是当时结合这个游戏的设定起的,不过很大一部分原因也是因为当时一直在循环《月千一夜》这首歌。
这个游戏的主线是时空跳跃,关键词就是“跃迁”,正好和“月千”同音。
说到游戏的故事主线,这个故事的世界观非常庞大,为了这个故事,我画过对应的漫画,做过视频,也出过游戏。在众多半成品的平行世界的作品中,这个世界是我最想展示出来的,但是这次暂时就先不介绍这个故事了。
这次主要介绍游戏的制作。
代码部分忘的差不多了,所以基本上就讲讲框架搭建。
js结构
chapter
characters
jquery是一开始引用的,后来发现其实有点多余……
那时候的想法是一种“插卡式游戏引擎”,类似于在FC游戏机上插上卡带进行游戏的概念,在代码上就是引用不同的关卡js,关卡js就会引用当前关卡所需要的角色js。
一年以后,我才知道这种逻辑在js代码上叫模块化- -。
而除了关卡和角色,游戏还需要控制管理器,图片管理器,以及音频管理器。
然后除了这些外,游戏引擎制作的过程中会产生很多碎片化的功能片段,大部分片段可以重复使用,于是增加一个“收破烂”的js。最后还要在对应的js上留一些后门用来调试。
所有的这些,全是靠对游戏制作的理解来完成的,只是恰巧用了js来实现。我觉得这就是游戏人,所以也一直以游戏人自居,而不是一个程序员。
一个游戏人可以不知道当前他所使用的工具详细的名称,但是他可以凭借对游戏的理解很好的使用这个工具。
接下来是游戏的美术部分,这些部分都是亲手画的。那时候也是莫名的固执……
头像 + 按键(分组挺乱的)
这个世界设定是双主角的,第二关开始就换一个角色了,可惜没有继续制作下去。
角色分解图
主角
boss
npc
击中效果
地图(后来随手加的)
ui
剩下一些ui是用css画的,这个游戏属于canvas+dom结合的类型。
过场漫画
胜利场景
失败场景
这个游戏的地址是 http://ccx01.com/game/T-night-jq/ 不过只能在pc上玩,因为我没有兼容移动端。
话说这游戏超难的,我当年完全没注意到……因为当年我过关率是80%左右(有窍门)。最近重新玩,过关率只剩下20%了……(就算知道窍门……)
2014年的时候,有针对移动端重写的版本,下次再介绍吧。