这两周几乎大把的时间的都泡在了构思自己的游戏中,翻了下《游戏设计艺术》,看了看亚恒的《游戏设计开源计划》视频,重新整理了下思路,列了张更为详尽的设计表格,光是思考具体的游戏设计就花了几天的时间,不过大致的方针、游戏的主题、游戏中主要设计的构造和元素、大致的玩法、故事和游戏的大致风格,都已经确定下来了。
检查自己的主要设计之后,我决定开始着手做第一个原型。以此可以排查自己设计中存在的问题。
作为第一次发自真心想要给玩家传达体验,也是第一次制作游戏。深感游戏制作工作的不易,虽然艰辛,但投入创作的过程也算十分开心的。
前面也提到了,我着手开发第一个游戏用的是godot引擎,因为是初次接触该引擎,所以我构造出第一个角色,并搭建第一个场景的时候,全程都是看着文档来的。
首先关于角色的构造,godot里面是直接构造一个新的场景作为玩家角色(Player)。
我试着上网找了找横版2D游戏角色的素材,但是并没有找到一个能让我满意的素材资源,所以我动手画了个很粗糙的角色作为范本,为了节省时间所以我随便画的,等非美术方面的设计之后再换更好的素材。
我给角色做了三张图,一张是站立不动的图,一张是行走图。
开始的时候,我是根据教程用的Area2D角色模型,写了左右两个方向的脚本,很快就实现了角色的左右移动。
把角色实装到场景里面的时候,我才发现角色根本不会碰到场景中的图块停下,而是会从图块中间穿过去。
后来我搜索了下关于Area2D的资料,才发现Area2D模型实际上是构建一个检测碰撞箱重叠的区域,在物体进入其碰撞箱的时候会发出特定信号。
然后我看了下其它的角色模型资料,发现除了Area2D之外,还有KinematicBody2D和RigidBody2D和StaticBody2D这三种模型,分别是只受碰撞箱影响的模型、受完全物理引擎影响的模型和自身不会被物理引擎拖动但是有物理引擎特性的模型。
由于KinematicBody2D最适合我,因为这个模型只需要给脚本加入一段小段代码就可以模拟重力,于是我换成了这个模型。不过换之后代码方面总出奇奇怪怪的bug,因为当时半天没看懂模拟重力和跳跃的原理,以及_progress(delta)这个函数里面的变量delta是什么,不过经过调试最终能正常运行了。这些是昨天的事情,睡了一个好觉之后终于想明白了,其实模拟重力就是给角色施加一个向下的向量。角色跳跃就是给角色赋予一个向上的向量,然后再让角色不断减去向下的向量,利用重力*delta(这个是运行每帧需要的时间),计算出减去的值,就可以模拟重力让角色自由落体了。
地图方面我预先找来了一张星空素材,打算做个星空下的大桥的场景,但是找了半天发现根本找不到适合我的大桥的素材,于是我找了张水泥的素材替代大桥的路面,然后自己绘制了一组大桥的图块,经过大概一天左右的时间打磨,终于做出来了一个大致的场景,虽然看着还不太好看。
故事方面的话,用ink写的第一个小故事大概在上周就已经写好了,那段小剧情,具体的还得根据游戏需要插入事件和剧情。
不过我对这个游戏的想法主要是,希望玩家能够随机探索地点,在合理的情况下,随机触发不同的小剧情,而不是参照传统的线性故事叙事模式。
因为如果用线性故事叙事模式,这个游戏就会失去其随机性,这样的化大概就没有那种在废墟中四处旅行的感觉了。
以下是小故事的链接:
================================== || 上一页 || || Page1 || 下一页 || ================================
继续加油~