幻想伝説エッセイ

早く船を完成させて、大海原に飛び出したいのよ。

GetDirectories?

2009-09-29 20:35:55 | VBでRPGを作る
GetDirectoriesを使うと、指定したフォルダのサブフォルダを取得できるが、サブフォルダのサブフォルダはできないということだそうです。
CWはシナリオフォルダの下にASKのフォルダがあって、その下にシナリオ名フォルダがありますが、GetSubfoldersでは届かないということなのかな。
GetSubDirectoryは指定フォルダのサブフォルダをすべて取得できるようで、こちらなら届きますけど、CWではシナリオフォルダのさらに下のフォルダは読めませんよね。
この辺りはどうなっているのかな。
今やっているところはややこしくて、まだコードは書いてなかったりします。

よくReadmeに「このシナリオは△△なので、そういうのが嫌いな人はプレイを控えてくれ」みたいなことが書いてありますけど、自分はそういったことは書いたことがないんですよね。
自分の中に戦闘はおもしろいという価値観があって、戦闘がつまらないというのであれば、戦闘のおもしろさを伝えるというのがスタンスとしてありましたから。
やはり本当に良いと思えるものは、多くの人に伝えたい気持ちは出てくるでしょ。
エンジンが完成すれば次のステップに移れるわけですが、マイナーで閉鎖的なフリーゲームの世界のさらに先にいる一般層へアピールするためには、意識としてはやはり“開拓”ですよね。
こういうことってCWのように多くの人が集まって作られるゲームだからこそ、できることなんじゃないですかね。
ツクールのような単体のゲームでは、恐らく無理でしょ。
マンパワーと言うのでしょうか、大勢の人が集まるからこそ生まれる力があって、始めてできることのように思います。
まあそれもエンジンが完成して、無事にスタートできればの話ですけどね。

特定のファイルを抽出

2009-09-28 21:54:12 | VBでRPGを作る
意外と配列とループは使うことになりそうですね。
複数の項目を配列に代入して、ループを使って一覧させるようにするみたいです。
CWではWSMファイルにシナリオ情報が入っているみたいですが、そのWSMファイルだけを抽出して、CWエディタのシナリオ読み込みウィンドウにシナリオ名を表示させるようにしているのでしょうか。
それで特定のファイルを抽出して(とりあえずテキストファイル)、ファイル名をリストビューに一覧表示させるということをやってみました。
サンプルコードがリストボックス用のためか、必ずしも期待通りとまでは行きませんでしたが、一覧表示は成功したのでとりあえず良しとして、少しずつ修正していきたいです。
今回はループは使いましたが、配列は使いませんでしたね。

昔FFで出ていた「地獄の館」や「死のワナの地下迷宮」が、主人公を女子高生などにアレンジされて発売されているらしいです。
ネット上で好意的な意見をいくつか見ましたけど、個人的にはマジで泣けてきます(涙)。
クイーンズブレイドなるものも最近知りましたけど、こちらも元はまともなファンタジーなのに、こういうアレンジをしてしまうのかと。
まあでもアニメ化されるぐらいだから、人気はあるんでしょうね。
好きでやっているのか、売るために戦略的にやっているのか知りませんけど、売るためにここまで変えるというのは、絶対やりたくないなあ。

FileクラスのReadAllLineメソッド

2009-09-26 21:10:25 | VBでRPGを作る
Importsで名前空間を省略するには、Formクラスの外側の一番上に記述すればいいようです。
File.ReadAllLine(テキストファイル).Lengthとすれば、テキストの行数を得ることができるということで、何かしら使いそうな気はしますね。
行数の値だけもらっても意味はないですけどね。
FileはクラスでReadAllLineはメソッドでLengthはプロパティだそうです。
またIfを使うときに必ずしもEnd Ifが必要というわけではなくて、ブロック化するときにEnd Ifを記述するということみたいです。

グリーンドラゴンやレッドドラゴンなどと色で種類分けするのって、D&Dの設定なのかな。
個人的にはステレオすぎて好きではないのですが、ブラックドラゴンやゴールドドラゴン辺りは完全に定着してしまって、変えようがないですかね。

名前空間を省略

2009-09-25 21:48:04 | VBでRPGを作る
c++ではusing namespaceでしたが、VBではImportsを使うそうです。
まあでもとりあえずは全部書いちゃいますね。
System名前空間の直属のクラスは、名前空間を書かなくてもいいということだそうです。
また名前空間も自作できるらしいですね。
他にもシナリオ作成と同じように、宿作成も変数を使ったフォルダの中にテキストファイル作成ということをやっていました。

エルフはトールキンの作り出したイメージが定着していますが、ドラゴンもファンタジー小説に描かれるものと伝統的なものとでは、差異は出てますよね。
「ニーベルンゲンの歌」も後世の影響を受けて、色々と変わっているらしいですし。
何が言いたいのかというと、自分たちの描く世界も伝統を継承しつつも、現代日本人的なものに変化させてもいいということだったりします。
以前自分がダークエルフを登場させたら、車田キャラのようになると書いたことがありますけどね(笑)。
「HELLSING」や「ヴァン・ヘルシング」も、現代人の描くヴァンパイアでしょう。

また適当に書いたらうまくいった

2009-09-24 23:45:53 | VBでRPGを作る
"Scenario¥" & ScenFile + "¥" & ScenFile + ".txt"と書いたら、新たに作成したフォルダの中にテキストファイルを作成することができました。
ScenFileは変数で、この中にシナリオ名が格納されることになります。

イモータルのWikipediaを読んでみましたが、大したこと書いてありませんでした。
イモータルという言葉を知ったのはコルムですが、D&Dにも登場するのかな?
自分の作品でもこういった設定は考えていたんですけど、実際に出すかは考え中。

+ ".txt"を付けてみる

2009-09-23 17:58:45 | VBでRPGを作る
StreamWriterを使ってテキストファイルを作成したかったのですが、変数をそのままファイル名にする方法がわからなくて、サンプルを参考に適当に書き込んでみたら、うまくいきました。
変数 + ".txt"とすれば、シナリオ名のテキストファイルを作成できました。
Writeメソッドを使えば、テキストファイル内にテキストを記述することができるようです。
とりあえず、“【シナリオ名】隊商の護衛(変数)”と記述できるようにしておきました。
それとファイルを作成した最後にClose()を使って、リソースを開放させるみたいですね。

CWUNの2000年の頃の書き込みを読んでみると、希望に満ち溢れているというか、これからの可能性を楽しんでいる感が伝わってきますね。
多くの人が可能性を感じる世界にするというのは、やはり大事だなと。
空回りだろうがやる気のある人なんて、まるでどこかのブラック企業みたいだ。

VBでも名前空間

2009-09-22 18:04:37 | VBでRPGを作る
Windowsのフォルダ階層と同じで、一番上にSystemという名前空間があって、その下にIOなどの名前空間があって、その下にクラス(自作クラスは別か)があるという説明でした。
同じ名前のクラスでも、別の名前空間に所属していれば、重複の問題はないということだそうです。

凡庸型は能力値合計が20代で、その代わりにレベル12まで成長するんですか。
PCのタイプ分けとしてはおもしろいですね。
今のところ特殊型は導入する予定はありませんが、自分の分身であるPCは能力値を高くしたというのは人情としてあるんですよね(笑)。
ボーナス値をどのように導入するかもわからないし、PCの能力値設定はやはり悩みの種ですね。

ReadOnlyとかWriteOnlyとかDefaultとか

2009-09-21 09:10:05 | VBでRPGを作る
具体例が書いてなくてただ覚えろと言われても、面倒なんですよね。
そんなわけで軽く流して、必要であれば復習することにします。

できればリレーシナリオも、企画としてやってみたいですね。
CWで過去にあった企画は失敗に終わっていますが、これはCWの失敗と原因は同じですからね。
問題点さえ認識していれば、成功する可能性は大でしょう。
成功すればひとつの魅力的なコンテンツとして、多くの人を集める結果に繋がると思うんですけどね。

またプロパティ?

2009-09-20 22:20:56 | VBでRPGを作る
今までやったNameプロパティやTextプロパティとは別物で、メソッドの一種らしいです。
混乱するのでできればこういったことはやめてほしいのですが、ここでそんなこと言ってもしょうがないですね。
プロパティの中にはGetとSetというメソッドがあるようで、形としてはメソッドの中にメソッドがあるということですか。
このGetとSetはどこかで見た記憶がありますが、どこで見たのか忘れました。
このプロパティというのは、クラスの中の変数(フィールド)へのアクセス専用メソッドということですが、必ずクラスの中に記述されるということなのだろうか。
頭にPublicを付けるケースとどういった違いが出てくるのか、使い分けをどうするのか説明がないのでパニックになりそう。

背景素材を探していたら、とあるサイトに建物単体には肖像権や商標権がある場合があると書いてありました。
街中の風景は大丈夫なようですが、あとで問題になったりしたら嫌ですよね。

For EachとかContinueとか

2009-09-19 07:44:48 | VBでRPGを作る
これも繰り返し処理なのですが、使うことはないので軽く流して終了。
PCカードなどはグローバル変数を使うつもりですが、複数の処理が同時に実行される環境では、知らないうちに値が変更されてしまう危険性があるらしいですね。
それを防ぐのに、カプセル化ということをするらしいです。
カプセル化などと書いてありますが、単にローカル変数やブロック変数にしているだけに見えるんですけど。

隊商の護衛ということで商人ギルドを出そうと思ったのですが、歴史では政治に大きな影響を与える力を持っていた連中みたいですね。
そういった設定はシナリオの中で少しずつ、プレイヤーに説明していけたらと思います。