ラノベ日記

ラノベの感想用

カテゴリ: Ajaxギャルゲー

ようやく暖かくなり始めましたが、今年は寒すぎです。
てか、社員寮の自室が寒すぎて、作業に向かない。

で、マクドナルド。
・(あまり知られてないけど)コーヒーはおかわり自由
・24時間空いてる店もある
・かなり混んでなければ、絶対追い出されない。
 (長時間の居座りにも嫌な顔されない)
・しかも無線LANが使える(電源使わせてくれる店もある)

PC持ち込んで作業するには最適です。

WEBアプリケーションフレームワーク Rails3使ってみた。

全体で「規約は設定に勝る(Convension over Configuration)」という思想が貫かれていて、とにかく動かすための設定が少ないのが特徴。

設定が少ないというよりは、予め決められた特定のファイル名、特定のメソッド名を強制させることで、設定ファイルを不要にしているようです。

⇒.NETのForms等でイベントを設定する場合は、コンポーネントにメソッドやデリゲートを登録しますが、Railsでは不要です。

Railsの場合、予め定められたメソッド名を付けると、自動的に登録された状態になります。


ファイル名や、変数の命名規則にも意味があるというのは、コーディング規約で悩んだことのある人間にとっては朗報ですね。
(コーディング規約通りに書かないと動かない=絶対に守られる)

InfoseekのHP作製サービス isWebが終了したらしい。

hoopsを吸収して、lycosを吸収して、最後に残ったのがinfoseekだった。

てか10年前は、YahooとLycosが片並べててGoogleが全然有名じゃなかった。
(Lycosって覚えてるか?
 ラブひなのアニメ使って、HP作製サービスのCMやってたんだが……)

情報発信の革命とか言われて登場したHPも
HP→BLOG→SNS→Twitter
と変化し……

HTMLも、いつのまにやらHTML5になった。

10年……短いようで長いですね。

ギャルゲー(ADVてか、ノベルゲー)は場面の連続という構造をとっており、「つなぎ」が重要になるとおもうのですが……

現在、同人サークルが気軽に使えるフリーのシステムでは、何故かあまり重要視されていません。

※ワイプとか、クロスフェードとか「見た目の種類」そのものは豊富でも、画面転換と、BGM、SEの制御を同時にできなかったりします。(できても開始を合わせる程度だったり)
※数フレーム単位での制御ができれば表現力がかなり上がるはずなのですが……


その点、Silverlightにはフレームワーク自体に数ミリ秒単位の依存プロパティ制御システムがありので、これを使うだけでつなぎの制御はずっとやりやすくなるはず。


とか思ったのですが、とりあえずデモ版作らないと効果も分かりませんね……

前回、SilverlightはHTMLファイルとXAPファイルを別ドメインに置くと動かないと書いたのですが、それはサーバー側にMIMEタイプの登録がない場合のみで、XAPファイルのMIMEが登録されてるサーバーなら問題なく動くようです。

拡張子.xapのMIMEとして「application/x-silverlight-app」が登録されているサーバーに置いた場合。
※Silverlight2以降「application/x-silverlight-2」が使われてるのですが、これはプラグインのバージョン識別用で、拡張子に対する設定は-appが継続されるのか、-2では動きませんでした。

↓↓↓
Get Microsoft Silverlight

↑↑↑

で、気になる別サイトに置いたアセンブリとかリソースを取りに行く場合の挙動ですが―(目標はSLでギャルゲーを作ることですから、リソースの扱いが非常に重要になります)
SL開始
まず、ZAPファイルの読み込み
 この段階で、クロスドメインの確認は一切行われていません。
※XAPファイルには動画・画像・音声と関係リソース全てを格納できるので、学校・企業等のストリーミングが禁止されているような環境への配信を考えた場合に、全部詰め込むというのが一つの解決策になります。
(SLはFLASH並みの普及が予想されますので、XAP自体がフィルタリングされる可能性はかなり低いはずです)

しかし、XAPファイルに全てのリソースを詰め込んでいては、XAPファイルが数100MBになり、ロード時間が極度に長いページになってしまいます。

対策として、例ではトランジッションライブラリ(SLTransitionEffect.dll:2MB)と画像ファイル(IMAGE_xxx.jpg)をXAPの外に出しました。
(スプラッシュ画面以外をDLLに分離することで、ページ表示までの時間が短縮されます) (リソースを分離すると、画像が肌色割合等でフィルタリングされる環境への配信が難しくなるかもしれませんが、服を着た作品することで対策可能です)
起動に必要な最小構成以外を分離することで、貧弱な回線であったとしても、とりあえずスプラッシュなり、説明文なりを表示することが可能になります。

別ドメインとの通信
REST問い合わせ

例では、リソースとしてURIが選択された場合に、Gooleの画像検索APIにREST形式の問い合わせをしているのですが、こちらではcrossdomain.xml(clientaccesspolicy.xml)の確認があります。

画像を別ドメインから読み込む場合ですが、この場合特に前確認はありません
(RefererはXAPファイルになります)

以前、ISBN→書籍情報でお世話になったAmazon APIが仕様変更になるようです。

メールによると
>2009年8月15日 までに、必ずご利用いただく全ての
>Product Advertising API リクエストに署名認証を
>含めていただきますようお願いいたします。 移行期間
>終了後に認証を含まないリクエストが送信された場合、
>リクエストは一切処理されなくなりますのでご注意ください。

今後、署名無しリクエストには応答しないという事らしいです。
てか、Amazonのサービス規模考えると、相当な影響ですよ?

至る所に付いてるAmazonリンクが、管理者が対応しない限り
表示されなくなると……

一度始めてしまったWebサービスは、お客様がいる場合、早々簡単に止められないものですが、Amazon規模だと違うって事ですかね(外資だからか?)

てか、リアル勤務先のWebサービス……
全く時代遅れなのに、予算も無くお客様もいるからと、全く改良できないのですが…

Amazonの書籍データベースから、書籍情報取得してリスト化するアプリ作りました。
⇒ファイル書き出ししないので、エクセルにペーストして使う。


[ISBN_Loader_exe.zip(EXE形式)]
[ISBN_Loader_setup.zip(Setup形式)]
※.NET Framework3.5必須です

まぁ、北海道に出向って事で引越し準備開始。

大学の時にも思った事ですが本が場所とり過ぎ(ラノベが年100冊近く増えるせいだな)
ブックオフに持ち込んでも、1冊10円とか…(元々ブックオフから買ってるの多いし、100冊で1000円)

大学卒業時は全部実家に送りましたが、数年でまた数百冊。
実家においてきた分が今後読めるのかどうかも…

で、またもや引越しって事で考えたのが母校の図書館への寄贈。
てか小中学校の図書館とか、最高のラノベ布教場所じゃないか!?

てことで、リスト化して母校に引き取ってもらえないか回答待ち。

●Amazon Web Serviceについて
基本的にGET渡し、返信はXML
使い方のサンプルです「IsbnLoader.zip(C#ソースファイル)」

で、返信フォーマット
aws_res.xml(XMLファイル)」

てか、仕様書これ。
http://www.amazon.co.jp/gp/feature.html?ie=UTF8&docId=451209

ノベルゲー(ADV)のGUIについての検討結果

右クリックした時の動作ですが、たいていのゲームでは
・システムメニューを呼び出す
・メッセージ枠を消去する
あたりが割り当てられてる気がします。

上記の2画面は、通常システムボタンからでも遷移できるので
 セーブ・ロードの回数<メッセージ枠消してCG見る回数
な人は、右クリックが「メッセージ枠消去」に割り当てられてる方が
便利に感じる気がします。

で、ちょっと検討してみたいのが、右クリック時に表示されるメニューが
コンテキストメニューのように移動したらどうかということ。

メニューの表示場所が移動式であれば任意の箇所を見られ、更に設定項目の削減という
ユーザーメリットも得られます。


■結果
実際にやってみたら微妙でした…
まず問題なのが、メッセージ枠の消去が画面のキャプチャ目的の場合。
 ⇒画面上にメニューがあっては駄目です。

まぁ、それ以上の問題が…
 メッセージ枠消してCGを見たい場合に、見たい場所を避けて右クリックしなきゃいけない点です。
 注目したい場所と、クリックする場所が一致しないというのは、とても重大な欠陥ですww

>操作方法が分からない。
主任から聞いた「車輪の国、向日葵の少女」の感想。

ADVゲームのユーザーインターフェイスは十分洗練されたものだと思いますが…
何が問題だったのでしょうか?
⇒PCスキルの無い方がADVをやった場合の貴重なサンプルと思われますので
 少し考えてみます。

●主任のプロフィール
 年齢:33歳、独身男性
 日常業務:金物屋の経理担当
 PCスキル:Wordが普通に使える
      Youtubeを一人で見られる
      アプリのインストールはできない

●主任へのヒアリング
Q.どの操作が分からなかったのか?
A.1.クリックのタイミングが分からない。
2.選択肢発生時の操作が分からない。
(当然ですが正しい操作方法は
 1.クリック待ち発生時にクリックする※台詞スキップ時は任意のタイミング
 2.選択肢をクリックする)

1.デザインモデルの齟齬?
(○○クン、パソコンでゲームできるって聞いたんだけど、本当?
 普通にできますよ。⇒たまたま手元にあった上記のゲームをインストール)
 主任のデザインモデル:ゲームとは特定のタイミングで、特定のコマンドを入力するもの
 ADVのモデル:選択肢を選ぶ事でストーリー遷移が変化する
 ⇒こりゃ駄目ですね。

2.十分なアフォーダンスが提供されていなかった?
 操作方法が分からないと言われて、改めて見直したところ、
 あかべぇそふとのゲームにはクリック待ち記号がありませんでした。
 ⇒マウスのアイコンがあれば、クリックという操作を類推できる?

 下記が、主任が操作が分からないと言っていた、選択肢の画面です。
 ※マウスのロールオーバーで色が変わります。


 ⇒ボタン状にエンボスされていないから分からなかったのか?
 ⇒文字にハイパーリンク風の下線が無いから分からなかったのか?

 てか格ゲーの操作できるなら、ノベルゲーの操作は楽勝だと思うのですが…
 ギャルゲー拡大の為には、更なる調査が必要なようです。

 てか、なかなかテストできないんだよなぁ。

ASP.NET使ってみるのはよいとして……
公開できるのか?
ってので困ってたのですが……

ASP.NETの普及に躍起なMSさんの所に無料鯖の紹介がありました。

ASP.NET ホスティング サービス情報


で、鯖の確保はできた。
(まぁ、ほんとにASP.netの普及が目的らしくPerlもPHPも使えないのですが…)
要領:100MBまで、利用料:無料
  • SQL Server 2005

  • ASP.NET 2.0

  • ASP.NET AJAX 1.0

  • Windows Server 2003 R2

  • .NET Framework対応



で、テストページ作って公開してみる。

http://esper776.dev-asp.net/ASP_TEST/test_web1/default.aspx


感想。
ASP.NET……こりゃ、便利かも?
ちょっと見ただけですが、クライアント側のJavaScript一切書かずに
Ajax処理ができてます。

で、MSの説明によれば
ブラウザの判定、ブラウザ毎に異なるJSをサーバー側で自動生成

まだこれからですが、試してみる価値はありそうです。
#これはにまったら、他の環境への移行100%不可能です……
#判断は慎重にしないと……

とりあえず、食わず嫌いもありそうなので、導入方法。
開発環境
→Visual Web Developer2008をダウンロード

開発用のHTTPサーバーが内蔵されてるので、IISが無い環境でも使用できる。

AJAX用拡張

・ASP.NET 2.0 AJAX Extensions 1.0
・ASP.NET 2.0 AJAX Templates for VS2008
をダウンロード


IISが導入できる場合(XP Pro, Vista Preminum以上なら可能)
では導入時に必ず、ASPを有効にして下さい。
※VWD2005導入時にこれで、うまくいかなかった……