GameMaker Studio 2

创建于:2017-04-19

创建人: dougen

190 信息 1080 成员
游戏开发工具 GameMaker Studio 2 的讨论小组
cfan_yjr@GameMaker Studio 2 的内容(查看所有内容
游戏项目演示:《隔离》 (游戏设计文档)
cfan_yjr 2020-11-07

故事背景

玛丽亚他们一行考察队在一个外星球上。当她正在研究一些古迹时,出现了意外,隧道崩塌了,她和她的团队分开了。 现在她一个人,孤立无援,只能努力找到另外一条回去的路。

游戏玩法

游戏主要围绕探索和作战行动展开。利用沿途发现的物品,玩家将能够升级玛丽亚的装备,对抗不断变强的敌人。

胜利条件

正如其他的类银河城游戏一样,当到达关底或者杀死BOSS后,就获胜。

当然,我们将要开发的游戏版本是初级版本,流程非常短。我们只会专注于游戏系统的创建。所以这次我们不会添加胜利的条件。这个游戏只是一个原型,用于演示类银河城游戏的主要功能。

操作方式

有两种,一是键盘控制,二是手柄控制。

键盘控制方式如下

左右方向键:左右移动

Z:跳跃

X:冲刺

C:攻击

Esc: 暂停游戏

I:打开道具栏

Tab:打开地图

Enter:确定

手柄控制方式如下

左右方向键:左右移动

A:跳跃,确定

RB:冲刺

X:攻击

Start:暂停游戏

Y:打开道具栏

Select:打开地图

敌人

用之前做的游戏里的现成素材,绿色章鱼怪,左右来回移动,在自己的巡逻路径里移动,不会主动攻击。

攻击方式

玛丽亚有一把能量手枪,是太空考古学家的标准装备。

这把特殊的手枪可以用某些材料升级,她会在沿途发现改变武器特性的材料。

玛丽亚可以获取和装备物品。


技能

玛丽亚有两大技能:

冲刺:快速向前迈出

墙跳:跳到墙上,让她到达更高的地方。

地图

《隔离》这款游戏有地图系统,将能帮助玩家实时的跟踪他们的行走轨迹。

地图系统是由一个个小矩形组合而成。通过按Tab键或者Select键来打开。

道具

《隔离》这款游戏还有一个特点是有道具栏,它可以存储玛丽亚沿路获得的物品,同时,玛丽亚也可以装备这些物品。

我们将更多地集中在技术实现的层面上,所以美学方面将不是重点。 存储道具的界面将会很简单,只是一个项目列表,随时能够更新玛丽亚放入的物品信息。

(转发自:原日志地址
模板卷轴游戏--樱桃2
cfan_yjr 2020-09-22

故事背景

Berry带着樱桃从洞穴出来,把樱桃分发给人们。他被人们当作英雄。可是,只有他自己知道,更大的危机就要来临。因为那些绿色球是外星人的幼体。它们已经被孵化出来了,马上要重回地面了。

只有一个人能利用樱桃的力量来打败外星人:Berry!


游戏玩法

目标是到达关底,不像第一部是收集齐樱桃。全新的敌人也会登场,会有不同的行为模式。

胜利条件

完成每一关的条件是到达关底,如果玩家受到攻击,就会丢一条命。并重启关卡。只有三条命。

游戏道具

樱桃收集后,可以提高玩家的力量,让玩家有一段无敌时间。新增金币道具,用于收集后,提高玩家的分数。

玩家的控制

键盘控制。方向键,用于左右行走,上下爬梯。空格键是跳跃,ESC打开菜单,回车键为确定。

全新的敌人

绿色八爪鱼,紫色八爪鱼。

Image title

Image title

对敌人的攻击方式

这次主角不像第一部,没有手段来攻击敌人。除了吃樱桃让自己无敌外,现在还可以踩死敌人。

其他杂项

会掉落的平台,当主角接触到它,就会往下掉。

Image title


移动的平台,会来回移动。主角可以用它去一些特殊的地方。

Image title


跳跃平台,当主角在上面跳跃时,会跳得更高,从而来到更高的地方。

Image title

这些是第二部游戏主要的素材了。

(转发自:原日志地址
学习制作游戏--单屏平台游戏--游戏文档制作 1
cfan_yjr 2020-08-30

    游戏名字叫《樱桃》,在迷宫里收集樱桃。

故事背景

因为外星人的占领,樱桃,成为了一个难以获得的食物。为了能够获得樱桃,人们愿意出大价钱来购买。你听说有一个洞穴里长着许多的樱桃,为了发财,你勇敢地出发了。冒险就此开始。

游戏目标

把每一关的樱桃全部收集完,并成功撤离。在这期间,因为敌人而存在一定的危险。玩家被敌人击中三次就会失败。每次击中,玩家都会回到这关的起点。

游戏控制

方向键左右移动,上下爬梯子。空格键跳跃。ESC键,菜单功能。

敌人

他们会按照设计好的路线行进,不会主动攻击玩家。有两类,紫色和绿色。

紫色是跳跃的行动模式,来阻挡玩家。绿色则是带有一定的智力,来阻挡玩家。


游戏素材

Image title


spr_player_idle

50*64

Image title

spr_player_walk

50*64

Image title

spr_player_climb

50*64

Image title

spr_block_red

64*64

Image title

spr_block_brown

64*64

Image title

spr_ladder

64*64


Image title

spr_ball_purple

64*64

Image title

spr_ball_green

64*64

Image title

spr_cherry

64*64

Image title

spr_goal

64*64

以上素材的原点都设置在正中心。

字体,根据自己的喜好,选择一个。名称为fnt_score.

音效有5种,分别是菜单音效,目标达成音效,收集樱桃的音效,玩家跳音效和受到敌人伤害时的音效。

(转发自:原日志地址
太空小蜜蜂01--素材的准备
cfan_yjr 2020-08-01

游戏的故事背景

你是一个太空战士,是人类最后的希望。你的任务是保卫太空站,摧毁外星人的战舰。

游戏玩法

玩家是边射击边躲避的操作。关卡难度,逐渐递增。

胜利条件

每一关,消灭所有的敌人。如果敌人到达太空站,则游戏失败。玩家没有生命,也是游戏失败。

控制方式

玩家用方向键,进行左右移动,按空格键,攻击。ESC键,弹出菜单。

菜单

在菜单里可以,关闭游戏,重开游戏,返回游戏。


敌人

只有一种类型的敌人。左右移动,随机射击。生命值为1,攻击值为1.


打开Gamemaker Studio,新建一个工程命为Space Gala,导入游戏素材。

spr_player


50*43的大小,参考点设置在中心。碰撞图形为默认的矩形。名称为spr_player

spr_bullet_player


16*16的大小,参考点在中心。碰撞图形为矩形。名称为spr_bullet_player

spr_life

16*16的大小,参考点在中心。名称为spr_life

spr_enemy_red


16*18的大小,参考点在中心。碰撞图形为矩形。名称为spr_enemy_red

spr_background

256*256的大小。这是游戏背景。名称为spr_background.

还要建立两种字体文件。fnt_score,大小为14,字体为Arial,fnt_message,大小为14,加粗。

把原来房间重命名为rm_level_1,把游戏背景添加上去。如下图所示

游戏背景添加

这样,太空小蜜蜂的游戏元素就差不多都准备好了。

(转发自:原日志地址
学习制作游戏--Card Game
cfan_yjr 2020-03-28

这个游戏开发中,我们需要先做一个游戏开发文档,用来描述游戏规则,目标和原理,可能的话,也可以添加游戏背景,角色描述等内容。

规则

  • 游戏是有时间限制的,玩家需要在时间用完前完成目标。
  • 玩家一回合只能翻开两张。
  • 纸牌匹配的条件是前面的图形是一样的。
  • 如果玩家发现了所有的纸牌,游戏就结束。
  • 如果时间用完,游戏就结束。
  • 玩家可以在任何时候重置游戏,重新开始游戏。

记忆纸牌的逻辑流程

从上面的游戏规则上,我们需要实现下面的内容:

  • 纸牌:游戏的要素。可以翻,有两面和不同的类型。
  • 桌面:收集纸牌。
  • 时间:计算用时,可以重置。
  • 游戏控制者:一个对象,用于检查规则和胜利条件。

GameMaker:Studio 2上我们用鼠标点击进行翻转纸牌。当纸牌翻过来后,记录下图形用于和第二个纸牌比对。第一个纸牌将显示正面直到点第二个纸牌。翻译成GML的代码就是,我们需要一个obj_card 游戏对象设置两个事件。

  • Create:纸牌初始化参数信息
  • Left Pressed:写入翻转和选择的代码

首先,我们要有几个纸牌素材,8个纸牌的正面和1个背面。用变量0到7来代码它们。用数组来把变量记录下来。

一维数组

一维数组

二维数组

Image title

数组对于信息的整合,有很大的用处。比如,菜单,RPG状态,道具栏等。

在Create事件里添加下面的代码

1 // Initializing the main properties for a card object
2 index = noone; // the position of the card in the deck
3 type = 0; // associates the card with its sprite (0-7)
4 face = 1; // the face the card is showing (0 = back,1 = front)

这样我们就初始化了纸牌的参数。

(转发自:原日志地址

加入 indienova

  • 建立个人/工作室档案
  • 建立开发中的游戏档案
  • 关注个人/工作室动态
  • 寻找合作伙伴共同开发
  • 寻求线上发行
  • 更多服务……
登录/注册