シナリオやむる化大作戦

ゲームのシナリオを書くお仕事をしているのですけど、最近はテキスト書類での提出よりも、Excelでテキストを書いて提出するくことが多くなってます。
Excelでテキストはとてもとても書きづらいのですけど、テキスト数がすぐわかるとか、提出バージョンごとに修正箇所を自動で色分けしたりなど、便利なところもいっぱいあって……それでもまぁ、使わなくて良いものなら使いたくないもんです。

で、書く速さだけで言えばテキストファイルで普通にテキストを打つのが早いんですけど、どうもこの、テキストというもの、何を書いても良いというのが釈然としない。
いや、自分の中では明確に、【これは】人の名前、とか/*これは*/コメント、とか決めてはいるのですけど、なんかでもやっぱり、どうにでも解釈できるものを書いている自分が許せないのです。

そんなわけで、時々発作的にXmlでシナリオ書いたり、jsonでシナリオ書いたり、いろいろとやってみてるのですけども、今回は中でもいちばんプレーンなテキストに近い、yamlのご紹介です。
最近はyamlでもjsonと同じくらいお手軽に読み込めますし、yamlで書いちゃえばデータベースに移すのも加工するのも楽々、なんて思ってるわけなんですけど、ただメジャーじゃないので「なんでそんなことをw」と心無いことを言われてしまうという難点があります。

というわけで、これをほんの少しでもメジャーにしようと言う思いで、サンプルを書いてみましたので、ご査収ください。

# ==================================================== 
# 
#   またやってんの? って言われそうだけど、またやってます。
#   yaml でシナリオを書くテストです。
# 

CHAPTER_NUMBER: 1
CHAPTER_TITLE:  やむるはやめれ?
DATE:           20017 17 July

SUMMARY: |-
  10年位前。
  同志O橋にyamlでシナリオ書くのはどうかな? と打診。
  英語テキスト部分を『ダサ』と言われて傷心のまま検討中止。

CHARACTERS: 
  - &inoue
    name: いのうえくん
    desc: かつての変態少年
  - &oohashi
    name: おーはしくん
    desc: かつての不良少年

# ==================================================== 

CUTSCENES:

 -
  TYPE: quest
  SUBTITLE: とつぜんのメール
  SEQUENCE: 
    - 
      stage: おーはしくんち
      direction: |-
        ドアをあけていきなり入ってくるいのうえくん。
    - 
      talker: *inoue
      scname: なぞのおとこ  # 表示名、デフォルト名と違うときだけ指定
      window: NORMAL      # 省略時はNORMAL
      font: NORMAL        # 省略時はNORMAL
      prev: |-
        開いたドアを叩いて   # セリフ前の演技、省略時は何もしない
      message: |-
      # 1234567890123456789012
        突然のおたより失礼致します。
        てめぇ、アタマの方は
        まだ大丈夫でございますでしょうか。
    - 
      talker: *oohashi
      prev: |-
        驚いて             # セリフ前の演技、省略時は何もしない
      message: |-
      # 1234567890123456789012
        てめぇ、どこから現れやがったぁっ!
    - 
      talker: *inoue
      with: |-  
        腰をくねらせながら   # セリフ中の演技、省略時はデフォルトモーション
      message: |-
      # 1234567890123456789012
        トイレのドアから入りましたぁ!
    - 
      talker: *oohashi
      message: |-
      # 1234567890123456789012
        勝手に入ってくるんじゃねぇっ!
      after: |-
        いのうえくんにキックを浴びせる。

 -
  TYPE: event
  SUBTITLE: サブタイトル
  SEQUENCE: 
    - 
      talker: *inoue
      message: |-
        というような。
    - 
      talker: *oohashi
      message: |-
        はい。

# ==================================================== 
#  end

それにしてもこの、SyntaxHighlight↑という機能、ちゃんとyamlにも対応してるんですね。
ちょっとびっくりしました。
でも書いてみて改めて、タブ(スペースだけど)の数が意味を持つっての、微妙に釈然としませんね。

Follow me!