BMS를 쓰면서 '나 이런 점은 불편하더라' 하는 부분은 없으십니까?
2010.12.20 19:56
안녕하세요? BMSM.net 장기 유령 회원인 소프트케이(구.Sk2Life*, KSK361) 입니다.
방문이 없었는데도 아이디를 지우지 않은 것에 대해서 운영자님께 엄청난 감사를 표합니다.
그렇게 오랫동안 공백을 하면서 이 글을 쓰는 이유는,
본인이 새로운 리듬게임 스크립트를 제작하고자 함이며,
이 스크립트는 BMS보다 더 좋은 기능으로써 무료로 공개할 목적으로 제작하고 있습니다.
-
최근들어 BMS가 한층 빛을 발하는 것 같아 보입니다만,
저는 BMS에 대해서 조금은 아쉽게 생각하는 부분들이 몇가지 있어서,
한번 기능 완전 개편을 해보자 하는 생각에서 이렇게 한번 적어봅니다.
1. 스크립트에 있어서...
ㄱ. 5키+SC(BMS, 더블 포함), 7키+SC(BME, 더블포함), 9키(PMS) 말고도 여러개 키 수를 만들 수 있었으면 좋겠다.
ㄴ. 컴퓨터 펌프 같은 게임처럼 배 여러가지 설정이 가능했으면 좋겠다.
ㄷ. 주관적인 난이도보다, 객관적인 난이도로써 평가 방법이 있었으면 좋겠습니다.
2. BGA에 있어서...
ㄱ. 왜 크기가 256*256 아니면 안돼?
ㄴ. 2중 레이어의 한계. 여러개는 못하나요...ㅠ
여러분이 생각하기에 BMS에 대해서 무언가 개선하고 싶은 것이 있다면 한번 적어보는 것이 어떨까 합니다.
BMS를 까는 것이 아니라, BMS의 기능 부족을 해결하고, 또, 담고싶은 기능이 있다면 기능 확장을 통해서,
새 스크립트를 쓰는데에 어떤 점도 불만이 없으면 하는 생각에서 이렇게 작성하고, 개발하려고 합니다.
직접 BMS를 제작/디자인 하시는분들이신 만큼, 넣고싶은 기능들이나, 아니면 불편한 것들에 대해서도 듣고 싶습니다.
부디 댓글을 부탁드립니다. >_< /
소프트케이 김석규 softk@live.co.kr
---------------------
저희 프로젝트명은 "Music-X 프로젝트"라고 하며, 완전자유화를 위한 스크립트/게임을 개발하고자 합니다.
관심있으시다면 http://softk.iptime.org:8088/xe/musicx/ 로 오시면 되겠습니다.
댓글 5
-
soft_K
2010.12.28 10:35
의견 감사합니다.
제시해주신 8가지 내용에 대한 각각의 답변을 달아보았습니다.
1. 배포판 권한 설정에 있어서는,
차후에 "뮤직X마켓"이라는 마켓서비스를 제공할 예정이어서 안그래도 저작권을 충분히 지킬 수 있는 방법을 고려하고 있습니다.
2. 파일 패키징은 아무래도 가능한 빨리 도입을 하여야 좋을 것 같군요.
3. 새로 만들어낼 스크립트가 제시해주신 의견대로 만들어질 예정입니다.
이렇게 하게 되면 기본적인 패턴이 뭉개지는 현상이 줄고, 원하는 갖가지 효과를 내는 데에 큰 역할을 할 수 있다고 생각되기 때문입니다.
4. 각종 사운드 기술에 대해서도 같이 채택할 예정입니다.
작곡에 관한 이야기를 해보니, ADSR, Limiter 등 여러가지 이야기가 많더군요.
모든것을 담을 수는 없지만, 그래도 차근차근 하나둘씩 다 설정할 수 있도록 할 것입니다.
5. 패키징화 부분도 있고 하니 잘 참고하도록 하겠습니다.
6. 이부분은 조금 더 공부를 해봐야 알겠지만, 싱크밀림을 위해서라도 제대로 체크해 보겠습니다.
7. 당연히 보면서 작업해야 좀 더 정확한 작업을 할 수 있겠죠? 제가 에디트를 만들 때에는 작업대와,
각각마다 노트 스크린 뷰를 볼 수 있도록(가능하다면 여러개 노트 형식을 한꺼번에) 할 예정입니다.
8. 편집에 있어서 거의 Adobe Flash에서 사용되는 각종 액션 같은 것을 담을 수 있도록 하고자 합니다.
레이어 수에 제한을 없애고, 알파나 색상적 튜닝에 대해서도 전부 고려할 생각입니다.
혹시나 "나 이런 형식으로 디자인 하고싶다!" 하시는 부분이 있다면 언제든지 말씀하여 주십시오.
저희가 최대한 고려하여 구현이 가능하도록 하겠습니다.
-
의견을 전부 수리하였으며, 차후 이 부분이 가능한 채택되어 실행될 수 있도록 하겠습니다. 감사합니다. ^^
-
prismatic
2011.01.08 05:11
모군님께서 거의 다 말씀해 주셨네요...... 뭐 개인적인 생각을 약간 더 추가해 보면
기존 BMS 패키징 같은 거랑 패키징 최적화...
웨이브 슬라이스는 타임라인 정리하게 되면 적용하기 쉬워 보이구요.
스크립트는 굳이 고생하실 것 없이 Lua 같은 걸 끌어오시면 괜찮을 것 같네요.
LR2가 무슨 기반인지 잘 모르겠는데 LR2에 상관없이 Lua 좋죠.
그리고 BGA 256x256 픽스는 좀 사라졌으면 좋겠습니다.
파라미터 설정 명령을 둬서 곡 중간에도 바꿀 수 있으면 좋겠네요.
해서 BGA 가로 세로를 처음에 얼마로 설정했다가 뭐 중간에 바꿀 수도 있고 그런 식으로...
그리고 병렬화까지는 아니더라도 같은 타임라인 내에서 명령이 다중으로 수행될 수 있으면 좋구요.
-
soft_K
2011.01.26 00:35
BMS의 패키지화, 웨이브 슬라이스에 대해서는 이미 체크하고 있습니다. 감사합니다. ^^
스크립트는, 구조화를 좀 더 살펴봐야 할 것 같습니다.
BMS와 비슷하게 자체 스크립트를 사용할 예정이기 때문에,
어떤 것을 보정하면 좋을지, 어떤 것을 넣으면 더 재미있을지를 연구하고 있습니다.
LR2는 루나틱레이브2, 일본 최고의 BMS프로그램입니다. 언어가 아닙니다.
BGA의 256*256px 제한은 필히 없애고, 완전한 FREE 사이즈, 가능한 FLASH 기능 비슷하게 담을 예정입니다.
상상이라면 초와이드 화면(48:9, 아이피니티/서라운드비전 기술을 사용한 모니터 화면비)을 사용해보고 싶네요.
명령어 역시 생각해 둔 바가 많지만, 이를 전부 구현할 수 있도록 하기 위해, 열심히 구성하고 있습니다.
다시한번 감사합니다. ^^
또, 차후에, "아! 이런 것도 넣어주시면 더 재미있을것 같아요!(또는 더 좋을 것 같아요!)"하는 부분이 있다면
얼마든지 댓글로, 또는 사이트 홈페이지에 글을 작성하여 주세요.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 5 | BA에 에이징은 유효할까요? [1] | prismatic | 2012.02.22 | 8 |
| 4 |
볼륨 전쟁
[2] | ![]() ![]() | 2011.01.15 | 2895 |
| 3 | 케이블 튜닝에 대해 어떻게 생각하십니까? [5] | ![]() ![]() | 2010.09.28 | 3441 |
| » | BMS를 쓰면서 '나 이런 점은 불편하더라' 하는 부분은 없으십니까? [5] | soft_K | 2010.12.20 | 4207 |
| 1 | 음악 게임에서의 지연시간(latency) 문제 해결 [3] | ![]() ![]() | 2010.03.24 | 5089 |






Powered by XE
기술적인 한계는 염두에 두지 않고 씁니다.
PDF문서처럼 파일에 권한을 부여할 수 있게 만드는 것입니다. 완전한 오픈소스 형태도 장점일 수 있지만...무단수정을 원하지 않는 제작자도 많이 있습니다. 가능하면 여러 단계의 권한 지정이 가능한 편이 좋겠습니다. 완전공개/읽기전용(수정된 사본 저장불가)/플레이 전용(에디터로 로드 불가)/일부수정가능(노트 배치 등만)...
구현을 위해서는 현재의 텍스트 데이터 기반에서 암호화된 바이너리 기반으로 전환이 필요하겠지요.
대용량 스토리지에서는 NTFS라고 해도 최저 클러스터가 4K이상이고 FAT에서는 512K에 달합니다.
wav파일을 버리고 압축 사운드 데이터를 채용하면 512K이하의 데이터가 아주 많아지기 때문에 스토리지 입장에서는 작은 파일이 아주 많아지는건 별로 바람직한 일이 아닙니다. 한곡=파일 한개로 구성되면 관리하기 편하다는 이점도 생깁니다.
현재 BMS는 한번 플레이하면 해당 BMS폴더내에 플레이어가 사용하는 데이터파일이 생성되는 경우가 많습니다. 대개는 스코어파일인데 이때문에 배포판BMS에 남의 스코어파일이 섞여들어가는 경우가 상당히 많습니다. 배포를 위한 파일만 덩어리로 만들어두면 이런 문제가 생기지 않습니다.
이 파일 패키징은 1번 기능을 더 확실히 구현하는데에도 목적이 있습니다. 사실 스크립트만 암호화해서는 별 의미가 없기 때문이죠...
샘플을 그룹으로 지정하는 기능은 물론이고 이벤트를 그룹으로 지정하여 편집이 쉽도록 하는 겁니다.
현재 BMS는 텍스트로는 거의 암호에 가까울 정도로 복잡하고 에디터를 쓴다고 해도 곡이 어떤 식으로 진행되는지 한눈에 알기 힘듭니다. 에디터에서 그룹을 직관적인 그래픽으로 표현할 필요가 있습니다. 각 그룹에는 라벨을 표시해 어떤 파트인지 표시를 하는 기능도 필요합니다. 또한 현행 에디터는 이벤트를 시작지점만 표현하지만 실제로는 한 이벤트가 차지하는 길이(재생구간)가 상당한 경우가 많기 때문에 이를 그래픽적으로 표현할 수 있고 거기에 가능하면 이벤트나 그룹을 웨이브 파형으로 표시한다면 더욱 좋겠습니다.
라인단위가 아니고 채널단위로 구분해서 채널 내에 여러라인이 정의될 수 있도록 하는 것도 좋겠지요.
에디터에서 채널별 뮤트/싱글 기능을 사용할 수 있으면 편집에 도움이 될겁니다.
복잡한 효과가 필요한 건 아닙니다만 샘플별 볼륨 지정이나 fade out/in 같은 기능은 필요합니다.
BMS로는 볼륨에 변화가 생길 경우 일일히 다른 볼륨의 샘플을 만들어야 합니다.
한가지 샘플을 볼륨을 바꾸어 여러 이벤트에 사용가능하게 하거나
특정 그룹이나 전체 볼륨을 실시간으로 변화시키는 기능이 있으면 유용하겠습니다.
채널믹서 개념을 도입해서 채널별로 볼륨을 지정하고 좌우 fan값을 지정할 수 있으면 금상첨화!
현재 BMS는 무조건 이벤트 하나에 wav하나가 대응됩니다. 이벤트가 발생하면 거기에 해당하는 사운드가 처음부터 끝까지 재생됩니다. 긴 사운드를 일부 구간씩 컷하여 이벤트로 사용할 수 있게 되면 굳이 다수의 파일로 사운드를 쪼개는 작업을 하지 않아도 됩니다.
현재 BMS는 이벤트가 발생하는 타임라인을 BPM에 의존합니다. 그러나 wav파일의 재생 길이는 BPM이 아닌 시간단위이기 때문에 이벤트 발생 시점이 정확한 시간을 맞추지 못하면 음의 싱크가 틀어지는 현상이 발생합니다. 이벤트를 최소 틱(1ms)단위의 시간 기준으로 지정하는 편이 싱크를 맞추는데 확실할 것으로 생각됩니다. 물론 기존 방식보다 구현이 훨씬 어렵고 사양을 많이 탈 것으로 예상되므로....기존 방식의 데이터도 동시에 취급하는 편이 낫겠지요.
쉽게 말해 자유도를 높이자는 이야긴데...복잡한 이야기가 되어 실질적으로 프로그래밍이 가능한 수준까지 구현하기는 버겁겠습니다. 아무튼 자유도를 높이는데 초점이 있습니다. 좀 극단적으로 말하자면 유비트/테크니카/DMP3의 .2T같은 특수한 형태까지 모두 커버할 수 있게 만드는 것이 목표가 됩니다. 단지 사용 키수의 증감뿐만 아니라 에디터에서 스크립트의 형태를 직관적으로 볼 수 있도록 프로그래밍이 되면 좋겠지요.
사실 최근엔 아예 동영상으로 커버하고 있어서 높은 수준의 관점에서는 BGA에 있어 큰 걱정거리는 없습니다. 그러나 효율의 측면에서 본다면 제작하기 어려운 동영상보다는 간단히 그림파일로 때울 수 있는 쪽이 쓰기 편하기 때문에...높은 자유도를 가지는 BGA스크립트를 상당수 추가해야 하겠습니다. 특히 레이어를 현행보다 늘리는 것과 알파 렌더링은 꼭 필요한 기능 추가라고 할 수 있겠습니다.
초기 BMS는 BMS자체에 스플래시(플레어)효과를 직접 정의할 수 있었고 256x256보다 큰 그림 파일에서 일부 영역만 크롭하여 표시하는 기능 등 의외로 많은 명령어가 있었습니다만 별 쓸모가 없어서 현재에는 레이어 효과 빼고는 거의 쓰이지 않습니다. 실질적으로 필요한 명령어를 연구할 필요가 있습니다.