はじめに
      
      
        sketch / ExHIBITは主にADVGを開発するためのオーサリング風ツールで、
        ポストプロダクション部分のコストを出来るだけ低減し、ヒューマンエラーの可能性をできるだけ引き下げることを目的として開発されています。
        
        現代のPCゲーム業界では、実に多くのヒューマンエラーが発生しています。
        例えば、製品内に利用されていないリソースが紛れ込むなどといったことは日常で、中にはそれが大問題に発展することすらあります。
        それらの主な原因は、膨れあがっていくリソースや、複雑化する演出や、厳しい納期など、あげればキリがありません。
        sketch / ExHIBITは、そういったPCゲーム業界が抱える構造的な問題を出来るだけ低減させるように作られています。
        
        マスターアップの前日に、最後のデータが上がってきたり、大量の差し替えがあっても対応できる。
        それでいて、演出者にプログラムのスキルがなくても、思い通りの演出を高効率で楽しく行ってもらえる。そういうツールを目指しました。
        
      
      
      
      演出の実際
      
      
      
        
        
          シナリオの構成が複雑かつ巨大になっていくと、アイデアプロセッサなどの出番です。
          しかし、単体のアイデアプロセッサは、高機能で非常に複雑になっています。
          単に箱書きを筋立てて繋いでチャートにし、適当にメモ書きを入れられるシンプルなものが欲しいという要求から、
          sketchのシナリオ確認部分はそのようなチャート形式になっています。
          どんどん箱を作ったり破棄したり、リンクを繋いだり切ったりして下さい。
          
          もちろん、シナリオが先にテキストファイルで用意されていて、演出を主目的として利用したいといったプロユースにも完全対応しています。
        
        
       
      
      
      
      
        
        
          ノードをダブルクリックすると、そのシーンに対応した演出エディタが起動します。
          左側には音楽や効果音、非同期の演出などが、どこから始まってどこまで行われているのかのタイムラインが表示されわかりやすくなっています。
        
        
       
      
      
      
      
        
        
          スクリプト言語だと、キャラの表情を「喜・怒・哀・楽」を基準にした記号のような文字を埋め込んでいきますが、実際の顔は「怒」と指定しても、
          哀しげな顔になっているかも知れません。
          いちいちリストやサムネールで確認しながら指定するのは大変手間がかかります。
          
          演出エディタならそんな記号は不要です。一覧から確認して選択するだけなので、誰でも簡単に自分の思い通りのポーズや表情を選択できます。
          もちろん表示リソースは立ち画像から自動的に作成されますので手間いらずです。
        
        
       
      
      
      
      
        
        
          立ちキャラの位置などを含む画面の構成は、レイアウトエディタをを用いて視覚的に設定できます。
        
        
       
      
      
      
      
        
        
          
          立ちキャラだけでなく、イベント画像などの確認も演出エディタ上で当該行をクリックするだけす。
        
 
        
       
      
      
      
      
      
        
        
          演出を修正したら、その場ですぐ確認できるスクリプト言語は意外とありません。
          でも、修正→確認→修正→確認....を繰り返す演出では、この速度がとても重要です。
          
          sketchでは、この作業を簡単に行う機能が数多く用意されています。
          例えば、カーソル行からデバッグを実行することで、今修正した箇所をすぐに確認することが出来ます。
        
        
       
      
      
      
      
        
        
          もちろんExHIIBTでバグを見つけたときも、「実行中のシナリオを開く(E)dit」メニューですぐその場所を開いて修正できます。
          
          このように迅速にリトライを繰り返すことで、面倒な演出もストレス少なく作り上げていくことが出来ます。
        
        
       
      
      
      
      
      
        
        
          問題が起こりそうな箇所も、システムが列挙してくれます。
        
        
       
      
      
      
      
        
          検出される問題は、実際に各メーカーの開発中に起こった問題を検出するように拡張されています。
          実際に起こりうる可能性がある問題を検出することで、時間のない場合でも適切にクリティカルな問題を排除することが出来ます。
        
        
       
      
      
      
      
        
          検出されたエラーは、4段階に分類されてレポートされます。
          
          もちろんダブルクリックで、当該箇所へジャンプします。
        
        
       
      
      
      
      
      
        
        
          リソースの問題検出も同様です。
          
          最終的なチェックはリリース処理(後述)が行いますが、単純に演出で利用されていながら存在しないCGや音声を検出できます。
        
        
       
      
      
      
      
      
        
        
          音声のID割り付けの自動化は、今時のシステムなら当然利用されていますが、シナリオ記述途中で台本を分割して印刷、
          収録に望まなければならないような場合は、非常に煩雑になりますが、sketchは、こういった特殊な処理にも完全対応しています。
          
          仕事の都合に合わせて、いくらでも分割して台本を出力したり、その続きからナンバリングしたりでき、
          管理は全てシステムに任せて構いません。
          
          また、納品後の収録忘れや納品忘れなどは一括してシステムが調べてくれます。
        
        
       
      
      
      
      
      
        
        
          また、台本の出力も印刷もすべてシステムがやってくれます。
          ユーザーが行うことは、シナリオを書き終わったら(または途中でも)「メッセージIDを振る」メニューを実行してメッセージIDを割り付け、
          「台本の出力」メニューを実行して台本を出力し、「台本の印刷」メニューを実行して台本を印刷するだけです。
          
          
          最終的には、印刷用テキスト形式の台本を出力しますが、HTML形式の台本も出力でき、
          すでに演出指定されていれば画像などを入れることも出来ます。
        
 
        
       
      
      
      
      
        
          試しにHTML出力すると、こんな感じ。これは理央用の出力なので理央が強調されています。
          またイベント画像だけを画像として挿入しています。
          
          文字の大きさや行間などは、出力時にカスタマイズできます。
        
        
       
      
      
      
      
        
          印刷用テキスト形式の台本を出力すると、印刷ツールを使うことが出来るようになります。
          screenplay utility は、通常sketchの「台本を印刷する」メニューで呼びだされますが、単体で利用できる台本印刷ツールです。
          
          なぜ独立させてあるかというと、実際に作業している場所と印刷する場所が物理的に異なることがあるからです。
          印刷ツールを独立させておけば、出力した台本用テキストファイルとこのツールだけを渡して印刷して貰うことができます。
          sketchの環境を渡す必要がないので、よりセキュアでポータビリティに優れているわけです。
        
        
       
      
      
      
      
        
          印刷は様々なオプションがあります。
          出力するキャラなども、シナリオファイル単位で細かく設定できますが、通常は文字の大きさだけお好みに併せて貰えれば問題ありません。
          文字は大きくすると見やすいですが紙やインクを多く消費します(ページ数が増えるため)
          
          プリンタに出力するとインクや紙を無駄にするので、テスト段階では出力先にPNG等を選んでおくと良いでしょう。
          紙でも画像でも見た目は概ね同じ状態になります。
        
        
       
      
      
      
      
      
        
        
          ゲームの開発を行っていくと、テスト実行しているフォルダには必ずゴミがたまっていきます。
          それはダミーファイルであったり、ビュワーが作成するサムネール保存用のファイルだったり、いろいろです。
          
          スケジュールがタイトになって充分なチェック時間が無くなってくると、リリース版のパッケージを作る際に、
          こういうゴミを取り除く作業がおざなりになります。
          使われているデータを取り除いてしまうとファイルがないと言われて問題になるけれど、使っていないデータが
          含まれていてもただゴミになるだけなので、動作が確認されているゴミだらけの環境をそのままアーカイブしたりします。
          今時はリソースを直接覗くユーザーも多く、こういういい加減なリリース処理のせいで、無修正画像が混じったり
          他社のデータが混じったりして問題になることがあります。
        
        
       
      
      
      
      
        
          sketchでは、ツールがリリース作業も行います。
          例えば間接参照などで検出できないリソースは、時間のあるときにチェックして検出されるよう登録しておくことが出来ます。
          
          それらを元に、実際に使われているリソースを解析してリリース処理を行うため、開発環境がどんなにゴミだらけになっていても、
          リリースから最終チェックまでの時間がほとんど無くても、安心してリリースすることが出来ます。
          
        
        
       
      
      
      
      
      
        
        他にも、2段階中間言語システムで、テキストエディタによる一括処理置換等が可能であったり、
        CGの表示領域をグラフィカルに設定できたり、いろいろな機能がありますが、
        最も重要なことは、
演出だけならほとんど誰にでも出来る点にあります。
        実際、利用メーカーには、プログラマが一人もいないメーカーもあります。
        
        最後に、非常に長い間使われいるシステムなので、システム由来のバグの発生率がほぼ0に近く、サポートコストを
        きわめて低く抑えることができます。また、完全な後方互換性が補償されてるため、5年前のタイトルが、そのまま
        現在の実行ファイルで動作します。つまり、OSの対応版などは単純に実行ファイルを最新にするだけで作成することが出来ます。