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 的相貌如何呢?给你看张图你就明白了:

hh

看看这满屏幕的刺,感觉不像是游戏,而更像是折磨😂。因为游戏的难度极高,因此通关后有极大的成就感,相信不少的小伙伴都非常喜欢。

我之前玩的 i wanna系列游戏 kokomi kokomi kokomi 虽然难度只有37,但它的前五张图我过了两个小时,死了660次。😅我也不怕出丑,给大家看看:(注:左上角是死亡次数和时间)

kokomi

我特别喜欢B站上逍遥散人的 i wanna 游戏视频👈,大家喜欢可以去看一下。

网上关于GameMaker 8 唯一能看的资料:GameMaker 8.0 从入门到入土

因为网上的 i wanna 和 GameMaker 8 的教程少之又少,所以我都是看着文档一点一点试出来的,若有不对,欢迎指出 😃

引擎下载

这次做游戏的主引擎我选择的是 GameMaker 8.0,因为相比于 unity 、虚幻4等游戏引擎更好上手,也更容易做像 i wanna 一样的2D小游戏。

在那之后我们还需要下载一个专门制作 i wanna 的引擎,网上有很多种,在这里我选择 yuuutu(玉兔)引擎,因为玉兔引擎对新手特别友好。 😃 点击这里下载 yuuutu 引擎

界面

当我们准备好主引擎和玉兔引擎之后,可以复制一份玉兔引擎并打开作为今天的开发地。注意:不要直接用下载下来的玉兔引擎,不然以后要再开发还需要重新下载!

打开后的界面是这样的:

gm

界面主要分为 4 部分:

  • 工具栏 :从左到右依次为 -> 创建新工程、打开游戏工程、保存工程 、创建可执行文件、上传至开发者之家、运行游戏、运行调试模式、创建精灵、创建声音、创建背景、创建路径、创建脚本、创建字体、创建时间轴、创建对象、创建房间、改变游戏信息、改变游戏全局设定、扩展包、查看帮助文档。常用的有 @保存工程:这个很重要,要不然你做了一天的工程就因为忘点保存就白做了。@创建可执行文件:当你的游戏工程做完之后,就可以把工程打包成可执行文件发给你的小伙伴玩了。@运行游戏:当你想试试工程文件的运行效果时,可以点击运行游戏试玩。
  • 文件栏:文件栏就是放一些工程中需要用到的文件,例如对象、贴图、音乐、脚本等等。 Sprites
    存放所有精灵贴图,当然这些贴图可以自己编辑,也可以自己设置一下碰撞盒
    Sounds/SE
    存放的是游戏的音效文件
    Backgrounds
    存放的是背景图片和一些瓷砖贴图
    Paths
    存放的是路径,可以让游戏中的物体沿一定的路径移动
    Scripts
    存放的是脚本文件,果引擎内置了不少方便的脚本供使用,可用来进行一些初始化操作,和实现一些功能,比如淡入淡出放射一圈物体闪屏效果屏幕抖动等等
    Fonts
    字体文件
    Time Lines
    存放的是时间轴,可设定一定步数(帧)后执行某项操作,精确度较高,一般用于做耐久关卡和音游
    Objects
    游戏物体,比如砖块,玩家,存档点,刺,传送点,如果有需要的话你可以尽情的对它们的代码进行修改,当然前提是你最好确保改坏了还能改回来
    Rooms
    存放的是游戏房间,也称为场景,引擎也提供了许多的房间实例供我们参考
  • 主界面:我们可以在主界面打开房间画地图、放对象、帖帖图、写脚本等等一系列操作。
  • 新闻界面:主要是一些新闻,没啥用,点击下方 Hide 可隐藏。

创建房间

我们可以在文件栏的 Rooms 下右键创建房间、也可以在 Rooms 目录下的文件夹内右键创建房间。

在主界面选择 设定 来调整房间的基本参数,名称随便起,宽、高一般是 800 , 608 ,其它值保持默认就好。然后在主界面上方更改网格数,一般为 32X32 的网格。(如下图)

sheding

制作第一个简单的地图

1. 画个简单的场地

①改背景,方便制作和贴图:点击背景图片,将背景色改为类似于天空的颜色或者其他。

②画砖块:在对象中我们可以选择要添加的物体,选择 Block-->Block,开始在房间画砖块,按住 shift 键可以连续地绘制,如果画错可以鼠标右键删除。我们可以把背景颜色调暗一点来画(提示:这里也可以调节精灵的透明度,因为精灵不显示所以不影响最终的效果)
注意切回对象界面再画(切到星空界面也可以),不可以画歪

③给砖块贴图:然后我们点击贴图面板,选择Alltiles图片,开始为画好的砖块贴上贴图。

④添加初始人物:点击对象,在画好以后添加一个playerStart,作为玩家初始化位置: player_etc-->playerStart

⑤加刺:然后我们就可以加点刺了 generic threats-->spikeUp

⑥加存档 saves-->savePoint

好了,地图画完了,我画的是这样的,你们画的是什么样的呢?

whd

最后我们还得调一下初始房间的设置,把初始房间设为我们制作好的房间。在文件栏中打开 Object --> warpStart 选择 player 打开执行代码。

warpstart

将代码中的 roomTo = 后面的房间改成你自己的房间名称,如我的房间名称为 level1 ,我要将其该为 roomTo = leve1; (如下图)

roomto

之后再点击工具栏的运行游戏就可以玩了!

2. 创建传送点

传送点可以将你传送到任意一个房间。可在对象 --> warp 里放置到地图中。

当然我们还需要指定传送点的传送房间、转场效果等等。这就需要我们编写一些脚本了。鼠标选择传送点,ctrl+右键,创建时执行代码,如果不小心直接鼠标右键把它删了可以 ctrl+Z 撤销。

然后我们就可以开始编写脚本了,这里用的语言是 GameMaker Language (GML),warp 的主要参数如下:

roomTo = leve1	// 必填,传送到的房间名称
kind = 0	// 可选,使用的房间转场效果
text = "text"	//可选,绘制文字
color = c_red	//可选,文字颜色

具体的转场特效可以看看帮助文档:

kind

我的传送点做好了,你呢?

warpok

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二选一,横轴移动的速度(正为向右,负为向左)

如下图:

xianjing

chufaqi

结语

这就是一个最基本的 i wanna 游戏了,如果你制作好了一个完整的作品,可以点击工具栏“创建可执行exe文件”导出。

好了,这就是本期 i wanna 游戏制作的所有内容了,因为网上的教程真的特别特别少,所有我全都是照着文档一步一步打出来的,如有错误,欢迎大佬帮忙指出。

posted @ 2022-08-23 22:11  IceAbyss  阅读(790)  评论(1)    收藏  举报