안녕하세요. 이번 시간에는 OpenBOR엔진 가이드를 포스팅을 시작하겠습니다. 눈치채셨겠지만 OpenBOR엔진은 소프트웨어 기반이 아닌 오픈소스 개념의 개발 엔진입니다. 따라서 개발자는 일부 정해진 .txt 파일과 .c의 스크립트 파일을 생성하고 포토샵이나 기타 픽셀 에디터들을 활용하여 png 및 gif 파일을 제작하여 연동을 시켜줍니다.
혹시 아직 OpenBOR엔진을 다운로드 받지 못하신분은 OpenBOR엔진 소개 및 다운로드 이쪽으로 이동하시면 다운로드 받으실 수 있습니다.
OpenBOR엔진 설정
캐릭터 에디팅은 visual code, sublime text, notepad ++등등으로 에디팅을 하지만 OpenBORstats툴을 이용하면 좀 더 비주얼적으로 확인하면서 원활한 작업이 가능합니다. 하지만 OpenBORstats툴은 제작자가 잠적하는 바람에 v1 버전이 되기 도전에 개발 중단이 되어버렸습니다.
대부분 OpenBORstats툴보다 언어 코딩으로 개발하고 있습니다. 저도 개인적으로 언어 코딩으로 작업을 하긴 하는데 C언어를 잘 모르기도 하고 스크립트도 개념 정도만 아는지라 작업 도중 그냥 봉인하게 되었는데 이참에 블로그 포스팅하면서 저도 알아가는 차원으로 다시 공부해보려고요~
OpenBOR 가이드 목차
1. MODELS.txt // 목차로 이동
이 텍스트 파일은 엔진에 로드될 엔티티를 결정합니다. 이 파일은 분명히 필수입니다. 그 외에도 이 파일은 모델에 대한 몇 가지 일반 설정도 결정합니다. Models.txt는 DATA 폴더 바로 아래에 위치해야 합니다. 로드할 엔티티는 .txt로 선언됩니다. 이러한 텍스트를 만들고 수정하는 방법은 엔티티 파일 섹션에 설명되어 있습니다. 이 파일에 로드된 재생 가능한 캐릭터의 순서는 인게임의 캐릭터 선택 화면에서 해당 캐릭터의 순서를 정의합니다.
아래의 코딩 언어에서 {bi} 안에는 0또는 1과 같은 이진법으로 표기합니다. {int}는 변수입니다. 값을 정의할 수 있다는 의미이며 때때로 이진법을 요구할 때도 있습니다.
일반 플레이어 속성 // 목차로 이동
ajspecial {bi}
특수 공격에 대한 입력과 플레이어가 공격을 차단할 수 있는지 여부를 결정합니다.
- 0 = 플레이어가 할당한 특수 키로 특수 기능을 사용하고 차단할 수 없습니다.
- 1 = 플레이어는 ATTACKBOTH에 대한 입력을 특수 공격으로 사용할 수 있습니다. 그들은 또한 특수 공격 버튼을 눌렀을 때 사용되는 block 애니메이션을 사용할 수 있습니다.
- 1로 설정했지만 플레이어에 block 애니메이션이 없으면 특수 키와 ATTACKBOTH 모두와 함께 특수 기능을 사용할 수 있습니다.
autoland {int}
{int}는 0, 1 또는 2이며 엔티티가 던져진 후 착지할 수 있는 방법을 변경합니다.
- 0(기본값) = 플레이어(나)는 다른 플레이어나 적에게 던져진 후 땅에 닿았을 때 방향키 위로 누르고 점프키를 눌러 안전하게 착지할 수 있습니다.
- 1 = 적이 플레이어를 던지면 안전한 착지를 위해 방향키 위로 누르고 점프키를 눌러 안전하게 착지할 수 있고 다른 플레이어가 던지면 자동으로 안전하게 착지합니다. 물론 홀(바닥의 구멍)은 여전히 위험합니다.
- 2 = 적이든 다른 플레이어든 플레이어(나)를 던지면 안전한 착륙을 전혀 사용할 수 없습니다.
nocost {bi}
플레이어의 special 공격과 freespecial 공격이 생명을 소모하는 방식을 결정합니다.
- 0 = 명중 여부에 관계없이 항상 생명을 소모합니다.
- 1 = 무언가에 부딪힌 경우에만 생명을 잃습니다.
nolost {bi}
플레이어가 적을 잡을 때 들고 있는 무기를 떨어뜨릴지 여부를 제어합니다.
- 0 = 플레이어가 적을 잡을 때 무기를 떨어뜨립니다(기본값). 값이 지정되지 않은 경우에도 동일한 결과가 나타납니다.
- 1 = 플레이어가 적을 잡을 때 무기를 떨어뜨리지 않습니다.
noaircancel {int}
플레이어가 다른 점프 공격으로 점프 공격을 취소할 수 있는지 여부를 설정합니다.
예를 들면 점프 공격이 두 가지가 있다면 첫 번째로 점프 공격을 누르고 두 번째 점프 공격키를 누르면 취소가 되는 방식.
- 0 = 취소 가능(기본값)
- 1 = 취소는 마지막 점프 공격이 완료된 후에만 가능합니다.
- 2 = 취소가 전혀 불가능
combodelay {int}
기본 콤보에서 공격 간격을 설정하여 공격 버튼을 눌러 콤보 공격을 수행하는 명령어입니다. 기본값은 100으로 0.5초를 의미합니다. 플레이어가 1차 공격이 연결되고 1초 후에 공격 버튼을 누르면 2차 공격이 연결되지 않는다는 의미입니다. 단, 거의 0.5초 후에 누르면 2차 공격이 콤보가 됩니다. 싼 티 나는 무한 콤보는 비활성화하는 것이 좋겠네요.
offscreen_noatk_factor {bi}
이 명령은 피격될 개체가 화면 밖에 있는 동안 공격할 수 있는 능력을 결정합니다. 예를 들어 원거리 공격을 사용하는 적들을 공략하는 데 유용하며 피격될 개체가 화면 영역에 있지 않아도 공격할 수 있습니다.
- 0 = 엔티티가 가시 영역 외부에서 공격할 수 있음을 의미합니다(기본값).
- 1 = 엔티티가 가시 영역 외부를 공격할 수 없음을 의미합니다.
일반 block 속성 // 목차로 이동
blockratio {bi}
0또는 1로 설정. 1로 설정되어 있으면 차단해도 피해가 완전히 무효화되지 않습니다. 대신 원래 손상의 1/4을 받습니다.
mpblock {bi}
0또는 1로 설정. 이 옵션이 설정되어 있으면 차단으로 인한 피해가 체력 대신 MP를 소모합니다. 플레이어의 MP가 부족하면 체력을 소모합니다. 이것을 사용하기 전에 위의 blockratio를 설정해야 합니다.
nochipdeath {bi}
0또는 1로 설정. 이것이 설정되면 플레이어의 체력은 1의 체력까지 감소될 수 있으며 죽지 않습니다. 이것을 사용하기 전에 위의 blockratio를 설정해야 합니다.
blockback {bi}
플레이어의 뒤에서 오는 적의 공격을 차단할 수 있는지 여부를 결정합니다.
0 = (기본값) 엔티티가 뒤에서 오는 공격을 차단할 수 없습니다.
1 = 공격 차단 가능
캐릭터 선택화면 속성 // 목차로 이동
colourselect {bi} {bi}
0 = 캐릭터의 팔레트를 변경할 수 없습니다.
1 = 선택 화면에서 위아래를 눌러 캐릭터의 팔레트를 변경할 수 있습니다.
spdirection {b1} {b2} {b3} {b4}
캐릭터 선택 화면에서 플레이어가 왼쪽 또는 오른쪽을 바라보게 방향을 설정합니다.
0 = 왼쪽을 향함.
1 = 오른쪽을 향함.
{b1}은 플레이어 1을 위한 것이고 {b2}는 플레이어 2를 위한 것입니다.
기본값은 1 0 1 0입니다.
여러가지 잡다한 명령어 // 목차로 이동
nodropen
이 명령을 설정하면 캐릭터가 사망 후 리스폰 시 적이 쓰러지지 않습니다. 일반적으로 플레이어가 부활하면 화면의 모든 적들이 쓰러집니다(피해는 없음). 이 명령은 인수를 사용하지 않으며 선언만 하면 적용이 가능합니다.
forcemode {bi}
준비 중...
versusdamage {bi}
플레이어가 서로를 칠 수 있는지 여부를 설정합니다.
0 = 플레이어가 서로를 칠 수 없습니다.
1 = 플레이어가 서로 공격할 수 있습니다.
nocheats {bi}
이 모드에서 치트 허용량을 설정합니다.
0 = 치트가 허용됨
1 = 치트 금지
nodebug {bi}
옵션에서 디버그 메뉴를 비활성화하려면 nodebug 1을 설정하십시오.
공격유형 및 애니메이션 제한 // 목차로 이동
"Invalid animation name line xxx" 오류가 발생하면 각 유형에 사용하는 최대 애니메이션 값을 높여야 합니다. 예를 들어, MAXFOLLOWS 4가 있고 FOLLOW10을 사용하려고 하면 해당 오류가 표시되고 MAXFOLLOWS를 10으로 변경해야 합니다. 최대 값보다 많은 애니메이션을 사용하지 않는 경우 다른 것을 변경할 필요 가 없습니다.
maxattacks {max}
- ATTACK1, ATTACK2 등의 일반 공격 애니메이션의 최대 수를 설정합니다.
- {max}는 사용 가능한 애니메이션의 수입니다.
- 기본값은 4입니다.
maxattacktypes {max}
- 공격 유형의 최대 수를 설정합니다.
- 이와 함께 PAIN, FALL, RISE, BLOCKPAIN 및 DEATH 애니메이션 제한도 함께 설정됩니다.
- {max}는 사용 가능한 유형의 수입니다.
- 기본값은 10이고 최댓값은 99입니다.
maxfollows {max}
- 후속(followup) 애니메이션의 최대 수를 설정합니다(예: FOLLOW1, FOLLOW2 등).
- {max}는 사용 가능한 애니메이션의 수입니다.
- 기본값은 4입니다.
maxfreespecials {max}
- free specials의 최대 수치를 설정합니다.
- {max}는 사용 가능한 free specials의 수입니다.
- 기본값은 8입니다.
maxidles {max} (IDLE은 캐릭터가 가만히 서있는 대기 중인 상태를 의미합니다)
- 최대 IDLE 수를 설정합니다.
- {max}는 사용 가능한 IDLE의 수입니다. 값을 늘려 대기상태의 애니메이션을 다양하게 적용 가능합니다.
- 기본값은 1입니다.
maxwalks {max}
- 최대 WALK 수를 설정합니다.
- {max}는 사용 가능한 WALK의 수입니다. 값을 늘려 캐릭터의 컨디션에 따른 걷는 애니메이션을 다양하게 설정이 가능합니다.
- 기본값은 1입니다.
maxbackwalks {max}
- 최대 BACKWALK 수를 설정합니다.
- {max}는 사용 가능한 BACKWALK 수입니다. 뒷걸음 치는 애니메이션정도로 생각하시면 될것같네요.
- 기본값은 1입니다
maxups {max}
- 최대 UP 수를 설정합니다.
- {max}는 사용 가능한 UP의 수입니다. 값을 늘려 캐릭터의 컨디션에 따른 걷는 애니메이션을 다양하게 설정이 가능합니다.
- 기본값은 1입니다.
maxdowns {max}
- 최대 DOWN 횟수를 설정합니다.
- {max}는 사용 가능한 DOWN의 수입니다. 값을 늘려 캐릭터의 컨디션에 따른 걷는 애니메이션을 다양하게 설정이 가능합니다.
- 기본값은 1입니다.
보너스 // 목차로 이동
lifescore {int}
- 플레이어가 생명 1개 또는 1Up을 얻기 위해 획득해야 하는 점수를 결정합니다.
- 기본값은 50000입니다.
- 게임의 밸런스를 위해 플레이어가 쉽게 생명을 얻는 것을 방지하려면 이것을 큰 값으로 설정하십시오.
- 값을 0으로 설정할 경우 적을 공격할 때 충돌이 발생합니다.
credscore {int}
- 플레이어가 크레딧 1개를 얻거나 계속하기 위해 획득해야 하는 점수를 결정합니다.
- 기본값을 알 수 없습니다. 그러나 기본적으로 플레이어는 점수에서 크레딧을 받지 않습니다.
- 플레이어가 포인트에서 크레딧을 받는 것을 방지하려면 이 값을 큰 값으로 설정하십시오.
- 이것을 0으로 설정하지 마십시오. 그렇지 않으면 적을 공격할 때 충돌이 발생합니다.
nomaxrushreset {int}
최대 적중 카운터(최대 러시) 재설정 여부를 결정합니다.
- 0 = 플레이어가 생명을 잃거나 크랫을 사용하여 이어서 진행할 경우 최대 러시가 재설정됩니다.
- 1 = 플레이어가 생명을 잃으면 최대 러시가 재설정되지 않지만 크랫을 사용하여 이어서 진행할 경우 재설정됩니다.
- 2 = 플레이어가 생명을 잃거나 크랫을 사용하여 이어서 진행할 경우 최대 러시가 재설정되지 않습니다.
LOAD & KNOW // 목차로 이동
이 2개의 명령은 OpenBoR에서 엔티티를 로드하는 데 사용됩니다. 그러나 이 2개의 명령은 같은 방식으로 작동하지 않습니다. 이에 대한 아래에 설명이 있으니 참조하세요. 각 명령은 하나의 엔터티를 로드하므로 많은 엔터티를 로드하려면 이러한 명령을 두 번 이상 선언해야 합니다. 이들의 순서는 상관없지만 플래시(효과 애니메이션들), 영웅 등을 위해 그룹화하는 것이 좋습니다. 각 그룹이 로드하는 내용을 설명하기 위해 # 및 주석을 제공할 수 있습니다.
load {name} {path}
- {name}은 게임에서 엔티티를 식별하는 데 사용할 이름입니다.
- {path}는 엔티티의 .txt 파일의 OpenBoR에 상대적인 위치입니다.
- 엔티티는 OpenBoR이 시작될 때 항상 로드되며 항상 메모리에 있습니다.
- 섬광, 영웅, 무기를 든 영웅, 영웅의 투사체에 사용됩니다.
know {name} {path}
- {name}은 게임에서 엔티티를 식별하는 데 사용할 이름입니다.
- {path}는 엔티티의 .txt 파일의 OpenBoR에 상대적인 위치입니다.
- 이러한 엔터티는 실제로 필요할 때만 또는 레벨이 로드할 때 정확히 메모리에 로드됩니다.
- 플래시와 영웅을 제외한 모든 것에 사용됩니다.
이 명령으로 음악, 사운드, 시스템 또는 스테이지 파일을 로드할 수 없습니다. 엔티티에만 사용됩니다.
2. LEVELS.txt // 목차로 이동
- 이 텍스트 파일은 모드에 선언된 게임 모드의 수(또는 BoR의 난이도)와 각 게임 모드의 레벨 및 장면을 결정합니다. 이 파일은 분명히 필수입니다. 그 외에도 이 파일은 레벨 및 HUD에 대한 몇 가지 일반 일반 설정도 결정합니다.
- 기능이 많기 때문에 이 부분은 두 섹션으로 나뉩니다. 섹션 구분은 일반 레벨 설정 및 HUD 설정 및 게임 모드 설정의 두 섹션으로 나뉩니다.
- Levels.txt는 DATA 폴더 바로 아래에 위치해야 합니다.
최근댓글