eramaker2 マニュアル
テンプレートに出てくるKanonのキャラデータを別のキャラデータに変えれば、それだけで立派な別のゲームです。
まずeramaker2でゲームを作る基本として、キャラデータの変え方を見てみましょう。
dataフォルダ内にある
キャラフォルダを開き、あゆ.txtを開いて下さい。

色々なことが書いてあります。
文法はTJSです。キャラデータはTJSで書かれていますが例外的に.tjsではなく.txtで終わっています。
var DATA_NAME = "あゆ";
まずは一番基本と言ってもいい名前を変えてみましょう。
var DATA_NAME = "渚";
名前の前後にある " を間違って消してしまわないことが大切です。
" "というのは今後もしょっちゅう出てきますが、「
ここでくくっているのは文字列だよ」という意味です。
名前とかセリフとかを指定するときには、大抵この" "が必要だと思って良いでしょう。
eramaker1との大きな違いです。
; はこれで命令おわり、という意味です。
; は、KAGでは「コメント」TJSでは「命令おわり」。基本であり大切なことなので覚えておいてください。
さて、変更したらあゆ.txtを保存し、エクスプローラを起動します。そして今編集した
「あゆ.txt」を「渚.txt」に変えてみて下さい。「渚txt」とか「渚..txt」とかにならないよう注意。「.」が全角なのもダメです。
(テキストを保存する段階で「名前を付けて保存」で「渚.txt」にしてもいいですが、その場合は保存した後にあゆ.txtを消しておいてください。エラーが出ます)
ゲームを起動して「あゆのカード」を買い、あゆの調教を開始してみてください。調教中の画面は「渚調教中」になっているはずです。
もちろん「あゆのカード」の名前も変えないとおかしいわけですが、これはもう少し後で扱います。
このように、
キャラフォルダにあるデータをどんどん変えていけばオリジナルのゲームになっていくわけです。
先ほど保存した渚.txtを改めて開いてみましょう。
さっき変えたのはキャラデータの名前の部分だけでしたが、ゲーム的にはもっと他の部分が重要なわけです。
*MAXBASE("体力") = 2000;
*BASE("体力") = 2000;
*MAXBASE("気力") = 1000;
*BASE("気力") = 1000;
*MAXBASE("射精") = 10000;
*BASE("射精") = 0;
*TALENT("処女") = 1;
*TALENT("臆病") = 1;
*TALENT("プライド低い") = 1;
*TALENT("習得遅い") = 1;
*TALENT("小柄体型") = 1;
*TALENT("V鈍感") = 1;
*TALENT("不思議な根") = 1;
*RELATION("名雪") = 200;
*RELATION("栞") = 150;
*OUTLINE_PARTS(0) = "セミロング";
この辺を改変していくことが、キモになってきます。
*MAXBASE("体力") = 1500;
*BASE("体力") = 1500;
*MAXBASE("気力") = 1000;
*BASE("気力") = 1000;
*MAXBASE("射精") = 10000;
*BASE("射精") = 0;
*TALENT("処女") = 1;
*TALENT("臆病") = 1;
*TALENT("素直") = 1;
*TALENT("献身的") = 1;
*TALENT("習得遅い") = 1;
*TALENT("小柄体型") = 1;
*OUTLINE_PARTS(0) = "ショートヘア";
こんな風に変えてみましょう。太字の部分が変わったところです。
いくつかの*TALENTと2つの*RELATIONが削除されていることにも注意してください。
今回も、文字列の前後の" "を消さないように注意。
データを保存し、さっきと同じように調教を開始してみましょう。

体力は最初から1500に減り、表示されるシルエットも変わっています。

素質もあゆのものと違っていますね。したがって、コマンドに対する反応も変わってきます。
これがキャラを改変するときの基本です。
なお、素質などを増やしたいときは、
*TALENT("臆病") = 1;
こういった行をコピーし、
*TALENT("臆病") = 1;
*TALENT("臆病") = 1;
↓
*TALENT("臆病") = 1;
*TALENT("素直") = 1;
こんな風に貼り付け&改変していくとミスが出づらいです。
あゆは「従順」「C感覚」などの初期能力が何もないキャラでしたが、今度は名雪を改変して初期能力のあるキャラを作ってみましょう。
名雪.txtを開き、
var DATA_NAME = "早苗";
二行目をこう。
初期状態で↓のようになっているデータを、
*TALENT("処女") = 1;
*TALENT("素直") = 1;
*TALENT("保守的") = 1;
*ABL("従順") = 1;
*ABL("欲望") = 2;
*ABL("技巧") = 2;
*ABL("C感覚") = 2;
*EXP("自慰経験") = 120;
*RELATION("あゆ") = 200;
*RELATION("香里") = 200;
*RELATION("秋子") = 200;
*OUTLINE_PARTS(0) = "ロングヘア";
こんな風に変えてみます。
*TALENT("素直") = 1;
*TALENT("献身的") = 1;
*TALENT("保守的") = 1;
*TALENT("V敏感") = 1;
*TALENT("謎の魅力") = 1;
*ABL("従順") = 1;
*ABL("欲望") = 2;
*ABL("技巧") = 2;
*ABL("C感覚") = 2;
*ABL("V感覚") = 3;
*EXP("自慰経験") = 20;
*EXP("V経験") = 100;
*RELATION("渚") = 200;
*OUTLINE_PARTS(0) = "ロングヘア";
コピーして貼り付けのテクをうまく使いましょう。
できあがったら保存し、「名雪.txt」を「早苗.txt」に変えます。
そしてゲームを起動し、名雪の調教を開始すると、めでたく早苗調教中に。

非処女なので初日から感じてたり。
さて、早苗ができたので渚.txtを開き、
*TALENT("小柄体型") = 1;
*OUTLINE_PARTS(0) = "ショートヘア";
↓
*TALENT("小柄体型") = 1;
*RELATION("早苗") = 200;
*OUTLINE_PARTS(0) = "ショートヘア";
このように渚→早苗の相性データも入力しておきましょう。
これだけでも、どこかで見たような親子を調教するゲームができてしまったわけです。
(余分なキャラがたくさんいたり、カードの名前がおかしかったりしますが)
複雑な効果のアイテムを作ろうとすると大変ですが、とりあえずアイテムの名前や「アイテムが売っているかどうか」を変えるだけなら簡単です。「
キャラデータを変えてみる」でもせっかくキャラの名前を変えたのにアイテムの名前はそのままだったりしたので、ここを変えてみましょう。
eradataフォルダのeraitem.tjsを開きます。拡張子がTJSなので
文法はTJSです。
色々と書いてありますが、とりあえずこの2行に注目。
ITEM_NAME_DIC.Set("あゆのカード",50);
ITEM_NAME_DIC.Set("名雪のカード",51);
↓
ITEM_NAME_DIC.Set("渚のカード",50);
ITEM_NAME_DIC.Set("早苗のカード",51);
このように変えます。" "を消さないように今回も注意。
保存してゲームを起動します。ちゃんと「渚のカード」「早苗のカード」になったはずです。
アイテムの値段を変えたいときは、
*ITEMPRICES(50) = 300;
ここをいじります。
*ITEMPRICES(50) = 10;
こうすれば渚のカードは$10で変えることに。(10は半角じゃないとダメです)
ITEM_NAME_DIC.Set("渚のカード",50);
で指定した50という番号と、*ITEMPRICES(50)の50が対応しているわけです。したがって早苗のカードの値段をいじりたいなら51のほうをいじります。
保存したら、今度はeramainフォルダのinit.ksを開きましょう。
20行目あたりから
//初期状態で売っているか?
*ITEMSALES(0) = 1;
*ITEMSALES(1) = 1;
*ITEMSALES(2) = 1;
*ITEMSALES(3) = 1;
*ITEMSALES(4) = 1;
*ITEMSALES(10) = 1;
*ITEMSALES(11) = 1;
*ITEMSALES(20) = 1;
*ITEMSALES(21) = 1;
*ITEMSALES(50) = 1;
*ITEMSALES(51) = 1;
*ITEMSALES(52) = 1;
*ITEMSALES(53) = 1;
*ITEMSALES(54) = 1;
*ITEMSALES(55) = 1;
*ITEMSALES(56) = 1;
*ITEMSALES(57) = 1;
*ITEMSALES(58) = 1;
こんな風になっていますが、この後半をバッサリ消してしまいます。
//初期状態で売っているか?
*ITEMSALES(0) = 1;
*ITEMSALES(1) = 1;
*ITEMSALES(2) = 1;
*ITEMSALES(3) = 1;
*ITEMSALES(4) = 1;
*ITEMSALES(10) = 1;
*ITEMSALES(11) = 1;
*ITEMSALES(20) = 1;
*ITEMSALES(21) = 1;
*ITEMSALES(50) = 1;
*ITEMSALES(51) = 1;
こうすることで、50番の渚のカード、51番の早苗のカード以外は店に出てこなくなります。保存後、実際にゲームを起動して確かめてみましょう。
調教シーンの反応を書いていくのは少し難しいのですが、日常シーン(調教シーンと調教シーンの間に挟まれる、日々の描写)ならもっと簡単に書くことができます。
scenarioフォルダのsce000000_0.ksを開いてみましょう。.ksで終わっているので
文法はKAGです。
*オープニング
[cm]
[fadeinbgm storage=イベント time=3000]
………。[p]
[fadeoutbgm time=500]
[jump storage=shop.ks]
こんな具合になっています。fadeinbgm(BGMがあれば、フェードインしながらBGMを鳴らす)からfadeoutbgm(BGMが鳴っていたら、フェードアウトしながらBGMを消す)までの間が文章を書くべきスペースです。
[fadeinbgm storage=イベント time=3000]
ひょんなことから、親子を調教することになった。[l][r]
どちらもなかなかの美人だ。[l][r]
しかも、娘のほうは処女らしい。[p]
[cm]
何から仕込んでやったものか。[l]どうにも心が躍る。[l][r]
しばらく楽しむことができそうだ……[p]
[fadeoutbgm time=500]
たとえばこんな三流悪役風テキストを入れてみます。
[l]と[r]は、「
KAGについてちょっと理解する」でも出てきた入力待ちと改行のタグ(命令)です。
[p]は、
ここで改ページという意味です。ゲームのメニューにある「文字表示」→「表示速度」→「ページ末まで一気に」というのを指定すると、この[p]タグがあるところまで一気に読み進みます。
[cm]は、画面消去という意味です。[p]タグをつけた後は、こうやって手動で画面消去をする必要があります。
これらの
タグは半角で書く必要があります。
その他はただの文字入力です。好きなように文章を書けばいいでしょう。
これを保存してゲームを起動すると、書いたとおりにオープニングメッセージが表示されるようになったはずです。
今度は
scenarioフォルダのscedefault.ksを開いてみましょう。
前半部分は「1日目午前」などの時間表示のための部分です。
[p]
[jump storage=shop.ks]
そのため、ここの間に文章を書きます。
[p]
[cm]
さて、今日はどんな調教をしてやろうか……?[l][r]
俺は調教部屋に向かった。[p]
[jump storage=shop.ks]
最初にcmを入れることで、「1日目午前」などの表示を消すことが出来ます。
これを保存してゲームをプレイすると、毎日の始まりのメッセージが書いたとおりに変わったはずです。
さらに、2日目限定のイベントを作ってみましょう。
最初に作ったsce000000_0.ksをまた開いてみて下さい。そしてそれを、「名前を付けて保存」で「sce000001_0.ks」という名前にします。
2日目なのに「1」なのがわかりづらいところですが、あまり気にしないでおいてください。
保存する先はもちろん、同じ
scenarioフォルダです。
*オープニング
↓
*2日目
そして一行目をこのように変えます。*は半角です。
あとはオープニングを作ったときのように、適当にテキストを入れてみます。
*2日目
[cm]
[fadeinbgm storage=イベント time=3000]
昨日の晩は興奮してなかなか眠れなかった。[l][r]
あの親子はどうだっただろうか。[l][r]
俺とは違う意味で眠れなかったに違いない……[p]
[fadeoutbgm time=500]
[jump storage=shop.ks]
こんな風にして保存し、ゲームをプレイしてみます。2日目の最初に表示されるテキストがsce000001_0.ksの内容になっていたはずです。
ここで注意しなくてはいけないのは、先頭の「*2日目」というところではなく、「sce000001_0.ks」という
ファイル名によって呼び出されるイベントが決定しているということです。
「sce000002_0.ks」というファイルを作れば3日目の午前に、「sce000001_1.ks」というファイルを作れば2日目の午後にイベントが発生します。該当するファイルがなければscedefault.ksが呼び出される。そういう仕組みです。
「erakanon eramaker2テンプレート版」では、「メイン」「能力アップ」「イベント」「エンディング」の4つのシーンに曲を割り当てられるようになっています。dataフォルダ内の
bgmフォルダに鳴らしたい曲を突っ込めば、自動的に音楽が鳴るようになります。
ただし、eramaker2(というか吉里吉里)では
mp3の再生に対応していません。wav形式かogg形式を使うことになります。wav形式は非常にファイル容量が大きくなりますから、ogg形式にするのが現実的でしょう。最近はフリーソフトでもogg形式に簡単に変換できるソフトが色々とあります。Googleで「ogg mp3 変換」などで検索すればすぐに見つかるはずです。
http://www.google.co.jp/search?q=%ef%bd%8f%ef%bd%87%ef%bd%87%e3%80%80%ef%bd%8d%ef%bd%90%ef%bc%93%e3%80%80%e5%a4%89%e6%8f%9b

そしてできあがった「メイン.ogg」や「能力アップ.ogg」といった音楽ファイルを
bgmフォルダに入れれば音が鳴ります。
また、
キャラごとに調教時にかかるBGMを変えることもできます。たとえばあゆ調教時の曲を設定したいなら「あゆ.ogg」を、渚調教時の曲を設定したいなら「渚.ogg」を
bgmフォルダに入れてください。
音楽データはインターネット上に色々とフリー素材がありますが、もしゲームを他人にプレイしてもらうために配布するなら、自由に使っていい
フリー素材を使用する場合もxp3化しましょう。「
eramaker2 ガイドライン」を確認しておいてください。
ゲームを再配布するにしても、ゲームの名前が「erakanon eramaker2テンプレート版」のままでは困ります。
dataフォルダにあるGameName.txtを開きましょう。
//ゲームのタイトル。ウィンドウの一番上に表示されます
System.title = "erakanon maker2テンプレートバージョン β2.3版";
こんな具合になっているので、好きな名前に変えて下さい。" "を消さないように注意するのは今回も同じです。
続いて、同じところにあるGameInfo.txtを。
var AUTHOR="佐藤敏(サークル獏)";
var GAMEYEAR="2009";
var GAMEINFO=["erakanonをeramaker2に移植したものです。"];
ここも同様に変えていきます。作った人、作った年、基本的な説明です。GAMEINFOの部分は[" "]でくくられていることに注意。
var GAMEINFO=["これは、","調教する","ゲームです。"];
なおこんな風にすると、タイトルで表示されるゲームの説明を複数行にすることもできます。一行ずつ" "でくくり、その間は , で区切ります。 , は半角です。
もっと色々と設定したいという人に、1つだけ。dataフォルダ内
systemフォルダのConfg.tjsを開いて下さい(Config.txtではありません)。
色々と難しいことが書いてありますが、550行目あたりにこんなところがあります。
// ◆ 文字の色
// デフォルトの文字の色を 0xRRGGBB 形式で指定します。
;defaultChColor = 0xffffff; // deffont タグの color 属性に相当
↓
// ◆ 文字の色
// デフォルトの文字の色を 0xRRGGBB 形式で指定します。
;defaultChColor = 0xffcccc; // deffont タグの color 属性に相当
こんな風にしてみましょう。ゲームを起動すると、文字が薄赤くなっているはずです。
Config.tjsは他にも色々と変更できますが、難しいところでもあります。色々いじくるのはもっと吉里吉里に慣れてからにしましょう。
ここまでの設定をこなし、dataフォルダの
erakojoフォルダにあるファイルを全部消してみましょう。
これだけでも、調教SLGとして最低限の体裁はととのい、表示される情報に矛盾はなくなっているはずです。
もっともこれだけではいくらなんでも寂しいですし、一発ネタ以上の反応を得ることは難しいでしょう。
次からは、より進んだ改造に手を出していきます。
Last Updated : 2009-4-20
http://cbaku.com