Giter Site home page Giter Site logo

thatgamesquad's People

Watchers

 avatar  avatar  avatar  avatar

thatgamesquad's Issues

主体策划文案

#游戏画布尺寸
建议4:3,游戏大部分展示时间都在第一、第二阶段,横屏模式

#操作方式
PC键盘,WASD

#分数栏
后期有时间再做
屏幕顶部**展示
@中立目标获得数量
格式:ICON + 当前阶段获得数量/当前阶段通关所需数量
每通关一个阶段,刷新该栏位
当前阶段获得数量,随相应事件触发变化
当前阶段通关所需数量,读取配置

@奖励目标获得数量
格式:ICON + 整个游戏获得总数


#Phase1
*场景视角
横版90度侧视

*关卡目标
获得X个游戏中立物体,具体数值游戏中调试
整个流程控制在20秒

*主角
@初始颜色
白色

@初始坐标
X轴 屏幕左侧,游戏中调试
Y轴 屏幕高度/2

@初始体积
游戏中调试
建议从第三阶段最终状态体积往后推
角色碰撞块范围随体积变化

@初始速度
X轴自动匀速向右,速度游戏中调试

@操作方式
W键:根据长按时间,角色沿Y轴向上移动(速度游戏中调试)
松开按键 或 移动到屏幕顶部边界后,自动回位到Y轴初始位置
(角色移动速度/回位速度 匀速 or 加速度? 建议加速度)

S键:根据长按时间,角色沿Y轴向下移动
松开按键 或 移动到屏幕底部边界后,自动回位到Y轴初始位置

@状态
普通状态
成长状态:与中立物体碰撞时,播放特定音效及特效(@super @eyez

*中立物体
@初始体积
同主角初始体积

@类型
普通类型
碰撞事件
主角每碰撞一个中立物体,关卡目标数+1

@生成规则
频率:EYEZ根据音乐节拍生成每个批次

数量:每次随机X~XX,具体数值游戏中调试

坐标:屏幕左右宽度外 + 物体直径3,上下高度内 - 物体直径3,随机
X轴/Y轴各设定一个间隔随机值,物体直径*随机(1~5)
同一批次实际坐标生成方式:
获取批次随机生成个数
获取X轴/Y轴 随机间隔距离
第一个物体,屏幕外生成
第二个物体,屏幕外生成
绝对值(X轴坐标 - 上一个物体X轴坐标) > X轴间隔距随机值
&绝对值(Y轴坐标 - 上一个物体Y轴坐标) > Y轴间隔距随机值
生成第二物体坐标
绝对值(X轴坐标 - 上一个物体X轴坐标) < X轴间隔距随机值
|绝对值(Y轴坐标 - 上一个物体Y轴坐标) < Y轴间隔距随机值
重新生成随机坐标
第三个物体,屏幕外生成
同第二个物体比较,以此类推

速度:角色当前速度,随机浮动快慢20%

方向:X坐标 < 0 向右
X坐标 > 屏幕长度 向左

?以上方式虽然是按EYEZ音乐节奏生成,但是物体是生成在屏幕之外,再进入屏幕中
所以可能出现在屏幕的时机和节奏对不上
方案一:将生成范围改为屏幕内某区域
方案二:坐标X轴固定靠近屏幕边缘,生成后能马上进入屏幕
缺点:如果一次生成多个,由于物体X轴相同,进场时竖直方向排列会比较整齐,缺乏随机性,影响美观
所以使用方案二时,音乐节奏快慢是关键
节奏快的话,一次生成一个,马上进入屏幕,不会有影响


#Phase2
*场景视角
横版90度侧视

*关卡目标
获得X个游戏中立物体,具体数值游戏中调试
整个流程控制在90~120秒

*主角
@初始颜色
白色

@初始坐标
同第一阶段
主角速度达到XX时,移动到屏幕正**
达到XX时,移动到屏幕**偏右侧
位置随速度变化而变化

@初始体积
同第一阶段

@初始速度
同第一阶段

@操作方式
同第一阶段

@状态
普通状态

成长状态:与中立物体碰撞时,播放特定音效及增加拖尾特效(@super @eyez
之后每次成长,都增加拖尾长度
建议先确认物体拖尾最大长度,然后除以通关所需获取中立物体数量,为每次成长时物体拖尾增加长度

进化状态:与奖励物体碰撞时,播放特定音效、进化特效及增加拖尾数量
拖尾颜色与获得奖励物体颜色相同
主角有多条拖尾进化时,所有拖尾长度增加

*中立物体
@初始体积
同主角初始体积

@类型
普通类型
碰撞事件
主角每碰撞一个中立物体,关卡目标数+1
主角速度增加XX,数值游戏中调试

加速
碰撞事件
主角速度增加当前速度的50%,持续3秒
重复触发加速事件时,持续时间重置,速度不再增加

颜色
红色
碰撞事件
主角变成红色,持续3秒
重复触发事件时,持续时间重置

 黄色
同上,变为黄色

 蓝色
同上,变为蓝色     

奖励
红色
碰撞事件
与红色的主角碰撞时,进入进化状态
与其他颜色主角碰撞时,如果拖尾数量大于等于2,则减少最近获得的一条拖尾
播放debuff特效和音效(后期有空再做)

 黄色
碰撞事件
  与黄色的主角碰撞时,进入进化状态
  与其他颜色主角碰撞时,如果拖尾数量大于等于2,则减少最近获得的一条拖尾

 蓝色
碰撞事件
  与蓝色的主角碰撞时,进入进化状态
  与其他颜色主角碰撞时,如果拖尾数量大于等于2,则减少最近获得的一条拖尾

@生成规则
频率:同第一阶段

数量:每次随机X~XX,适当增加,数值与第一阶段区分

坐标:同第一阶段

速度:角色当前速度,随机浮动快慢50%

方向:同第一阶段

类型:
根据概率随机生成
一级分类:
普通/功能(加速/颜色)/奖励
概率分别为70%/20%/10%

	二级分类:
   	    功能 - 加速/颜色
            概率分别为50%/50%

    奖励 - 红/黄/蓝
        概率各三分之一

    三级分类:
        功能 - 颜色 - 红/黄/蓝
        概率各三分之一

 生成规则同第一阶段

#Phase3
*场景视角
镜头1:
从侧视移动到主角身后远距离俯视
屏幕上下方出现黑幕
此时角色无法操作

镜头2:
   从远距离俯视拉到近距离俯视

镜头3:
   从近距离俯视拉到远距离俯视
   屏幕上下方出现黑幕
       此时角色无法操作

镜头4:
   从远距离俯视拉到超远距离俯视
   展示游戏ENDING画面
   屏幕上下方出现黑幕
       此时角色无法操作

*关卡目标
获得X个游戏中立物体,具体数值游戏中调试
整个流程分为两部分
前部分控制在30秒,后部分控制在20秒

*主角
@初始颜色
继承第二阶段

@初始坐标
Z轴**
X轴底部

@初始体积
继承第二阶段

@初始速度
继承第二阶段

@操作方式
W键:根据长按时间,角色沿X轴向上移动
松开按键 或 移动到屏幕顶部边界后,自动回位到X轴初始位置

A键:根据长按时间,角色沿Z轴向左移动
松开按键 或 移动到屏幕左侧边界后,自动回位到Z轴初始位置

D键:根据长按时间,角色沿Z轴向右移动
松开按键 或 移动到屏幕右侧边界后,自动回位到Z轴初始位置

@状态
普通状态

成长状态:与中立物体碰撞时,播放特定音效及增加主角体积

进化状态:与奖励物体碰撞时,播放特定音效、进化特效及增加?

*中立物体
@初始体积
同主角初始体积

@类型
普通类型
碰撞事件
主角每碰撞一个中立物体,关卡目标数+1
主角体积增加XX,数值游戏中调试

加速
同第二阶段

颜色
同第二阶段

奖励
红色
碰撞事件
与红色的主角碰撞时,进入进化状态
与其他颜色主角碰撞时?

 黄色
碰撞事件
  与黄色的主角碰撞时,进入进化状态
  同上

 蓝色
碰撞事件
  与蓝色的主角碰撞时,进入进化状态
  同上

@生成规则
频率:同第一阶段

数量:每次随机X~XX,适当增加,数值与第二阶段区分

坐标:增加Z轴维度,同第一阶段
坐标:屏幕左右宽度外 + 物体直径3,上下高度内 - 物体直径3,随机
X轴/Z轴 各设定一个间隔随机值,物体直径*随机(1~5) Y轴是否统一设为0?
同一批次实际坐标生成方式:
获取批次随机生成个数
获取X轴/Z轴 随机间隔距离
第一个物体,屏幕外生成
第二个物体,屏幕外生成
绝对值(X轴坐标 - 上一个物体X轴坐标) > X轴间隔距随机值
&绝对值(Z轴坐标 - 上一个物体Z轴坐标) > Z轴间隔距随机值
生成第二物体坐标
绝对值(X轴坐标 - 上一个物体X轴坐标) < X轴间隔距随机值
|绝对值(Z轴坐标 - 上一个物体Z轴坐标) < Z轴间隔距随机值
重新生成随机坐标
第三个物体,屏幕外生成
同第二个物体比较,以此类推

速度:角色当前速度,随机浮动快慢50%

方向:X坐标 < 0 向上
X坐标 > 屏幕长度 向下

类型:
同第二阶段

Git配置相关

git clone [email protected]:/Users/youchun.lyc/Devel/Jay7nPersonal/ThatGameSquad tgs`

tgs 可替换成你本地的目标工程名字

password: of19

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.