ようこそ。

このページでは、エディタの使い方を学べます。

ノベルゲームを一瞬で書きかえてDenkinovelで公開する方法が載っています。ノベルゲーム作者には有意義なチュートリアルです。小説を書く人にも、ぜひ知っておいてほしいことを書きました。

サクラエディタを選ぼう

文章を書くのに、あなたはどんなソフトウェアを使っていますか? Microsoft Word? 一太郎? メモ帳? 秀丸? TeraPad? K2 Editor? VerticalEditor? Vim? Emacs? TextMate? Sublime Text? Eclipse? WebStorm? IntelliJ IDEA? OmmWriter? おお、書きだしてみると色々ありますねえ……。

どうしてこんなにたくさんあるんでしょう?

ソフトウェアは、それぞれ生まれた目的が違います。IntelliJ IDEAはJavaなどのコードを書くために作られました。OmmWriterはよけいな要素を取り除き、落ち着いた環境で文章を書くためにあります。VerticalEditorは縦書きのためのエディタです。Wordは会社での書類作成には便利ですし、プリントするときや画像の入った文章を手早く作るには最適です。

では、たとえばWordを物語創作に使うべきでしょうか?

わたしは「いいえ」と答えます。Wordはたしかに高機能です。でも、高機能すぎる。

クリップアートを入れたり、葉書のサイズに用紙を変えたりといった機能は執筆活動には不要です。ボタンがごちゃごちゃついていて、どこを押せばどうなるのか、一目だけではわかりません。貧弱なマシンで動かそうとすると、動作がゆっくりになっちゃいます。

なによりもWordは高価です。ふつうに買うと1万円以上もします。

世の中のマシンの大半にはWordは入っていません。たまーに、Microsoftが世界を支配していると思い込んで、頼みもしないのに文章をWordファイルで送ってくる人がいますが……絶滅してほしいですね。

おっと、脇道に逸れてしまった。つい愚痴をもらしてしまいました。いけない。

物語を書くなら、オススメはサクラエディタです。

Tutorial 73 9b7c0cd2df4130f624f04af3f602f4583a4ec59e4e7612f077a6518084ec3ae0
  • 無料で使える
  • Windowsで動く
  • 動作が軽快
  • 編集を楽にする機能が十分ある
  • 広く使われているので、Web上にチュートリアルが多い

こういった理由から、サクラエディタはオススメです。

このページからダウンロードできます。使ったことのない人は、試しにダウンロードしてみましょう。きっとびっくりするはずです。「どうしていままで自分は不便を我慢してきたんだ?」と悔しい気持ちになるかもしれませんね。

わからないことがあったら「サクラエディタ 使い方」で検索してください。

公式ヘルプはこちらにあります

Windowsじゃないときは?

サクラエディタはWindows向けテキストエディタです。ほかのOSでは利用できません。もしあなたがMacやLinux、FreeBSDをお使いなら……きっと、あなた自身の力で最適なエディタを見つけ出せると思います。Windowsユーザではないのだから、それくらいできますよね?

魚を釣れる人になろう

このチュートリアルを作った理由をお話ししましょう。

2012年12月のことです。わたしは考えていました。ノベルゲームを作っている人がDenkinovelに作品を投稿するうえで、障害になっていることはなんだろうか?

出した答えは「タグの書きかえ」でした。吉里吉里やNScripter、ArtemisEngineなどのゲームエンジンに特化したシナリオを書いている人がDenkinovelに投稿しようと思っても、すぐにはできません。ゲームを動かすためのスクリプトとして書いているなら、いらないスクリプトを消して、Denkinovelのタグを書き加えないといけません。はっきり言って、とても面倒です。

そこで、新しい機能を思いつきました。吉里吉里やNScripter形式のテキストを入力するとDenkinovel形式に変換する。そういう仕組みです。

しかし結局やめることにしました。

Denkinovelがその機能を用意するよりも、ノベル作者が変換のやりかたを学んだほうが、結局は彼ら自身のためになる。そう考えたのです。

「飢えた人に魚を与えても一日しか保たないが、釣り方を教えれば一生食べていける」ということわざがあります。物語の創作者には、食べるだけの人じゃなく、魚を釣れる人になってほしい。だから、わたしはこのチュートリアルを作りました。

Tutorial 66 58d9b7c5bc3af394ff56f07fbf41875b492dcfefe4ab63a5117842294ba62422Photo by hiyang

マクロを使おう

さて、サクラエディタにはマクロという機能があります。

これがあるからサクラエディタをオススメしている、そういってもいいくらいパワフルな機能です。マクロがあるおかげで、ノベルゲームのシナリオを一瞬でDenkinovelの文章に変えることも可能になります。文章で創作をするうえで、必須と思えるほどの便利さです。

色々な目的に活用できますが、もっともよく使うのは文章の置換です。

「置換? 置換くらい、どのエディタでもできるだろ?」とお思いのみなさん。その通りですね。たいていのエディタは置換機能を持っています。ふつうの置換機能に関してはそうでしょう。でもふつうの置換で満足できなかったら?

サクラエディタのマクロはひとあじ違います。複数の置換を自動的に、一斉に行えるのです。

実際にその目で見てもらいましょう。

マクロで文字の置換を順番に、一括で、複数行う

こちらにマクロファイルを用意しました。ダウンロードしてください。

nscripter_to_denkinovel.macというファイルです。.macという見慣れない拡張子ですが、中身はただのテキストファイルです。文字コードはShift-JIS、改行コードはCR + LFです。

中身をサクラエディタで開いてみると……?

Tutorial 67 327ca23671afd5f63a63435c450832164659ff6c274dab833a733c522927715d

たくさんの記号が並んでいる! コワイ!

……と思ってしまっても仕方ありません。でも大丈夫。怖くないのです。慣れたら簡単に扱えます。ひとまずマクロの中身はおいておいて、実際に使ってみましょう。

Tutorial 62 141a9e150ee16b362151c32943d1afd8df48d2a39cb922916862ce9d16068ab8

サクラエディタを開きなおして、「ツール」をクリックしましょう。

サクラエディタのバージョンは?

本チュートリアルではサクラエディタVer 2.0.3.0を使用しました。

Tutorial 63 9647648e8a08815dffee3f2bf83c9f8e55f017a2e3570a24d5b8760268475b38

「キーマクロの読み込み」というところをクリック。

Tutorial 64 abb8d0bfe7de030e22063014b76eecbfd0e96d60714eea05c57c059bed949f95

ダウンロードしたnscripter_to_denkinovel.macを選択して「開く」を押しましょう。ダブルクリックでもよいです。

これで、サクラエディタがマクロを読み込みました。いつでも使えます。準備万端! ……と思ったら、そういえば、置換する相手のテキストがありませんでした。

ここにサンプルテキストを用意しました。NScripterのシナリオファイル……のようなものです。ダウンロードしてみてください。

NScripterとは? 吉里吉里って? Artemis Engine?

さきほどもすこしだけ登場した、NScripter吉里吉里Artemis Engineといった謎の用語。これらはノベルゲームを作り、動かすためのゲームエンジンです。Denkinovelとよく似た記法で、タグやコードを文章中に書き込むことで、文章を演出します。Denkinovelはこれらゲームエンジンの影響を強く受けています。たとえばDenkinovelのタグは、吉里吉里とわざと似せています。

ちなみに管理人は吉里吉里を普段使っていますが、ノベルゲームを作るときはどんなプラットフォームにも対応できるよう、演劇の脚本のような記法でシナリオを書きます。つまり□背景:my-room.jpgのように書いておきます。タグやスクリプトは直接書き込みません。ゲームとして動かしたくなったらサクラエディタのマクロで一括置換をします。□背景:my-room.jpgbg my-room.jpg, 34に変化します。別の置換マクロを使えば、[bg my-room.jpg]に変化させられます。置換マクロを活用すれば、複数のプラットフォームに対応できます。

ダウンロードしたtutorial_sample_text_1.txtをサクラエディタで開きましょう。さっきから開いているままのサクラエディタは閉じないください。

Tutorial 70 ff0718e52f0bf9423b6cc78dcf16ab98818026931cad43aee9623639197da1ed

brやbgといったスクリプトが文章の間に書いてあります。Denkinovelに似てますね。さきほど見せたマクロは、このテキストファイルをDenkinovel用に変換してしまうのです。

Tutorial 71 239c6f0fc084cf619c445f218b838eb3f3a041854468585529bd3b807ca705cf

「ツール」をクリックして、「キーマクロの実行」を見つけます。

さあ、心の準備はいいですか? 「キーマクロの実行」をクリックしましょう!

Tutorial 72 50b7e67dbefcae2c59f457b18ea572466b72ed01bb05b75d248fb8f6fe6d45f2

すごい早さで処理が走り、一瞬で終わりました。そしてこれは……Denkinovelのタグだ! やった! NScripterからDenkinovelへの変換に成功しました!

ただの一括置換はマクロを使わなくともできるのですが、複数の一括置換を自動的に、順番に行えるところにマクロの利点があります。マクロの力をわかっていただけましたか?

マクロファイルの中身

もういちどnscripter_to_denkinovel.macをサクラエディタで開いてみましょう。

Tutorial 67 327ca23671afd5f63a63435c450832164659ff6c274dab833a733c522927715d

ひとつひとつの行が処理を意味しているのですが、こうたくさん並ぶと、見ているのがいやになりますね……。そうだ、消しましょう。いちばん簡単なところを残して、行を削除すると……。

Tutorial 68 4c56b3f3e8e942304c882daa3f43e2f0bafa1acee270d5877d595a06e63702e3

すっきりしましたね! これならまだ親しみやすいでしょう?

このコードが意味している内容は簡単です。「すべての@を消す」です。正確にいうと「すべての'@'を''に置換する」ということですが、''はつまりなんにもなしということ。だから、@を削除することができます。60という数字は文字の探し方や置換のやりかたのオプションです。大文字と小文字を区別したり、クリップボードから貼りつけたり……あんまり気にする必要はありません。60のままでよいです。

こんな短いマクロでも、ちゃんと使うことができます。さきほどと同様にして、このちっぽけなマクロを保存して、読み込んで、サンプルテキストを置換してみてください。@がすべて消えるはずです。

S_ReplaceAllはサクラエディタのマクロの関数です。でもこんなの覚える必要はありません。どうせサクラエディタのマクロのうち、使うのはこのS_ReplaceAllくらいしかないのです。

文字を書きかえて、遊んでみてください。S_ReplaceAll('@', '', 60);のうち、@の部分を「その」に替えたり、「。」にしたり。好きな文字を消すことができます。

Tutorial 69 ea84fe51a0c3c5655aab7c1e2c8bfc550cf47b122ddcaf9c11db1585a59eda19

それに飽きたら、nscripter_to_denkinovel.macの、この行を見てみましょう。

こんどは、記号が入っていますね。^br.*というのは、いったい……?

このサイトなどで学べばわかるのですが、これは正規表現という特殊な書き方です。

正規表現を使おう

正規表現は、ようするに、条件を満たす文字列を検索したり、置換するための書き方です。「bgm 〜〜」がある行をすべて消したり、[]のタグで囲まれた部分のうち、ホワイトスペースで挟まれたアルファベット4文字だけをblack.jpgという文字列に置換したり……習熟すれば、自由自在に文字を操れます。

正規表現は強力なツールです。Denkinovelも、内部で正規表現を使い、ノベル本文のタグをHTMLのタグに変換することで、演出のできる小説を作っています。

正規表現を身につけましょう。

あなたがやるべきことは簡単です。

nscripter_to_denkinovel.macをもとに、あなたの願いが叶うように書きかえてください。

NScripterではなく吉里吉里のシナリオファイルから置換するにはどうすればいいか? 自分のオリジナル記法から置換するには? 人によって、願いはさまざまでしょう。正規表現は、願いのほとんどを叶えてくれます。

正規表現とマクロを使えば、変換の問題の多くに解決策を見いだせます。手作業でひとつひとつ書きかえるのではなく、自動的に、一気に置換することで、プラットフォームを変えて、自由な場所であなたの物語を表現することができるようになるはずです。

Tutorial 67 327ca23671afd5f63a63435c450832164659ff6c274dab833a733c522927715d

nscripter_to_denkinovel.macは、学ぶためのヒントになります。メタ文字やエスケープなど、いくつか正規表現独特の使い方がこれで学べます。

ただ、このチュートリアルだけで正規表現を体得するのは無理です。正規表現が学べるウェブサイトはいくつもあるので、自分で検索して学ぶことをおすすめします。

正規表現を学ぶには?

正規表現を学べるサイトは多数あります。

正規表現を学べる初心者向けサイト:http://www.mnet.ne.jp/~nakama/

正規表現を学べるサンプル集:http://hodade.adam.ne.jp/seiki/

正規表現をチェックできるツール:http://www.rider-n.sakura.ne.jp/regexp/regexp.php

正規表現がどの文字列を表現しているかわかるツール:http://www.rubular.com/

正規表現を可視化するツール:http://www.regexper.com/

正規表現は世界中の人が学んでいるツールです。PythonでもRubyでもJavaでもScalaでも使えます。学んで損はありません。

まとめ

サクラエディタの使い方……というより、マクロの使い方はおわかりいただけましたか?

ソフトウェアは楽をするためにあります。

退屈な単純作業をせねばならなくなったとき、いちど立ち止まって考えてください。「もしかして、楽をする方法があるんじゃないか?」と。多くの場合、楽をする方法はあります。ただ、気づかないだけなのです。

楽をすることで、あなたの時間は増えます。苦痛は減ります。プロットを練る精神的余裕が生まれ、物語は面白くなります。それは、ほんのちょっとかもしれませんが、人類の進歩に貢献しているのです。

全力で楽をする。

それがDenkinovelの哲学です。

別のチュートリアルを見る