Skip to content

Delerrr/Splatoon2D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

欢迎来到Splatoon2D!!!

什么是Splatoon2D?

对于许多玩家来说,Splatoon这个词可能并不陌生。Splatoon(中文名:喷射战士)是任天堂的看家作品之⼀,以涂地的核⼼玩法独树⼀帜。而作为我在冰岩游戏组的实习项目的Splatoon2D则为Splatoon的低配2D版。Splatoon2D包括了原版游戏的基本玩法,并具有联机对战功能(目前只支持1V1模式)。 Splatoon

游戏的玩法是怎样的?

Splatoon2D目前有两种模式:单人模式和联机模式。两种模式的按键操作(目前只支持键鼠操作)都一样,只是游戏规则不同。

按键操作

  • wsad:上下左右移动
  • 鼠标左键:发射子弹
  • 按住左Shift可在已涂色区域潜水(由于对原游戏玩法的误解,未涂色区域无法潜水。暂时未修改此特性。)
  • 数字键1:切换为武器一
  • 数字键2:切换为武器二

单人模式

单人模式的规则是在规定时间内获得足够的分数(得分规则:每染色一个方格可获得5分,但已被染成自己的颜色的方格如果被敌人染成其他颜色则每个扣5分!)。在规定时间内未获得足够分数或死亡则游戏失败。获胜后可进入下一关。

Splatoon

联机模式

联机模式的规则是在规定的时间内尽快获得目标分数(得分规则:每染色一个方格可获得5分,但已被染成自己的颜色的方格如果被敌人染成其他颜色则每个扣5分!)或击败对手。在规定时间内率先获得目标分数或击杀对手或计时结束时分数最高的玩家获胜。

Splatoon

武器介绍

目前游戏有两种武器:

  1. 武器一:短距离喷涂枪,对应于原版的新叶枪等。
  • 优点:耗墨量少
  • 缺点:射程短,喷涂面积小
  1. 武器二:远距离镭射枪,对应于原版的。。。这里请熟悉的大佬作答(逃
  • 优点:射程长,涂地面积大
  • 缺点:耗墨量极大

开发日志(详见Commits)

  • 10/1
    • 初始场景搭建
      创建主场景,加入基本的tilemap,导入游戏角色相关资源
    • 添加角色和镜头跟随
      添加Player,使用Cinemachine插件实现镜头跟随
    • 更换角色资源
      原来的角色资源太丑,遂更改为新的角色资源
    • 实现角色移动和相关动画
      可以通过wasd控制角色移动,并添加idle和walk对应的动画
    • 增加第一种武器
      增加第一种武器(新叶),并让武器角度随玩家面朝方向的改变而改变
    • 实现潜水动画
      现在按住左Shift键可以潜水,松开后变为站立或行走
  • 10/2
    • 实现涂色效果
      现在第一个武器(新叶)可以发射子弹并涂色了。子弹会飞行一段时间后自行销毁,销毁的同时对其所在位置的涂色范围内的所有Tile进行涂色。
    • 增加第二种武器
      第二种武器的射程更长,且会对其移动轨迹上的所有地面进行涂色。名字我叫不上来,暂且称之为激光枪吧
    • 修复子弹发射位置错位的BUG
      子弹发射位置和枪口位置不一致,现在已修复。
    • 增加UI界面和墨水系统、生命系统
      为主场景增加UI界面,目前可以显示血条、墨水条。已加入完整的墨水系统,潜水时可以加墨,使用武器时消耗对应的墨水。另外,修复了在未涂墨水的地面也能潜水的BUG
    • 加入分数系统
      现在UI界面可以显示玩家的实时分数了!得分规则:每染色一个方格可获得5分,但已被染成自己的颜色的方格如果被敌人染成其他颜色则每个扣5分!染色和分数计算均通过TilemapController脚本来实现。
    • 增加角色受伤动画
      增加游戏角色被子弹/其他武器击中后的动画,共四个角度。至此,所有动画均已完成。(新武器动画除外)
  • 10/3
    • 添加主菜单界面
      添加MainScene作为主菜单场景,原来的场景改为Level_1(单人模式的第一关)。为主菜单场景添加UI canvas并加入了两个按钮:SinglePlayer和Exit。点击SinglePlayer会进入Level_1界面,而点击Exit则会退出游戏。
    • 添加暂停按钮和暂停菜单界面
      点击游戏界面右下角的齿轮按钮即可暂停游戏并打开暂停菜单,暂停菜单有Resume、BackToMainMenu、ExitGame三个按钮。现在游戏终于有退出按钮啦!(终于摆脱Alt+F4了)下一步还需为暂停菜单添加选择关卡的按钮。
    • 实现实时计时显示和分数进度条
      玩家分数现在可以以进度条的形式显示在顶部。右上角是倒计时。倒计时的设置是为接下来的计时关卡做准备。
    • 加入游戏失败界面
      当倒计时结束而玩家分数未达到要求或生命值为零时将弹出GameOver界面,上面的文字分别为“Time Is Out!”或“You Have Died!”,然后有三个按钮:TryAgain、BackToMainMenu、ExitGame。后两个按钮由暂停菜单的按钮复制而来。
    • Bug修复
      修复以下两个Bug:
    1. 时间耗尽和角色死亡所显示的文字均为“Time IS Out”的问题
    2. 角色死亡后选择重新开始,然后立即死亡的问题(ISDead变量未重置)
    • 加入敌人:箱子怪
      加入两种箱子怪:
    1. 黄色箱子怪,以固定速度水平或竖直往复移动,并把移动路径上的地面染成黄色。
    2. 黑色箱子怪:拥有黄色箱子怪的所有属性,但可以发射子弹,子弹和箱子本身都会把地面染成黑色。
    • 修复黑色箱子怪不能发射子弹的Bug
      要取消Cinemachine层和其他一切层的碰撞!否则会出现这种子弹刚发射就碰撞而销毁的Bug,这是一个调试了两个小时的教训
    • 实现实习项目的所有基本要求!
      实现在敌人墨水中减速和扣血。至此,所有基本要素均已完成!
    • 修复重新加载场景时人物分数没有清零的Bug
      之前为了图方便,把TileMapController的三种Score设置成了静态的,现在出Bug了
    • 修复由于修复上一个Bug而导致的Bug
      把Static去掉后由于多个TilemapController无法共享分数而导致玩家分数一直显示为零。所以把Static又加上了。然后在Start方法中加上初始化分数的代码,现在彻底解决问题了。
  • 10/4 由于满课,故无新进度
  • 10/5
    • 实现初步联机功能
      刚申请了Photon中国的联机服务,还未收到审核邮件,故暂时使用Photon的国际服务器。目前已实现NetworkManager脚本的基本功能(创建与加入房间、实例化玩家、cinemachine实时跟随自己控制的玩家)和联网玩家预制件的制作。经测试,已经可以联机游玩了。下一步是创建联机对战场景和相关游戏机制(得分机制和获胜机制等。)
  • 10/6
    • 实现联网对战功能!!!
      现在可以和小伙伴联网对战了!在主菜单选择“MultiPlayer”即可进入联网对战模式。目前只支持1v1模式,在规定时间内率先达到目标分数或击败对手或在倒计时结束后分数高于对手即可获胜。
    • 终于!解决了一个史诗级Bug!!!
      联机模式一直无法同步两个玩家的分数和颜色,导致一直显示对方分数为零并且无法看到对方已经染色的区域。后来通过数十次的尝试,反复搞了一整天,终于通过Photon的RPC解决了这个Bug。现在联机模式终于可以正常游玩了
      至此,加加分项完成
    • Bug修复
      修复联机模式敌人掉血时自己也同时掉血的Bug
    • Bug修复
      修复联机模式下玩家不能互相伤害的Bug
    • 为Readme文件加入图片
    • Update README.md
    • Update README.md
    • 为Readme文件加入图片
    • Update README.md
    • 精心改善单人模式第二关的地图
    • Bug修复
  • 10/7
    • 加入主菜单背景音乐和发射子弹音效
      加入主菜单背景音乐和发射子弹音效。至此,项目开发阶段圆满结束!

About

A practice project for Bingyan

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages