ipol-studio / cyanstars Goto Github PK
View Code? Open in Web Editor NEW中文虚拟歌手同人音游企划 Chinese Virtual Singer Fan-made Rhythm Game
Home Page: https://ipol-studio.github.io/CyanStars_Docs/
License: Apache License 2.0
中文虚拟歌手同人音游企划 Chinese Virtual Singer Fan-made Rhythm Game
Home Page: https://ipol-studio.github.io/CyanStars_Docs/
License: Apache License 2.0
test
Hold音符的尾判开始时间目前为StartTime(待核实),应当修改为以玩家命中音符后开始计算所需的按住时长,避免玩家晚按+全程按住而尾判出现Great的反直觉情况
理论上此现象在短Hold可能会更加明显
目前的Bad判定不会断Combo(待核实),应当改为断Combo且不给分
测试一下
统一为Debug.Log
Tap、Drag、Break按下显示:
[type]音符[grade],位置[pos],开始时间[st]
Click头判显示:
Click头判[grade],位置[pos],开始时间[st]
Click尾判显示:
Click尾判[grade],位置[pos],开始时间[st],按住时间[ht]
Hold头判显示:
Hold头判[grade],位置[pos],开始时间[st],结束时间[et]
Hold尾判显示:
Hold尾判[grade],位置[pos],开始时间[st],结束时间[et],按住时间[ht],按住比例[pe]
注意大小写
type:Tap、Hold、Click、Drag、Break
grade:Exact、Great、Right、Bad、Out、Miss
其他平台(请在下方完善)Other (Please improve below)
经过以下操作后...
After the following operations...
出现了这些问题...
These issues have arisen...
预期结果是这样...
The expected outcome is as follows...
Windows版与Android版均存在此问题
来自 3 条玩家反馈
按住 Hold note 后,应将音符截断在判定线位置上
估计要调很多次……但是挺重要的
基本的 gal 实现
framework :
scenes :
Commands :
按下一次ESC后呼出暂停界面,同时所有东西暂停
包含:继续、重开、退出按钮
其中继续和退出可以先不用做(需要更多方案)
对于任何Note,密度一大会导致部分Note打击音消失
详见[这个branch] 可能过期(https://github.com/CyanStarsDevelopmentGroup/CyanStars/tree/%E6%89%93%E5%87%BB%E9%9F%B3bug%E6%B5%8B%E8%AF%95)
使用测试谱+自动来看效果
发现大量资源文件的不规范命名、重复、冗杂,需要设定命名规范和分类规范,并加以优化
No response
如果可能,对视障玩家进行额外的适配(大坑)
Windows 11
**经过以下操作后...**
1. 11112222
2.
3.
**出现了这些问题...**
1. 111222
2. 2222333
3.
**预期结果是这样...**
1. 123
2.
3. 123
**有一些可能的解决方案...**
1.
2. 123123
3.
3
描述Bug
安卓版Bug: 按下 Key 后暂停,在暂停期间松开,继续游戏后 Key 仍一直判定为手指按下,并可以对 Note 进行判定
复现步骤
1、按下某个 Key
2、不松开 Key,暂停游戏
3、在暂停界面松开手指
4、继续游戏
5、Key 仍一直判定为手指按下,并可以对 Note 进行判定
预期表现
手指松开后 Key 判定为手指未按下
为音游添加结算 UI,以展示玩家得分、FC/AP 情况、Note 判定情况、玩家个性名片、启用的特殊玩法,并提供返回选曲和重开等功能。
依赖于:
感谢提出 Issue,请在提出 Issue 时注意以下事项:
Thank you for raising the Issue, please note the following when raising an Issue:
描述Bug
现在安卓平台上 Key 的行为是有轨的
具体:手指按在判定线上时并不是在手指位置出现 Key 并进行判定,而是手指按下的 “轨道”(虽然看不见)出现 Key 并判定
预期表现
手指按在判定线任何一个位置都应该直接在按下位置出现 Key 并进行判定
其他平台(请在下方完善)Other (Please improve below)
经过以下操作后...
After the following operations...
出现了这些问题...
These issues have arisen...
预期结果是这样...
The expected outcome is as follows...
使用设备
Redmi Note 11 Pro
Android 12
目前音游场景的轨道、背景、UI还欠缺一些效果
目前Note的打击效果(烟花)缺乏打击感
考虑把现在打击音符时的球形烟花替换成更加贴合note形状的打击特效?
或许可以先改成矩形试试?
#167 已合并,但仍有一些待处理的事项:
新场景需要能够在游戏内切换与加载。
新场景缺乏UI(Combo数、计分板、判定表示如Exact,不需要其他UI),UI同Dark场景。
当前Hold尾判时总时长(分母)是计算StartTime到EndTime时间差,这会导致短Hold大量掉分
请修改成玩家第一次按下按键到EndTime的时间差作为分母
要求打包的内容:谱面文件、粒子和边框特效、摄像头特效、歌词文件
出现了98ms延迟判为great的情况(本应该100ms以上),需要审查一下关于note判定的这部分代码
将放大后的Note模型应用到游戏内
这两个不应该计算误差,但是实际上计算了(同时计算了杂率),请在本月20号之前修复
边框闪烁的参数:
颜色
强度(边框大小)
模式(常隐/呼吸)
-常隐(闪一下,然后淡出):
-开始时间(或调用时获取)
-衰减系数(每秒减去的alpha百分比,下限0,无上限)
-是否循环
--循环:
--BPM(时间间隔=60/BPM)
--循环次数(int,>=2)
-呼吸(采用三角函数缓动计算alpha):
-偏移时间(float,可正可负)
-BPM
-循环次数
在 #83 中,添加了CameraTrackData
EffectTrackData
NoteTrackData
三个用于创建Track
的数据封装
这些 TrackData 是用于创建 Clip 的数据源,这是一个很不错的变化
我认为应该推动这一变化的标准化,将此类数据源统一使用 xxxTrackData进行封装,并修改相关参数的命名,必要时通过接口进行标识与约束
如果接受这一变化,我们当前需要修改这些
NoteTrack
的数据源: MusicGameData
-> NoteTrackData
LrcTrackData
AudioClip应该保持现状,PromptToneTrackData
需要再讨论
在不允许商用的前提下,应当采用何种License作为这个项目的补充?
目前我们支持两种输入方式,它们给游戏主模块提供数据的方式完全不一致
这让人有点懵,不容易找到对应实现,需要统一多种输入与游戏模块之间交互的方法,简化相关的结构
来自 1 条玩家反馈
在音乐开头增加额外留白时间,或添加预备拍,以便玩家进入游戏后反应
描述Bug
在安卓平台游玩时,若使用蓝牙耳机播放,会出现严重的 Note 运动卡顿(掉帧),附带正解音与背景音乐存在偏离。
背景音乐、打击特效、边框闪烁无异常。
补:在谱面播放时断开/链接蓝牙设备会导致直接暂停的异常。
系统环境
仅安卓复现
AutoMode时,Note在到达判定线之前一小段时间就被判定,发生于所有谱面。
添加了Log显示的Branch:https://github.com/Chen-Luan/CyanStars/tree/test
目前暂时确定的需求
玩家实力不同,需要设置不同的难度
-为提前按下,+为延后按下
严判 | 误差(ms) | 分数倍率 | 备注 |
---|---|---|---|
/ | ~-201 | / | 不判 |
Bad | -200~-101 | x0 | 断连 |
Great | -100~-41 | x0.75 | |
Exact | -40~+40 | x1 | |
Great | +41~+100 | x0.75 | |
Right | +101~+160 | x0.5 | |
Miss | +161~ | x0 | 断连 |
标判(目前) | 误差(ms) | 分数倍率 | 备注 |
---|---|---|---|
/ | ~-201 | / | 不判 |
Bad | -200~-141 | x0 | 断连 |
Great | -140~-81 | x0.75 | |
Exact | -80~+80 | x1 | |
Great | +81~+140 | x0.75 | |
Right | +141~+230 | x0.5 | |
Miss | +231~ | x0 | 断连 |
宽判 | 误差(ms) | 分数倍率 | 备注 |
---|---|---|---|
/ | ~-201 | / | 不判 |
Bad | -200~-181 | x0 | 断连 |
Great | -180~-121 | x0.75 | |
Exact | -120~+120 | x1 | |
Great | +121~+180 | x0.75 | |
Right | +181~+230 | x0.5 | |
Miss | +231~ | x0 | 断连 |
备忘
包含一张预览铺面
包含所有种类的音符
包含摄像头特效画面
音符种类说明(其中颜色为暂定)
蓝色Tap 到达判定线时按下按键
黄色Drag 在到达判定线前后一段时间内,若按键有按下状态,则判命中
绿色Hold 长按,开始时检测一次位置,结尾时计算按住的时间长度(百分比)来给分(类似maimai)
红色Click 短按,到达判定线时快速按下抬起,给高分,若长按则正常给分
粉色Break 仅位于倾斜轨道,用空格来接,类似于Tap,给高分
PV应当包含基础的玩法展示和少量画面特效
描述Bug
在击打第一个Note前,acc应为100%,黄色,而非现在的0%,蓝色
来自 2 条玩家反馈
建议添加键位调整功能,以适应不同长度的键盘和屏幕
依赖于
在目录规范化的基础上更进一步,让我们为代码添加一个namespace,并且使namespace匹配目录结构
形式类似CyanStars.Framework.Loggers
我知道当前的代码中,有部分已经有了namespace——比如Timeline,但是此处使用的namespace为CatTimeline
我们应该考虑将这些代码在一定程度上分离开来,并且考虑对于不是以项目名称作为namespace的代码视作外部依赖项,迁移到单独的目录中
对于被项目视作外部依赖项,但是目前仅在此代码库中的代码,如果足够通用,我们可以考虑在之后单独作为库,或作为从项目中抽离出的框架的一部分,托管在其他的仓库中进行发布
目前的Hold音符逻辑存在以下问题:
在Hold中间松开按键时,无论还有多少key被按住,均会判定为Hold离手。
期望的效果为:
在Hold头判之后,只要在HoldNote判定范围内有Key处于按下状态,则该Hold视为被按住的情况
内容未确定
允许速度为负值或0
对于负值,音符将在玩家视角后方生成并倒流至判定线
对于0,音符将在进入BPM时轴时在判定线上生成并准点判定
有相关问题可评论
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.