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

前不久,参加了学校游戏社团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游戏开发经验,且在这个假期中时间充裕,可以直接和我私信,一起做有意思的游戏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/232169.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

re:Invent 构建未来:云计算生成式 AI 诞生科技新局面

文章目录 前言什么是云计算云计算类型亚马逊云科技云计算最多的功能最大的客户和合作伙伴社区最安全最快的创新速度最成熟的运营专业能力 什么是生成式 AI如何使用生成式 AI后记 前言 在科技发展的滚滚浪潮中,我们见证了云计算的崛起和生成式 AI 的突破&#xff0c…

什么是美颜sdk?集成第三方美颜sdk的步骤

本文将深入探讨如何集成第三方美颜sdk,为直播平台引入更先进、更具吸引力的美颜特效。 第一步:选择合适的第三方美颜sdk 在开始集成美颜sdk之前,首要任务是选择适合自己直播平台需求的第三方美颜sdk。不同的sdk可能具有不同的特色和性能&a…

rabbitmq-server-3.11.10.exe

rabbitmq需要erlang环境 otp_win64_25.1.exe erlang-CSDN博客 https://www.rabbitmq.com/download.htmlhttps://www.rabbitmq.com/install-windows.htmlhttps://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.10/rabbitmq-server-3.11.10.exe C:\Users\Admi…

Tomcat的安装及其使用

一.下载安装 本文下载的是8.5版本的,下载链接:Apache Tomcat - Welcome! 切记解压缩的目录不要有中文存在。 二.启动Tomcat 在解压缩之后,会有很多文件存在,但是我们只需要在意两个文件! webapps 目录 . web applica…

阿里健康发布最新公告:收入129.6亿 获阿里妈妈医疗健康类目独家经营权

11月28日,阿里健康发布公告宣布,正式与阿里巴巴集团签署股权认购协议,以135.12亿港元对价,获得阿里妈妈医疗健康类目的独家营销审核权及附属权利。交易完成后,阿里巴巴集团对阿里健康的持股比例从56.99%上升到63.83%。…

【探索Linux】—— 强大的命令行工具 P.18(进程信号 —— 信号捕捉 | 信号处理 | sigaction() )

阅读导航 引言一、信号捕捉1. 内核实现信号捕捉过程2. sigaction() 函数(1)函数原型(2)参数说明(3)返回值(4)函数使用 二、可重入函数与不可重入函数1. 可重入函数条件2. 不可重入函…

网站优化进阶指南:如何用Python爬虫进行网站结构优化

前段时间一个做网络优化的朋友找我,问我能不能通过爬虫的手段对他们自己的网络进行优化。这个看着着实比较新颖,对于从事爬虫行业的程序员来说,很有挑战性,值得尝试尝试。 说白了使用爬虫进行网站优化需要对网站的结构、内容、链…

深光标准谷歌GMS认证实际EDLA项目分享

一、谷歌EDLA协议简单介绍,设备过认证是做MADA的还是EDLA的?EDLA跟MADA有什么区别? 在了解EDLA跟MADA的差异之前,我们需要先了解这两个协议的中文意思,EDLA,英文为Enterprise Device Licensing Agreeement—…

python类的多重继承继承和查找顺序

1 python类的多重继承继承和查找顺序 python中,类的多重继承允许子类继承多个基类,子类可以访问多个基类的属性和方法。 1.1 多重继承基础 用法 class MulClass(BaseC1,BaseC2,...BaseCn):pass描述 Mulclass:子类(或者称混合…

LeetCode(36)旋转图像【矩阵】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 48. 旋转图像 1.题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在** 原地** 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 …

【01】侯小啾python入门计划_导语

侯小啾python入门计划_导语 欢迎大家订阅《侯小啾python入门计划》专栏,本专栏经作者侯小啾精心打造,极致把握初学者心理状态与困境,让小白少走弯路,让大佬快速成长。Python是一种简单易学且功能强大的编程语言。对于大多数非科班…

国密加密工业路由器 数据安全升级

国密加密工业路由器,简称国密加密路由器,是指遵循“商用密码管理规范”中规定的国家商用密码算法,采用国密加密芯片和密码算法的专业路由器。相比-般路由器,国密加密路由器具有更高级别的加密保护,可以有效提高数据传输…