游戏开发纪实——一款横板2d跑酷游戏是如何诞生的?

2023-12-02 11:04:45 浏览数 (1)

前不久,参加了学校游戏社团Nova独游社举办为期两周的GameJam,算是一段有点意思的经历,遂以本文记录如下。

GameJam是什么

GameJam是指游戏开发者聚集在一起,在有限的时间内合作创作游戏的活动。这种活动旨在通过短时间内集中精力,挑战创意和技术能力,创造出原创的游戏作品。

很多游戏公司都会举办GameJam来为新游戏寻找灵感和思路,游戏开发者社区itch就有个专门的GameJam板块(https://itch.io/jams),记录了所有最近进行的GameJam活动。

GameJam周期或长或短,长的一两个月,短的一两天,学校社团举办的这场时间不短,总共两周时间。不过因为种种事情忙碌,我投入游戏制作的时间大概不到三天,对我来说,算是一次比较短时间的GameJam。

我为什么要参加GameJam

对新奇的事物,我一贯保有兴趣去尝试,GameJam完全符合我的兴趣。

其次,之前接触过一些游戏引擎开发的内容,不过是一个人单打独斗,想借此机会,感受一下团队合作的流程。

最重要的是,我和我的好兄弟曾约定,当我做出一款像样的游戏时,他要出一期手书视频。我想看看当我达成这一目标时,他又会如何应对。GameJam正好给一个灵感和Deadline,Deadline才是第一生产力!

于是我在社团群开始招人:

主题确定

这期GameJam的主题是“逆转",看到这个主题,我第一想法是想到了B站up主不自由摄影师winga做的一期视频,故事大概描述了平行世界中,男主和女主不断奔跑,最终相遇。

于是打算做一个关于重力逆转的2d跑酷视频。

在我发布招队友信息后,很快一个策划和一个美术找上来组建团队。

起初,他们只是想找个程序来干活,对我的想法不怎么感兴趣,策划开始“大放卫星":

越讨论越抽象,策划甚至想做一个QQ农场或者部落冲突。。

最终,在我的竭力争取下,他们还是同意了我2d跑酷游戏的方案。

跑酷游戏拆解

拆解是一个策划行业的术语,意思是对游戏的各个系统和组成部分做解构。我这里以程序视角对游戏进行拆解。

跑酷游戏和经典飞机大战的游戏类似,虽然玩家视角下,主角在不断奔跑,但从游戏设计的角度来说,实际上是场景在不断往前移动而形成的一种视觉假象。因此,对于这款游戏来说,需要实现的功能点有以下这些:

  • 角色
    • 跑步动画
    • 碰撞逻辑
    • 翻转衔接
    • 技能动画与碰撞
  • 场景
    • 地图块的生成和移动
    • 障碍物的随机生成和移动
    • 重力系统
    • 碰撞逻辑
  • UI
    • 开始界面
    • 死亡界面
    • 角色技能状态
    • 生存时间记录
  • 音效
    • 开始界面音效
    • 游戏界面音效
    • 角色技能音效
    • 碰撞销毁音效
    • 按钮点击音效

因此可以看出,虽然一款看上去很简单的游戏,需要考虑和处理的细节也不少。以我的菜鸡水平评估了下,大致三天可以完成。

制作过程

主题修正

策划很快对游戏出了一个策划案,世界观背景大致是亚当和夏娃从上帝那里偷来了“重力的权柄”,逃到人间的平行世界祈望相会。

原本的计划是美工能在第一周时间内把基本素材做好,不过因种种原因,一咕再咕,无奈之下,我只好自己去寻找美术素材。

Unity商城素材虽多,但把“免费”的筛选条件一打开,可用的就寥寥无几。于是另辟蹊径,去找了经典童年游戏《死神VS火影》的美术素材。

得益于该游戏良好的二创社区生态,找这方面素材并不是一件难事,动作序列比较多,可挑选的余地也很充足。

于是把男主和女主设定为动漫死神里的黑崎一护和露琪亚。

有人可能会问,为什么得先定美术素材再做,难道不是做完直接换人物贴图就好了吗?实际上开发过程中,人物的大小、人物技能的判定范围,动画的速度都需要和素材相适配,如果调整素材,一系列工作都需要重新调整。

因此,如果无法如期拿到相关美术素材,就得根据新素材来重新设计。

程序设计

这个游戏涉及的代码量不少,本文也并不是技术分享帖,因此如果需要了解上述功能如何实现,可以移步此游戏的开源仓库:https://github.com/zstar1003/Reverse_Bleach

游戏行业整体看来是比较闭塞的,很多游戏作者并不会去开源他的代码,这导致遇到bug时,通过搜索资料进行处理颇为费力。

此次过程我将ChatGPT纳入到程序编写过程中,大概有60%的代码由它帮我完成。出人意料的是,它在这方面意外的好用:

唯一的问题是它无法返回图片,因此在一些涉及软件操作的部分,还是需要依赖经验去进行调整。

难度动态优化

仅实现上面这些内容,游戏整体还是颇为简单,为了让游戏更有挑战性,增加了两点难度上的调整和限制:

    1. 场景移动速度会随时间不断加快
    1. 技能限制:在男女主原世界中,只能使用一次技能,在位置颠倒后,男女主会丧失力量,无法使用技能,回到原世界后又会恢复力量。

最终成果

最终,做成了一款双人跑酷游戏,甚至为它做了一段短PV:

死神IP游戏《逆转尸魂界》全球首发实机PV

游戏下载地址(仅支持Windows):https://pan.baidu.com/s/15w-f1dpwMfkdc4P3RDjRHQ?pwd=8888

GameJam流程

两周限时结束,我拿着这款游戏去参加了GameJam的路演。

第一个环节是每一个队伍用5分钟的时间介绍自己的游戏内容。

看了下别人队伍做的内容,好多是平台跳跃游戏,风格类似《i wanna》,亮点不多,路演竟然长时间再讲背景和世界观。

还看到一组是用Renpy做的小说类剧情动画,我并不认为这样能称得上一款游戏。

有一组设计得还挺有意思,玩法虽然是平台闯关,但可以通过吃到重力宝石改变游戏的摄像机视角,这非常考验关卡设计能力。不过程序有点草率,视角转换没做摄像机动画,让人玩得有点晕。

剩下的是一些解密游戏,我对这方面不感兴趣。

路演结束后,是游戏试玩环节。社团成员到不同的摊位上去试玩别人组的游戏,每人两票,可以投给喜欢的游戏团队。

我的游戏处于一个非常尴尬的境地:有的人喜欢解密类型,对动作游戏不感兴趣;有的人玩了下,尝试一个人操控两个角色,觉得太难。从路演就可以看出,和我游戏兴趣类似的人还是不多,因此,得票惨淡也在情理之中。

总结

这次GameJam经历让我产生了一些思考,记录如下:

  • 1.游戏行业中,策划的地位有点类似互联网行业的产品经理。如果策划只会头脑风暴,光说不练,不容易生存。之前看到凉屋游戏就明确不招“专职策划",策划必须得是多面手,比如,出完策划案之后,还可以继续去做关卡设计和UI设计,而不是只是给程序“加油打气”。
  • 2.即使是一款简单的游戏,如果引入新的规则和设定,也需要做引导教程。因为我这款游戏的操作按键不多,就没加教程提示。于是我惊奇地发现,在游戏试玩时,玩家看到标有F字母提示的技能时,并没有想到去按F释放技能,而是本能地去用鼠标点击。因此,如果不是利用现实世界存在的固有规则,新的规则再简单,也需要设计引导。
  • 3.游戏内测很重要。我做完这个游戏之后,先发给策划进行测试,他反映障碍物出现得太规律,导致游戏前期过于简单。起初我以为是个别感受,没及时调整,后来给更多人测试后发现这是普遍现象。因此,游戏正式发布前,需要进行内测,去发现开发者无法预料的问题。

合作招募

如果你看到这里,说明你对做游戏也有浓厚的兴趣。

一款游戏如果需要一定耐玩性,一是具备roguelike的随机性,二是可以联机游玩。因此,我打算在今年寒假期间,开始做一款本地联机的卡牌游戏。如果你有美术设计天赋或Unity游戏开发经验,且在这个假期中时间充裕,可以直接和我私信,一起做有意思的游戏。

0 人点赞