thatgamesquad's People
thatgamesquad's Issues
为【Phase3】场景设计音乐节奏与K出节奏点
为【Phase2】场景开发中立物体生成策略算法
Git配置相关
git clone [email protected]:/Users/youchun.lyc/Devel/Jay7nPersonal/ThatGameSquad tgs`
tgs
可替换成你本地的目标工程名字
password: of19
从【Phase1】到【Phase2】的转场中将相机从“正交”平滑过渡为“透视”
为【Phase2】场景开发/调节玩法逻辑
为【Phase3】场景选取搭配合适的粒子效果
调整玩家操控主角的移动手感,使其合理
为【Phase1】场景开发中立物体生成策略算法
开发场景切换条件的计分逻辑
为【Phase3】场景调节/预研涉及到的核心演出机制
特效分镜说明
调整【Phase1】场景碰撞策略
为【Phase2】场景选取搭配合适的粒子效果
将手动转场条件转换为根据逻辑切换的自动换场表现
为【Phase1】场景开发/调节玩法逻辑
主体策划文案
#游戏画布尺寸
建议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坐标 > 屏幕长度 向下
类型:
同第二阶段
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.