*현재 네코노벨은 추가 지원이 없는 상태인 반면 피니엔진은 이제 알파판임을 염두에 두도록 합시다.
*본 글은 피니엔진의 더 큰 발전을 위해 작성하는 글 임을 밝힙니다.
잔인한 피니엔진과 네코노벨 비교분석 2
2014.12.13
지난 시간에 다뤘던 편집기의 UI는 피니엔진의 것이 썩 나쁘지 않았습니다. 그러나 오늘 다룰 오류 검출 기능면에서는 지난 시간에 예고 했듯 피니엔진이 고전할 것 같은 기분이 듭니다. 그럼 시작하겠습니다.
▲뛰어난 스크립트 환경에는 에러표시 기능이 있었다.
위 영상에서 잠깐(?) 나오듯이 뭔가 이상한 것 같으면 스크립트 편집기에 강렬한 빨간줄이 그입니다. 이 빨간줄이 눈에는 잘 띄지만 계속 뜨는 저 줄의 특성상 눈에 피로감을 상당히 준다고 느꼈습니다. 하지만 그건 차치하고, 이 오류 검출 표시가 나는 조건에 대해 열거해보겠습니다.
1. 대괄호 안에 아무것도 없는 경우 (ex. [])
2. 인수의 형태를 띈 요소만 대괄호에 있는 경우 (ex. [ㅇ=""])
3. 명령어 뒤에 오는 요소중 인수의 형태가 불완전한 경우(단, [ㅇ ㅇ=ㅇ]꼴 예외) (ex. [ㅇ ㅇ], [ㅇ =], [ㅇ ""], [ㅇ ㅇ=], [ㅇ ㅇ""], [ㅇ =""])
4. 명령어 뒤에 오는 요소중 인수의 이름에 @#$%^&*()+|\-,./?[]와 같은 특수문자(단 !와_, <,>,=는 예외)나 숫자,한자가 들어가는 경우 (ex. [ㅇ @=""], [ㅇ 1="")
5. 명령어가 한글이나 영문이 아닌 경우 (ex. [馬 ㅇ=""], [! ㅇ=""], [1 ㅇ=""])
6. 대괄호가 없는 줄에 #을 제외한 특수문자나 한자가 있는 경우 (ex. $)
▲어쩐지 대화 명령어를 어떻게 쓰는 지 모르는 것 같은 건 일단 넘어가도록 합시다.
그런데 여기서 문제는 위에서 볼 수 있듯이 딱 오류표시가 나는 조건이 해당될 때만 붉은 줄이 나타난다는 것입니다. 잔잔한 오타는 전혀 걸러내지를 못하는 모습을 볼 수 있습니다. 이와 관련한 개발자님의 답변
우선 네코노벨은 명령어가 잘못되어 있으면 노란 형광줄을 띄워줍니다. 네코노벨의 경우 사용하는 언어의 특성상 딱히 문법이라고 할 만한 것이 없기도 하지만, 이렇게 소소하게 날 수 있는 오타를 잡아주는 것은 스크립트를 짜는 입장에서는 매우 편리한 기능이 아닐 수 없습니다.
그러나 그 뒤의 인수가 어떤 형태인지는 검출하지 못하는 현상이 있기는 합니다. 테스트 플레이 시에 몇몇 경우를 제외하고는 오류 메세지가 나오지도 않고요. 다만 필수 인수가 없을 경우에는 필수 인수가 없다는 것을 알려줍니다. 즉, 다시말해 필수 인수의 개수는 탐지할 수 있다는 것이죠. 그러나 피니엔진은 이 기능이 없습니다.
▲네코노벨의 경우 필수 인수가 있는 명령어에서 인수 개수가 부족할 경우 알려준다.
▲피니엔진의 편집기 화면. [텍스트]를 유심히 보기 바란다.
▲ 설명서에 의하면 텍스트 명령어는 필수 인수를 두 개 갖지만 없어도 눈치채지 못한다.
마지막으로 이야기하고 싶은 것은 게임에서 사용하는 소재들의 유무를 파악해주는 기능입니다. 위의 영상에서 볼 수 있듯이 피니엔진은 파일 하나가 없는 것을 툴에서나 테스트 플레이에서 전혀 눈치 채지 못하는 반면 네코노벨은 테스트 플레이 시 옆의 시스템창에서 알려줍니다. 그리고 만약 이것을 제작자가 눈치채지 못하고 게임을 저장했다고 해도, 실행시 아래와 같이 메세지가 나옵니다.
사실 개발툴에 있어서 제작자에게 가장 중요한 부분은 바로 오류 검출 기능이 아닐까 합니다. 그러나 피니엔진의 경우 여러가지 면에서 기존에 있던 툴인 네코노벨에 비해 떨어지는 모습을 보여줍니다. 이러한 부분들이 다음 테스트 시에는 꼭 개선되기를 바라면서, 이번 시간을 마칠까 합니다. 다음 시간에는 네코노벨과 피니엔진에서 사용하는 언어를 비교해보겠습니다.
+
2014.12.17)현재 피니엔진에서는 빨간줄이 있으면 스크립트가 저장되지 않는 오류가 있습니다. 이것은 테스트플레이시에도 적용되어 바꾼 내용이 적용되지 않습니다. 아무런 알림 없이요.
참조 : http://nooslab.com/piniengine/bbs/board.php?bo_table=Bug_reporting&wr_id=10