初めまして・・・・の方は少ないと思いますが、初めまして! もじか2000を開発しましたYADOです。 長年RPGツクールの作品を公開してきましたが、 ついに自作ソフトウェアを公開する事になりました。 不慣れなVB.NETのプログラム入力によって 様々なバグが発生する可能性もありますが、 皆様と共にもじか2000を発展させる事ができれば幸いです。 |
■2003年11月29日 『Visual Basic .NET 2003(以下、VB.NET)』を購入。 この日からもじか2000の開発が始まりました。 作り始めたのは良いのですが、 プログラムの命令(ツクールで言うイベントコマンド)がとにかく分からず、 制作は本屋で買った参考書(数冊)とヘルプを見ながら、 必要な命令を1つ1つ探す所から始まりました。 制作の中で最も難しい所がファイルの読み込みです。 ツクールのマップやデータベースの情報を保存しているファイルは、 特殊な形式で保存されているので、普通にテキストとして読み込んでも 正確な情報を読み取る事はできません。 このファイルの読み込みの問題が解決しない限り、 もじか2000を完成させる事は不可能でした。 ■2004年9月 RPGツクールXPとVB.NETのどちらを覚えていくのかを選択。 ここでYADOはVB.NETを選択し、以降RPGツクールXPは触れなくなりました。 ■2005年10月 もじか2000とは別のソフトウェアを開発しました。 このソフトウェアはある情報を変換するためのお仕事用のソフトウェアです。 初めて一般公開されたソフトウェアはもじか2000になりますが、 初めて完成させたソフトウェアはこのソフトウェアになります。 このソフトウェアが完成できた事で、 「頑張ればソフトウェアを完成させる事が出来る」 と言う多少の自信を付ける事ができ、 制作に行き詰まっていたもじか2000の開発を続ける力となりました。 ■2006年2月 Visual Studio2005のバージョンアップ版を購入。 VB以外のプログラムもできるので一応買ってみたのですが、 今の所はVBしかやっていません。 ■2006年4月9日 既に4回くらいは作り直しているもじか2000を バージョンアップしたVisual Studio2005(VB)で再度作り直し。 しかしまたまたファイルの読み込みの所で行き詰まり、 更にマップツリーをクリックして選択されたマップがどのマップなのかを 判断する方法も分からなかったので、結局は制作中断になりました。 ■2006年9月27日 もじか2000とは別のソフトを制作中に偶然ファイルを読み込む命令を発見! 制作中断となっていたもじか2000に組み込んでみた所、 ファイルの読み込みが理想通りにできました。 そしてもじか2000の制作が再開されました。 制作再開から2〜3日後。 問題だったマップツリーの問題の打開策を見つけました。 もじか2000のマップツリーのマップ名には、ID番号が表示されています。 このID番号は「マップID」を表示しているのですが、 マップIDはマップデータが保存されているファイル番号と同じです。 つまり親切にマップIDを表示しているのではなく、 選択されたマップのファイル番号を取得するために、 マップ名と一緒にマップIDを表示しています。 もっと効率の良い方法(プログラムの命令)があると思いますが、 取りあえずこの方法でなんとかマップツリーの問題を解決させました。 ■2006年10月19日 イベント設定の読み込み用のプログラムの入力が完了となり、 さらに特定のデータベースの情報を一覧表に出力する機能を追加する事にしました。 ■2006年10月24日 予定していたプログラム入力が完了し、このホームページの制作を開始。 平行して動作テストも行いました。 動作テストではちょっと動かすとすぐにバグが見つかる感じで、 かなり不安定な状態でした。 ■2006年11月18日 もじか2000を公開! ■2010年9月12日 マップの上層と下層の画像を合体させた画像を、 BMPファイルにして出力する機能を追加! しかしYADOのプログラム入力の技術不足により、 マップ画像の出力に時間がかかるなどの問題が残る残念な結果に…。 ■2010年12月1日 バトルイベントにあるイベントコマンドを設定するための裏機能を追加。 これは動作実験用として取り付けたものであり、もじか2000とは無関係ですが、 作品を選ぶ処理などを一から作るのが面倒だったので、 もじか2000に追加する形で設定しました。 機能としてはツクールの改造に当たるので、不本意に使われないようにするために、 キーファイルが無いと使えないようにしました。 まあ実験してみたい方がいましたら、キーファイルの作り方を伝授するかも。 ▼いかにも怪しい雰囲気を持つ「ブラックやどかり君ボタン」 ■2011年6月11日 質問掲示板から要望により、マップの下層&上層の形状を記憶した数値情報を、 csv形式にして出力する隠し機能を追加。 この機能は、実行ファイル「もじか2000.exe」と同じ所に、 フォルダ「csv」を作成すると使えるようになります。 多分この機能が必要とする方は、その要望を書いてきた方だけだと思い、 隠し機能として追加しました。 ■2011年9月17日 「データ」の項目に「敵グループ」を追加。 これにより、敵グループの一覧表も出力できるようになりました。 この機能の追加は、気紛れな空間の雑談掲示板に書かれた要望によるもので、 「敵グループ名だけが出力できれば良い」と言った要望でしたが、 どうも敵グループ名だけの一覧表は寂しかったので、 獲得経験値などの情報も出力できるようにしました。 これにより、 「この敵グループの敵を全て倒せば、これだけの経験値&お金が手に入る!」 と言った情報が一覧で見る事ができるようになり、 予想以上に使えそうな機能になりました。 |
もじか2000は開発者であるYADOが使うために作りました。 マップツリーの表示やページのタブの表示などは、 使い慣れているツクールに近い形にして、YADO自身がスムーズに扱えるようにしました。 表示設定には必要以上の設定項目があると思います。 実はもじか2000の開発では、プログラムの内容を書いたメモなどはありません。 全てYADOの記憶によってプログラムが組み込まれています。 多分数ヶ月以上このプログラムに触れてなければ、 プログラムの内容を忘れてしまう可能性があり、 この忘れた状態で無理に追加機能の設定を行いますと、 予期せぬバグが発生する可能性もあります。 そのために公開前から多くの表示設定を用意しました。 RPGツクール2000とRPGツクール2003の両方に対応させるのはかなり大変でした。 もじか2000ではRPGツクール2000モードの時に、 RPGツクール2003のイベント設定を貼り付ける事もできますので、 いつでも両方のデータを読み込める状態にしています。 しかし唯一タイマーの表示では、 RPGツクール2000では「タイマー」と表示されますが、 RPGツクール2003では「タイマー1」と表示されます。 一応貼り付けたデータを解析すれば、 「これはRPGツクール2000だな」と判断させる事はできると思いますが、 ヘタに設定を増やしますと新たなバグが発生する可能性もありますので、 RPGツクール2000モード、RPGツクール2003モードの設定に合わせて表示を変える事にしました。 ツクールのデータ保存は、基本的には「設定番号+文字数+設定内容」となっています。 例えばマップイベントの移動速度の保存では「37 1 3」などと設定されています。 この場合は「37=移動速度の設定がある」「1=設定の文字数」「3=設定内容」となり、 この設定では「1/2倍速」と言う事になります。 文字化のプログラムは、基本的には上から順番に設定番号を読み取って、 その設定番号に合わせて設定された状態を文字化すれば良いのですが、 一度も移動速度の設定を行わずに初期設定のままですと、 この設定番号「37」は作られません。 つまり「設定番号37が無い場合は「1/2倍速」を表示」と言う設定が必要になります。 この「設定番号が無い時には初期設定となる」と言うルールがあるために、 もじか2000の制作では1つ1つのイベント設定の内容を変えて設定番号を出現させ、 その設定番号の設定内容を変える事で何の設定なのかを解析して、 その情報を基に文字化のプログラムを設定しています。 もしもバグが発生するとしたら、 多分確認できなかった設定番号が出現した時だと思います。 特にRPGツクール2003では、RPGツクール2000をベースに追加設定されているので、 RPGツクール2003で追加された設定が離れた所に設定されている事があります。 例えばRPGツクール2003のデータベースにあります「職業」。 データベースの画面上では「主人公」の次に「職業」がありますが、 実際のファイル保存では、コモンイベントの後に追加された形で保存されています。 複雑に絡み合うRPGツクール2003のデータ・・・・何となくRPGツクール2003のバグが多かった理由が 分かるような気がします。 もじか2000のデバッグでは、YADOが制作した作品データを使って行っています。 しかしYADO作品には、主人公やアイテムなどの設定が殆どありませんので、 ツクールに付属しているサンプル作品なども使っています。 もしももじか2000を使っていて不都合を発見しましたら、 「このような事をしたらバグが発生した」などと、 メールなどで報告して頂けるとありがたいです。 |
もじか2000に関するご質問などは こちらの掲示板かメールをご利用ください。 |