pc端游戏:Mechanical Explorer


Mechanical Explorer

游戏简介

这是一款机甲风格的冒险类跑酷游戏。玩家通过控制机甲主人公,躲避攻击守卫,寻找收集钥匙碎片,最后逃离变种人基地。在游戏过程中,随着不同的地图的变化,玩家所控制的机甲会进入拥有不同功能的实验室,如:反重力实验室,生产实验室等,机甲也因此会拥有不同的功能属性或装备。同时,我们也需要玩家发挥自己的脑洞,思考各种属性和装备的用法,并进行对应操作,使他们成为帮助玩家破关的助力。

基本玩法

  • 玩家通过空格实现跳跃,通过跳跃躲避场景中的障碍物
  • 通过F键进行攻击,使用远程攻击击退敌人

场景展示

本游戏主打机甲风格,大量运用机甲元素融入场景搭建,将场景背景设置为高科技实验室,人物与环境色彩以金属暗色系为主,带给人一种科幻未来感。

my part

1、人物原型设计

本项目为游戏关卡设计课程的课程项目,根据老师给出的“机器人”主题,于是设计了一个机甲造型的主人公形象

2、人物动画设计

设计了人物的跑动、跳跃、攻击动画,并在unity中创建了人物的动画片段

3、人物控制与受伤反馈

在unity中编写脚本控制人物的实现跳跃和二段跳,话不多说,看看主要代码吧

public void Jump()
{

    //animator.Play("robot_jump");

    if (Input.GetKeyDown(KeyCode.Space))
    {
        if (rb.velocity.y == 0)
        {
            rb.AddForce(Vector2.up * force);


        }

        else if (rb.velocity.y != 0 && !doubleJump)
            DoubleJump();

    }
}

private void DoubleJump()
{
    rb.AddForce(Vector2.up * (force / 1f));
    //rb.AddForce(Vector2.up * force);
    doubleJump = true;
}

在人物触碰到怪物受伤时,需要给予玩家反馈,于是便设计了人物受伤时的闪烁效果。

public void OnTriggerEnter2D(Collider2D box)
{
    if (box.CompareTag("Enemy"))//在人物的碰撞体与怪兽的碰撞体接触之后,给玩家受伤反馈
    {
        Damage();
    }

}

public void Damage()
{
    // animator.Play("Damage");
    //Instantiate(hurtSound, transform.position, Quaternion.identity);
    BlinkPlayer(blinks, blinkTime);
}

4、障碍物的随机生成与地图移动

我们的游戏是一个横版的跑酷游戏,在人物前进的过程中地图也随之移动,并且会随机掉落障碍物。但其实我们固定了摄像机!!!让人物在原地跑动,反而让地图进行移动,这就是“卧看满天云不动,不知云与我俱东”啦,于是我们并不需要制作很大的地图,只需要制作一小部分地图,让这部分地图循环运动就可以啦。同时我们的障碍物和敌人也是随机掉落的哦,不需要人为地去设置。

void OnTriggerEnter2D(Collider2D hitInfo)
{
    if (hitInfo.gameObject.CompareTag("Enemy"))
    {
        hitInfo.GetComponent<Enemy>().TakeDamage(damage);
        Destroy(gameObject);
        Instantiate(impactEffect, transform.position, Quaternion.identity);
    }
    if (hitInfo.gameObject.CompareTag("Obstacule"))
    {
        Destroy(gameObject);
        Instantiate(impactEffect, transform.position, Quaternion.identity);
    }
}

项目地址

github项目地址

demo演示


文章作者: Tan Tan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Tan Tan !
  目录