Giter Site home page Giter Site logo

dynode's Introduction

DyNode 0.1.13.4

Yet another Dynamix charting tool.




Guide 指南 | Homepage 主页



Contributors

感谢以下帮助并支持本项目的人们。

NordLandeW
NordLandeW

📆 💻
jmakxd
jmakxd

🤔
iam6668
iam6668

🤔 ⚠️ 🐛


License

Most of the art assets used by DyNode are from the game Dynamix, produced by C4Cat Entertainment Limited.

DyNode is licensed under the MIT License.

DyNode 使用的大多数美术资源来自游戏 Dynamix ,由 C4Cat Entertainment Limited 制作。

DyNode 以 MIT 许可协议进行许可。


DyNode uses codes from the following projects.

Scribble (under MIT License) Copyright (c) 2022 @jujuadams

Clean Shapes (under MIT License) Copyright (c) 2020 Juju Adams

SNAP (under MIT License) Copyright (c) 2020 Juju Adams

JSON (under MIT License) Copyright © 2013-2022 Niels Lohmann

delaunator-cpp (under MIT License) Copyright (c) 2018 Volodymyr Bilonenko

FMODGMS (under BSD 2-Clause "Simplified" License) Copyright (c) 2016-2017, M.S.T.O.P.


DyNode uses assets & designs from the following projects.

Dynamaker-modifed (under MIT License) Copyright (c) 2021 jmakxd

Dynamaker (under MIT License) Copyright (c) 2019 omegaPi

Dynamix produced by C4Cat Entertainment Limited

Arcaea produced by lowiro limited

dynode's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dynode's Issues

正侧面音符设置宽度分离与优化

在写谱的时候我们经常需要写侧边音符视觉长度上与正面音符相等的note,但因为宽高比不可能是1:1,所以实际上正面的1长度的note与侧面的1长度note视觉上长度差的比较大
所以方便起见,想着可不可以有两种模式,一个是视觉等长,一个是数值等长,或者说设置里自定义一个数值,在切换侧面时未放置note的长度是正面note长度乘以那个自定义数值,这样以后放置的时候对于一些配置不需要频繁切换

自定義快捷鍵

提議:可否實現讓用戶自定義快捷鍵?這是個比較小眾的需求,但相信會有人習慣在各大編輯器中使用同一套快捷鍵

设置或工具栏功能添加

如标题,随着功能增加,单一功能的多种编辑方式将意味着快捷键只能选择所有功能的其中一种常用编辑方式(当然不是绝对的),即使功能对应的编辑模式只有一个,大家也需要通过查阅文档的方式去学习,虽然说编辑器本身肯定要学的,但添加设置或工具栏这种可视化操作方便他人学习,当然也就方便操作了(毕竟不是所有人都用过,比如我开始就是拿dynode进行dynamix谱面制作)
由于目前2.0任务进度较多,目前该建议可试行方案是添加设置功能,在设置功能里对任一功能的多种编辑方式用列表的方式(即编写这个功能时用字典或列表,编辑器中默认为折叠状态)进行陈列,哪怕功能少因为有了对应功能描述和选项,这一切也一目了然,而且这样后面还能相对好维护一些,除非能确保该功能是二元的且无法量化,不然不建议用bool值进行选择
当然,有余力可以弄两级甚至更多级设置,这样也方便添加署名,版本号之类的,大家也能从文件本身就看出目前编辑器的情况,顺带着可以的话也避免了版权纠纷之类的麻烦

功能意见参考(系列)1

参考主题
这个算主题优化吧,与前一个建议的图片对比,毕竟是编辑器,官方这边hold的边(?)没有原作及这个编辑器这样粗,边弄得很细可以确保判定时看的清楚些,不至于每次都要回到编辑器模式点开note看判定时间,毕竟编辑模式不需要像预览模式一样看播出效果
2.
如前面所说,其实不仅仅是边的事,还有特效,这边并没有看到特效大小的设置,piano主题也只是把特效变淡了,但这边不建议快捷键(太多了),建议如6条
3.
想法来自re:phiedit,既然支持特殊的节奏拍号,可不可以选择用1/x的方式,对x进行逐步增加,当然因为大部分歌曲还是常规的拍号,所以现在这个拍号选择方案也可以保留,可一个就是两种方案依旧用快捷键很麻烦,建议依旧如6条,还有一个是对于节拍线的显示并不友好。。。还请作者大大加油,这个意见想着是能更好包容更多(令谱师吐血的)歌曲
4.
关于判定显示,比起特效,个人认为有一个更好的方案,那就是对应位置显示对立颜色相等长度的较粗的线(类比于deemo),比如Note (Tap)判定时消失的那一帧里显示对应位置相等长度的对立色(白色),Chain (Slide)则是绿色(红色的对立色),对于hold则是首判蓝色,中间用紫色,结尾蓝色淡出,至于所有note淡出时间,建议是尽可能短但肉眼可察觉到,时间倒退时对于刚判定的note要考虑是否显示淡出动画,当然这个有些画蛇添足,算是视觉优化,更方便看到判定时间罢了
5.
对于节拍线和对应时间的操作,来回总是用ad键进行调整来达到对应节拍线接近判定线的目的,这个可以考虑一下是否固定一下节拍线在判定线前,这个还是有些画蛇添足,仅作参考吧
6.
由于制谱器功能的增加,哪怕以上功能都不添加,制谱器也不能仅靠快捷键实现一系列功能,个人认为一定要有个设置选项,可以考虑工具栏(打开与否可以放在设置里),由于对于各种功能的多种编辑方式的增加,可以在设置里选择需要的对应功能编辑模式,这里建议为以后的扩展和优化,选择用列表或字典的方式进行编写(说白了编辑模式的选择在设置里以列表方式展开),用bool值不太好,诸如上面种种功能放在设置里最好

正值高三学业,至少这一年我真的没法帮忙(况且编程只是入个皮毛),以上是我在使用编辑器时的一点拙见,后续还会提意见,若有考虑不周或冒犯,还请指正并见谅QAQ

双hold首判重合优先级显示问题

音符优先级
如图所示,按理来讲下面的音符应该和上面音符一样比背景hold音符优先展示,但不管背景hold与下面hold的放置顺序都会有这个问题,望调查并改正

0.1.0 Roadmap

DyNode 0.1.0 版本的开发路线。

旨在还原、修复与增强 Dynamaker 的操作逻辑。

Basics & Play

  • 谱面导入、预览与播放
  • 基本粒子效果
  • #2
  • 基本动画
  • 回放速度调整 d6be00a
    • 音调也被改变了... fmod似乎没有支持不变调变速的方法?
  • 回放模式
    • 适于录制公开的模式

UI

  • 谱面数据统计
  • 初始新建工程页面

Editor

  • #4
    • 可变段节拍
    • BPM计算节拍线(变BPM谱面)
  • Note 数据显示
    • 支持 Bar 显示
  • #3
  • Note 放置
  • 单项选择、移动与三面编辑切换
  • 谱面导出
    • XML 格式 7767a74
      • 自定义全局 Bar Per Minute 与 Offset
    • DyN 格式
  • 谱面导入
    • xml
  • 批量选择、移动
    • 复制、剪切、粘贴
    • 镜像
    • 设置宽度
  • 方向键微调
  • 纵向网格线
    • 可变密度
  • 撤销 & 还原
  • 网格吸附
    • 纵向
    • 横向
  • 工程管理
  • Timing Points 编辑
  • 自动保存

編輯從DynaMaker導入的譜面會導致部分音符離奇消失

詳情:
從DynaMaker Modified(多個版本)導入譜面,此時譜面完整且沒有任何問題,經過對後半部分譜面一段時間的編輯(包括批量修改和批量刪除),回到前面,發現有一段音符遭到刪除(是某一段集體消失,不是隨機抽取幾個消失),而且不知道是何時發生的。在多個DyNode版本及多張導入的譜面均出現過此問題。

復現:
觀察不到這個行為有什麼pattern,較難復現。我會試著在下次出現這個問題時不斷ctrl+z看看是哪一步出的bug,如果有發現的話進一步反饋。

平台:
Windows 11
最新版本0.1.10,或之前的版本

新建项目时标题未被正确绘制

标题在新建项目时绘制缺失的字体会显示问号

在0.1.6时修改了字库与绘制策略,改了播放界面的标题结果忘记改新建项目的标题了...

节拍线 / Timing

  • 正面节拍线
  • 正面节拍网格吸附
  • 侧面节拍线
  • 侧面节拍网格吸附

添加右键栏

  • UI 适配
  • 音量调节
  • 编辑侧切换
  • 谱面信息调整

优化Hold的显示效果

bug反馈1
bug反馈2
如图所示,对于这种hold尾部与下一个hold首判的地方,如第二张图所示在判定线(非常)接近第二个hold首判的位置,第一个hold的尾部按理来讲更短的长度却保留编辑器模式hold可接受最短长度,虽然说当第二个hold首判开始判定时第一个hold会消失,但依旧观感不好(就好像突然消失的一样)。
这个我实在想不出来怎么优化,加油QAQ

音符属性恒定显示

可以的话在note上加上combo数,如果是多压则显示多个,方便看到异面同时落的note,可以的话设个快捷键
作者辛苦了,人在抄谱,把一些我能想到的功能给你提一下

简化模式主题

参考主题
编辑器主题
边弄得偏细(如上图)可以确保判定时看的清楚些,毕竟编辑模式不需要像预览模式一样看播出效果,在编辑模式下hold首判与判定线更贴合一些在编辑时观感会更好一些,可以考虑在这个主题下将hold首判与尾部的描线粗细度设置成hold左右两边的粗细度,让hold看起来是个矩形
演示

批量生成常有配置

如题,由于dynamix中楼梯交互配置出现频率相当高,无论是官谱编辑模式还是现有编辑模式都需要快速生成,哪怕是不规则楼梯交互也可通过快速批量生成再调整节约时间
目前2.0任务多,可以先考虑楼梯和交互,后续可以根据动画曲线或需要加上蛇、三面三押等配置,配置的参数可以考虑斜率,数量,x分音符

多分辨率支持和窗口模式

如题,目前只能全屏使用一种分辨率进行操作,并且除了快捷键外没有别的方式切出窗口查看其他画面,对于编辑来说不是很方便
所以希望添加更多的常用分辨率以及在常规分辨率下等比例窗口大小的窗口显示

Background video playback support

Gamemaker's native video playback functions have too many problems.
There is a branch related to the failed deployment, and I probably won't continue to work on it.

编辑模式增加(超前开发计划)

现有的编辑模式依旧像dynamaker一样不是很方便,例如在正常降落速度下观看的谱面内容量较小,频繁切换正面侧面带来的不必要的工作量增加等
对此本人参考了其他游戏的非官方制谱器,个人认为可以仿照出一个不错的编辑方案,便是三个面分为三个部分进行编辑,要写侧面的时候换界面就好,剩下的可以照常,具体方案如图(不好轻喷QAQ)
新编辑模式草图
仅供参考,不合适可以关闭

正面不写note时会导致导出谱面无法读取

在正面不写note时导出的xml文件是这样的形式

<m_notes>
	<m_notes>
		<CMapNoteAsset></CMapNoteAsset>
	</m_notes>
</m_notes>
<m_notesLeft>
……

导入炸药后会报错Load XML Failed: Object reference not set to an instance of an object
实测手动删除空CMapNoteAsset项即可正常读取

<m_notes>
	<m_notes>
	</m_notes>
</m_notes>
<m_notesLeft>
……

特殊的节奏拍号功能

支持特殊的节奏拍号,对于任意1/x拍号,x可以选为任意数字(当然要设个上限,个人认为50最好),当然因为大部分歌曲还是常规的拍号,所以现在这个拍号选择方案也可保留,这个功能建议是想用来支持更多非常规拍号的歌曲(比如LeaF的彁,还有arcaea的testify等,有各种刁难的5分音,22分,32分)

0.2.0 Roadmap

UI

  • UI 布局重构
    • 添加设置页面
    • 添加类似 Dynamaker 的右键选单

Playback

  • 左右侧闪烁提示
  • 暂停横幅
  • Full Combo 动画
  • 进入回放模式的动画
  • #41

Editor

  • 批量选择时间段所有Note
  • #44
  • 批量移动/修改Hold末尾
  • 撤销/还原优化
  • 多难度管理
  • 官谱编辑模式

Themes

  • 经典 Dynamix 主题
    • 标题半透明化
    • 更加合适的 Hold 动画
    • 背景 glow 动画曲线修改 & 透明度增大
    • 默认白色背景
    • 更细的判定线
    • 更加还原的粒子效果
    • 更加线性的Combo动画
  • Dynamite 主题
  • #61

Localization

  • 本地化/多语言支持

Miscs

  • 一键导出背景图 & 难度设置图片
  • Input 重构
  • #35
  • 对侧面能放置的音符类型施加限制
  • 快捷键速查表 etc

Performance

  • Deactivate 不被画面包含的 Note (0.1.0)
  • 加速谱面导入导出速度
    • osz 导入重构
    • xml 导入重构
    • xml 导出重构

待讨论的内容。

  • 接管节拍线处理
  • Note 拖拽、放置和删除优化

编辑模式特效区分和优化(?)

关于编辑模式下3种note的判定效果,个人认为有一个更好的方案,那就是进行区分并以对比色进行显示,而不是像预览模式一样Note (Tap)和Chain (Slide)有一样的判定效果
说具体就是对应位置显示对立颜色相等长度的较粗的线(类比于deemo或去掉特效的dynamix),比如Note (Tap)判定时消失的那一帧里显示对应位置相等长度的对立色(白色),Chain (Slide)则是绿色(红色的对立色),对于hold则是首判蓝色然后渐变到紫色,中间用紫色,结尾紫色变蓝色淡出,至于所有note淡出时间,可以选择一拍或者两拍,调整时间线时对于已经判定完的note显示淡出动画,着重强调是否有刚判定完的note以及hold属于首判刚判定完的状态还是已经在中间了,因为显示问题,对于第二张图来讲如果去掉特效我们不调整时间线的情况下是没法知道属于刚判定还是已经在判定了
编辑模式note特效
参考主题

这个仅供参考,想出这个主意是因为在编辑的时候有时候对于刚判定完的note和slide显示完就没了,在编辑模式不播放时也没有淡出动画(的那些帧)表演出来,在排键的时候容易错看导致错看键型进行错误的排键或是反复按ad键,这个可以考虑放在简化模式,毕竟简化模式算是专门为写谱弄的
当然,目前这样用官方主题也不是问题,而且这个功能目前没有必要,有需要的话可以放后面的开发计划里,如果实在是没需要的话直接close就好,让后面人可以参考

音符属性请求添加

(灵感来自re:phiedit)
求添加拍号属性,如对于第33小节第3个五分音的note表示为(33)3/5
对于任意拍子的第2个四分音(x)2/4由于可以简化为(x)1/2,因此可以给使用者是否简化的选项,不能简化时(比如2分拍时有四分音符)则保留,配合时间吸附功能,方便采音

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.