2007/04/15(日)

著作権のグレーをホワイトにする簡単な方法

カテゴリー: 雑記 — KAY @ 20:24:41

権利者が許諾してしまえばいい。
なんで巷の企業やアーティストはこれが出来ないんだろう。
例えば、エロゲメーカーなんかだと二次創作に関して明確なガイドラインを設けているところが多いです。
こういうのを、著名な企業がやってくれればなあ……。

そりゃ、パクりやコンテンツの完全な複製はもちろんダメですよ。でもその辺は法律家と相談でもして線引きすればいいだけの話ではないのかな?
例えば、

  • 画質(音質)の最低ラインを決めて、それ以下の画質(音質)での配信ならばOK。(WEB限定)
  • 基本的に引用、二次創作は問題ないが、元コンテンツのイメージを著しく損なう表現は禁止する。
  • 引用、二次創作、規定の範囲内(1番目の項目)での複製物を公開する際に、コピーライトの表記は基本的に必要ないが、著作者を偽る、あるいは著作者が別のものであると誤解を与えかねない公開の仕方は禁止する。

みたいな感じ?
KAYは著作権とか、全然詳しい人ではないので結構穴だらけかもしんないけど、その辺はご容赦。
別にこれの通りじゃなくてもいいんだけど、とりあえず言いたい事は、著作権を持ってる側はボーダーラインを極限まで下げてガイドラインを公開してよと。
マジでこれやってみて、利益と損失、どっちが大きいか実験してみて欲しいな。
というか、上記のようなガイドラインを設ける事で出てくるデメリットって、具体的にどんなのがあるだろう。ちょっと今すぐには思い付かない。ボーダーラインを下げれば、今まで違法とされてたものが違法じゃなくなるわけで、その分訴訟や警告の手間も減るだろうし。
逆に、広告費ゼロで莫大な宣伝効果が得られるというメリットはすぐ思い付くんだけどな。

2007/04/10(火)

文字描画レイヤ

カテゴリー: ゲーム制作, 吉里吉里 — KAY @ 23:18:30

ようやくお披露目、前からちょくちょく話に出してた文字描画レイヤです。
KAGのMessageLayerは非常によく出来ているのですが、いくつか痒い所に手が届かない部分があったので、それなら自分で作ってしまえと。
……のはずだったんですが、シナリオ側の記述で結構フレキシブルに使えるんですよねMessageLayer。^^;
例えば、リファレンスを鵜呑みにして複数文字にルビを振ろうとすればこういう感じになるんですが……

[ruby text="ひ"]向[ruby text="まわ"]日[ruby text="り"]葵

実際はこんなやり方で均等にルビを配置する事が可能なわけで。
あと、KAGはベタテキストを1文字ずつに分解してchタグとして解釈するので、袋文字を利用している場合に罫線『──』のような、2文字以上がひと続きとなる文字が現れると、2文字目の縁取り部分が前の文字に重なってしまい、文字が途切れてしまうという問題があったんですが(Fateで顕著だった気がする)、これも[ch text="──"]と書いてやる事で簡単に回避できちゃうんですよねー。

というわけで、今回紹介する文字描画レイヤのアドバンテージは、FontクラスのプロパティやdrawText()の引数が全てシナリオファイル側の記述で制御できる、という点くらいに……。
このレイヤクラスは、chなどで文字が送られてきてもすぐに描画するわけではなく、一旦partsと呼ばれるバッファに溜め込み、描画したいタイミング(クリック待ちの直前など)でprint()メソッドを呼び出して一気に描画する、という方法を取っています。
エロゲをインストールしたら即効で文字速度を最速に設定してしまう人用。^^;
まあ、KAGParserがテキストを1文字ごとに分解して吐き出すので、タグハンドラの書き方次第で1文字ごとの描画も全然いけますが。

(続きを読む…)

2007/04/07(土)

KAGで複数文字に渡るルビを振る

カテゴリー: ゲーム制作, 吉里吉里 — KAY @ 23:52:23

ああなんて事。
KAGでこれが出来ると判ってたら、一からシステム作ろうとは思わなかったかも……。

KAGシステムのrubyタグは、タグが現れた次の1文字に対してルビが振られる、……とリファレンスには書かれています。
まあ間違いでは無いんですが。KAGParserはベタテキストを1文字ずつに分解してchタグとして解釈するので。
でも実際は、内部的には次の1文字ではなく、次に現れるchタグに対してルビが振られる、という挙動を採っています。
なので、こういう風に書いてやると……

[ruby text="ひ ま わ り"][ch text="向日葵"]

あはは……ほら……3文字に渡ってルビが振られるじゃん……。
マクロ化するとこう。

;マクロ定義
@macro name=mruby
@ruby text=%r
@ch text=%text
@endmacro

;使用例
[mruby r="ひ ま わ り" text="向日葵"]

ルビの文字間隔は半角スペースや全角スペースなどで調節する必要がありますが、これで少なくとも文字間隔が不揃いになるという事はなくなります。はぁ……。
近いうちにKAYの作った文字描画レイヤ紹介します。
複 数 文 字 に 渡 る ル ビ を 振 る こ と が 可 能
なやつ。