i wanna 游戏制作(一)
i wanna 游戏制作(一)
介绍
什么是 i wanna 游戏?在百度百科中有一个非常直观的描述:I wanna 是一款原创类虐心系列游戏。
这么说我是非常赞同的,因为在 i wanna 游戏中玩家需要通过自己的操作获得游戏胜利,游戏的难度极高,一般人很难通关游戏。😅
这个系列是由 [I wanna be the guy](https://baike.baidu.com/item/I wanna be the guy/4924864) 这款游戏延伸,形成了现在数千款游戏构成的庞大系列。这意味着每个人都可以做i wanna系列的游戏了。
那么具体 i wanna 的相貌如何呢?给你看张图你就明白了:
看看这满屏幕的刺,感觉不像是游戏,而更像是折磨😂。因为游戏的难度极高,因此通关后有极大的成就感,相信不少的小伙伴都非常喜欢。
我之前玩的 i wanna系列游戏 kokomi kokomi kokomi 虽然难度只有37,但它的前五张图我过了两个小时,死了660次。😅我也不怕出丑,给大家看看:(注:左上角是死亡次数和时间)
我特别喜欢B站上逍遥散人的 i wanna 游戏视频👈,大家喜欢可以去看一下。
网上关于GameMaker 8 唯一能看的资料:GameMaker 8.0 从入门到入土
因为网上的 i wanna 和 GameMaker 8 的教程少之又少,所以我都是看着文档一点一点试出来的,若有不对,欢迎指出 😃
引擎下载
这次做游戏的主引擎我选择的是 GameMaker 8.0,因为相比于 unity 、虚幻4等游戏引擎更好上手,也更容易做像 i wanna 一样的2D小游戏。
在那之后我们还需要下载一个专门制作 i wanna 的引擎,网上有很多种,在这里我选择 yuuutu(玉兔)引擎,因为玉兔引擎对新手特别友好。 😃 点击这里下载 yuuutu 引擎
界面
当我们准备好主引擎和玉兔引擎之后,可以复制一份玉兔引擎并打开作为今天的开发地。注意:不要直接用下载下来的玉兔引擎,不然以后要再开发还需要重新下载!
打开后的界面是这样的:
界面主要分为 4 部分:
- 工具栏 :从左到右依次为 -> 创建新工程、打开游戏工程、保存工程 、创建可执行文件、上传至开发者之家、运行游戏、运行调试模式、创建精灵、创建声音、创建背景、创建路径、创建脚本、创建字体、创建时间轴、创建对象、创建房间、改变游戏信息、改变游戏全局设定、扩展包、查看帮助文档。常用的有 @保存工程:这个很重要,要不然你做了一天的工程就因为忘点保存就白做了。@创建可执行文件:当你的游戏工程做完之后,就可以把工程打包成可执行文件发给你的小伙伴玩了。@运行游戏:当你想试试工程文件的运行效果时,可以点击运行游戏试玩。
- 文件栏:文件栏就是放一些工程中需要用到的文件,例如对象、贴图、音乐、脚本等等。 Sprites
存放所有精灵贴图,当然这些贴图可以自己编辑,也可以自己设置一下碰撞盒
Sounds/SE
存放的是游戏的音效文件
Backgrounds
存放的是背景图片和一些瓷砖贴图
Paths
存放的是路径,可以让游戏中的物体沿一定的路径移动
Scripts
存放的是脚本文件,果引擎内置了不少方便的脚本供使用,可用来进行一些初始化操作,和实现一些功能,比如淡入淡出,放射一圈物体,闪屏效果和屏幕抖动等等
Fonts
字体文件
Time Lines
存放的是时间轴,可设定一定步数(帧)后执行某项操作,精确度较高,一般用于做耐久关卡和音游
Objects
游戏物体,比如砖块,玩家,存档点,刺,传送点,如果有需要的话你可以尽情的对它们的代码进行修改,当然前提是你最好确保改坏了还能改回来
Rooms
存放的是游戏房间,也称为场景,引擎也提供了许多的房间实例供我们参考 - 主界面:我们可以在主界面打开房间画地图、放对象、帖帖图、写脚本等等一系列操作。
- 新闻界面:主要是一些新闻,没啥用,点击下方 Hide 可隐藏。
创建房间
我们可以在文件栏的 Rooms 下右键创建房间、也可以在 Rooms 目录下的文件夹内右键创建房间。
在主界面选择 设定 来调整房间的基本参数,名称随便起,宽、高一般是 800 , 608 ,其它值保持默认就好。然后在主界面上方更改网格数,一般为 32X32 的网格。(如下图)
制作第一个简单的地图
1. 画个简单的场地
①改背景,方便制作和贴图:点击背景图片,将背景色改为类似于天空的颜色或者其他。
②画砖块:在对象中我们可以选择要添加的物体,选择 Block-->Block,开始在房间画砖块,按住 shift 键可以连续地绘制,如果画错可以鼠标右键删除。我们可以把背景颜色调暗一点来画(提示:这里也可以调节精灵的透明度,因为精灵不显示所以不影响最终的效果)
注意切回对象界面再画(切到星空界面也可以),不可以画歪!
③给砖块贴图:然后我们点击贴图面板,选择Alltiles图片,开始为画好的砖块贴上贴图。
④添加初始人物:点击对象,在画好以后添加一个playerStart,作为玩家初始化位置: player_etc-->playerStart
⑤加刺:然后我们就可以加点刺了 generic threats-->spikeUp
⑥加存档 saves-->savePoint
好了,地图画完了,我画的是这样的,你们画的是什么样的呢?
最后我们还得调一下初始房间的设置,把初始房间设为我们制作好的房间。在文件栏中打开 Object --> warpStart 选择 player 打开执行代码。
将代码中的 roomTo = 后面的房间改成你自己的房间名称,如我的房间名称为 level1 ,我要将其该为 roomTo = leve1; (如下图)
之后再点击工具栏的运行游戏就可以玩了!
2. 创建传送点
传送点可以将你传送到任意一个房间。可在对象 --> warp 里放置到地图中。
当然我们还需要指定传送点的传送房间、转场效果等等。这就需要我们编写一些脚本了。鼠标选择传送点,ctrl+右键,创建时执行代码,如果不小心直接鼠标右键把它删了可以 ctrl+Z 撤销。
然后我们就可以开始编写脚本了,这里用的语言是 GameMaker Language (GML),warp 的主要参数如下:
roomTo = leve1 // 必填,传送到的房间名称
kind = 0 // 可选,使用的房间转场效果
text = "text" //可选,绘制文字
color = c_red //可选,文字颜色
具体的转场特效可以看看帮助文档:
我的传送点做好了,你呢?
3.开始做坑(飞刺)
首先我们要先有一个触发器,在对象中找到 free trigger --> freetrigger ,把它放在你想让玩家触碰之后执行坑的位置,然后ctrl+鼠标右键,创建时执行代码。具体参数如下:
trg = 1; // 必填,触发器编号
image_yescale = 2; // 可选,是扩大Y轴范围(正向下负向上)
image_xescale = 2; // 可选,是扩大X轴范围(正向右负向左)
snd = sndCherry //可选,触发时音效
然后我们就可以在对象的 free trigger 中找到我们需要的陷阱,把它放在地图上,然后ctrl+鼠标右键,创建时执行代码。具体参数如下:
trg = 1; // 必填,与其相应的触发器编号
v = 10; //可选,若选与h二选一,纵轴移动的速度(正为向下,负为向上)
h = 10; //可选,若选与v二选一,横轴移动的速度(正为向右,负为向左)
如下图:
结语
这就是一个最基本的 i wanna 游戏了,如果你制作好了一个完整的作品,可以点击工具栏“创建可执行exe文件”导出。
好了,这就是本期 i wanna 游戏制作的所有内容了,因为网上的教程真的特别特别少,所有我全都是照着文档一步一步打出来的,如有错误,欢迎大佬帮忙指出。