はてなの方針を検討中

 YaneSDKの解析と活用を目的とした、"InsideYaneSDK"というサイトを運営しているのですが(http://someiyoshino.cool.ne.jp/insideyanesdk/wiki/wiki.cgi)、丸一年放置しています。いかんいかん。
 一年前まではYaneSDK3rdを拡張したゲーム開発フレームワークを作ろうとしていたのですが、公私共に色々あって開発が止まっていました。今年は夏コミに出すゲーム(これはちょっと捻っただけの普通のサウンドノベル)と平行して、このフレームワーク開発にとりかかりたいと思っています。途中で3rd系の副産物が出来たらどんどん公開出来たらいいなあ(妄想)。

 YaneSDK3rdは、2ndと比べて遥かに洗練された設計思想に基づいたゲームライブラリだと思うのですが、なにがいけないのか2ndと比較してアマチュアレベルでの利用頻度が低いようです(詳細は知らないです。不確かな知識ですんません)。これはとてももったいない話だと思います。

 ただ、Interfaceクラスをベースとするスタイルも活用しきれているかというと微妙だったり、こうなってればもっと使いやすいのにとか思う部分は多いです(あくまでみはえるの使い勝手の話です。今回言い訳が多いな^^;)。マニュアルの整備や、サンプルの提示、ユーザコミュニティの形成なども利用者を増やすには必要でしょう。

 それをYaneSDKでやるのが良いのか、YaneSDKを拡張した独自ライブラリでやるのが良いのか、一年前の自分は迷っていたのですが、今になって別にどっちだっていいじゃんという境地に達したので(爆)、今後つらつらとアイデアを書いたり実装をアップしたりしたいと思います。

 今回はネタがまだないので1年前に途中まで作ったコードの話。

 YaneSDKのネックの一つ(とみはえるが考えている所)にテキスト描画があります。CTextDrawは手軽にテキストが表示出来て、それはそれで良いのですが拡張する際にちょっとやっかいな形になってます。
 CTextDrawは、2nd時代に商業ゲーム用に作ったテキスト表示クラスをラップして汎用化させた物の為、デフォルトで文字に影がついていたり、フォント情報設定する為に集約されているクラスに間接アクセスしなければいけなかったりして、拡張しようとすると結構大変なのです*1
 そこで、TextLayerObject(TLO)というクラス群を実装しました。親子関係を持ったcara,line,pageクラスが、それぞれ文字、行、ページの描画ルールをファンクタで受け取り、任意テキスト表示を実現するという物でした(デザパタを知ったばかりなので影響されてます。lightwegihtパターンでしたっけ? 違うかも)。あ、良くみたらファンクタになってない。どうする気だったんだ俺?(覚えてません)
 久しぶりにみたら、よくわからないコーディングしてるなあという気分です^^;。当時とはポリシーがかなり変わっているのでしょうがないんですが。例えば、当時は2重禁則処理をlineオブジェクトにルールとして与えて、自動的に文字送りするようにしようと思っていたのですが、今は、可能な限りプリプロダクションで処理を終わらせようと考えているので、そういう処理は必要ありません(改行コードが既に挿入済みという事)。
 てなわけでこのTLOは多分使わないので公開しようと思い、一年ぶりに引っ張りだしてきたところ、VS.NETがいかれてて動作確認すら出来ませんでしたというオチ。チャンチャン。

*1:ここら辺随分前に解析したので詳細が違ってるかも。すんません。