2015-06-01

ふぅ

 バイオ4は面白かったです。いくつか(主に操作系に)不満はあるし、QTEはほんとクソシステムですが、全体的な評価としては名作と呼ばれるのは当然だと思います。
 ただPCでやったのは失敗かもしれません。PS2が動かせた時期にそっちでやっておけばよかった。マウスの方がAIMは楽でしょうけども、移動と同時にカメラが強制的に前方に動いてしまうのはありえない。移動する前に敵を画面に捉えておくことができない上、レーザーポインタが見づらいのもあって、移動してすぐに敵を狙うのはつらすぎる。ハンドガン縛りプレイというのをやったんですが、ガトリング軍曹が出てくるところであきらめました。

 あとはひっっっっっっさしぶりに、ノベルゲームをやりました。私は基本的にこのタイプのものはゲームとして遊べないのでやらないんですが、なんとなくやってみた。
 面白かった。うん。
 あ、エロゲーじゃないよ? ギャルゲーなのかな? 男キャラのがお気に入りなんですが。

 というわけで、ちょっと先月は中盤からゲームばっかりやってたので、そろそろまた本格的に製作に戻りたいと思います。依然として、推理ゲームの方向で練ってますが、うまくいくかは不明。ゲームシステムはだいたいこんな感じだろうというところで落ち着いてますが、話がまとまらない。穴だらけの犯行ではばかばかしいし、穴がなくては捕まえられないし。
 さじ加減って大変ですね。

 ほかにいくつかちょろっとしたアイデアがあるので、ほかのタイプのゲームを作ってもいいんですが、何にせよリハビリとして一つ作りたいんですよね。小さいのを。
 もうしばらく考えてまとまらなかったら、また別なのにしますかね・・・。

スポンサーサイト



2015-06-06

さてと

 推理ゲームの話の全体的な流れは考え終わりました。まぁ、強引な展開もありますが、たいていそういうのってあるよね? ね?
 当初の予定よりも、物語の比重が大きくなった気がします。もっとゲーム的に、ひたすら矛盾を見つけて指摘していくゲームだったんですが。それだと、インターフェースというか、ゲームを進展させる手続きの据わりが悪くて・・・。
 可能な限り単純化して、事件関係者を三人まで絞ったんですが、それでもちょっと複雑な話になってしまった気がします。事件関係者のうち1人は被害者で死亡してるから、実質二人しかいないのに!
 もっとこう・・・逆転裁判第一話みたいにすぐに解決できるものする予定だったんですが。まともな脳みそもってたらこれはしないよなとか、これはこうするだろうとか、考えてたら・・・。またちょっと、難易度高いと言われるのかもしれません。できるだけ理不尽な展開にならないようにはしたいと思います。

 とりあえず、次はひとまず証拠資料と、それらを入手するイベントを登録するためのエディタの作成に入ります。しばらく前にやったC#の経験が活かせるでしょう。
 それを片付けたら、ゲームの基本的な進行部分を用意して、実際にエディタのデータを読み込んで利用できるかを確認し、これが出来たらひと段落。
 あとは、いくつかのシーンと、ひたすら証拠資料とイベントを作るだけ。この辺りまできてしまえば、完成は間違いないでしょう。たぶん。いくら予定より複雑になったとはいえ、捌ききれないようなボリュームではないはず。余計な機能を取り付けようとしなければ大丈夫なはず。

 ときに、SkyrimでMODを作ろうとしたんですが、挫折しました。
 パピルスまじむずい。あれ、意味わかんない。約束事多すぎ。ほんのちょっとした当たり前の、ただリファレンスを代入するだけの処理であきらめました。
 C++簡単。C#マジ天使。

2015-06-15

C#のListView

 いやぁ・・・結局Skyrimのスクリプトをいじって一週間ほどたってしまいました。約束事が多すぎていまだに良く分かりませんが、ある程度は触れるようになりました。
 とはいえ、結局作りたかったMODは仕様上無理か、困難みたいなのであきらめましたが。
 しかしパピルスを触った後遺症が出ています。C#でコードを書くときに、文末に;を付け忘れます。つけるのめんどくさいとか思ってしまう。パピルス書いてたときはつけないのが気持ち悪かったはずなのに。

 さて今回の記事は、C#でListViewを使うときの注意事項についてです。
 大戦略モドキのときのエディタ作成で判明した事なのですが、ListView内のItemをクリックして、青いライン表示が出ているときは、そのItemが選択されているのは当然です。しかし、ほかのなにか、たとえばTextBoxなんかをクリックしてフォーカスを移し、青いラインが消えていても、まださっきのItemが選択状態になっている事には注意が必要です。

続きを読む »

2015-06-16

エディタ完成

 予定より二日ほど遅れましたが、エディタは完成しました。
 次は、このエディタで設定したデータを本体となるゲームプログラムで読み込み、意図したとおりに処理できるようにするわけですが、まずはいつもどおり基本処理から作ることになるでしょう。
 ウィンドウを表示して、オブジェクトを表示して、フレームエンド処理を実行できるようにして・・・そういうどのゲームでも必要になる当たり前の処理はパターン化されてますが、ライブラリとしてまとめてあるわけではないので、結局毎回作り直すんですよね。めんどくさいんですが、アクションゲームとSLGでは作り方が違う場合があるので仕方がない。でも、ウィンドウとオブジェクト表示まではいつも一緒かなぁ。そろそろこの辺りまでライブラリに用意してしまってもいいかもしれません。

 今月中には、基本的なゲーム処理を完成させて、ゲームを数日進められる状態にしたいなぁ。

2015-06-24

VisualStudioのバグ・・・と考えていいんだろうか

 HOIやったりしてて、またちょっと作業が滞りましたが、一応順調に製作が進んでおります。
 ただ、今しがた解決不能な状態になりまして、何とか動いた出来事について記事を残しておこうと思います。
 私は定数宣言ヘッダというのを使ってるんですが、そこに書いた

const char DataDir[] = "data";

 がエラーを吐き始めました。すでにあるobjで定義されてるよと。このヘッダはいろんなところから参照されるので、複数回定義されるのは当然なのですが、すべて定数です。定数である以上、以前の定義と変化がなければコンパイルは通ると思っていました。
 ところがどうやっても通らない。しまいには、この行を消しても通らない。何がなんだか分からず、定数でも多重定義で怒られるケースについて調べてみましたが、見つからない。

(何がなんだか分からない・・・)

 と、膝を抱えそうになりましたが、objファイルのバックアップをとって、すべて消してみました。そしてコンパイルしなおすと・・・通りました。正常動作です。
 いままでこんな意味不明な挙動を見せたことはなかったんですが、これはVSのバグということでいいんでしょうかね。とりあえずこれで、どうしても理解できないエラーが出たらobjを消すという選択肢ができました。

2015-06-27

リビルド病

どうやら、先日のobjを消す作業は、リビルドしても同じ効果があるのかもしれません。
なぜかたびたびおかしな動作を見せるようになり、ちょっと気になったらリビルドする癖がつきました。半分くらいはそれで治ります。
むぅ。

さて、ゲームの基本的な仕組みは出来上がりました。
エディタから読み込んで、条件成立をチェックしてイベントを発生させると。まだ最小限の状態なので、見づらかったり操作しづらかったりはしますが、その辺はおいおい調整しましょう。
一番難しかったのは、テキストの表示でしょうか。SummonPanthersのときは半角が入るとおかしくなったんですが、今回はその辺もばっちり。ただし、クリックで全文を強制的に表示させたときに文字化けするケースがあるので、まだ完成ではないらしい。
今回はスクリプトチックに、読み込みの強制停止地点を設定できるようにしました。テキストの中に\sと書き込むだけなんですが、これを見つけると、自動的にいったんそこで表示が途切れます。
この機能を使うことがあるかどうかは不明ですがw
< stop >とかの方が分かりやすいですが、確定で2バイト読み込むだけで分岐処理が作れる方が楽だなぁと。その代わり、分岐処理のつもりではなしに\を会話文に含めることはできなくなりましたが。どうせ使わないよね。

Copyright (C) 旅の雲. All rights reserved. Template by Underground