Amazon 初売り

« TracLightningのTracへのプラグイン導入 | トップページ | 初音ミク冒険記の開発ツールを使う準備 »

2014.12.14

Windowsゲーム「初音ミク冒険記」、2014/12/14版公開

| |コメント (5)|トラックバック (0)

 このエントリーをはてなブックマークに追加

2014/12/14版公開

Version20141214

今回は、

  • タイマー系不具合対応
  • 開発ツールやデバッグ機能追加に伴う本体の修正

がメインです。

開発ツールを作ったり、思いつきでデバッグオプションを増やしたりしてたので
実質、動作的には、2014/02/23版とあまり変わりません。
(全然、本編の制作が進まず、すみません・・・

ダウンロードはコチラから。

なお、これまで初音ミク冒険記のゲーム本体は、
32ビットのXPマシンで最終的なビルドをしていたのですが
今回は、64ビットのWin7でビルドしたものがXPの通しプレイで一通り動いたので
Win7でビルドしたものを公開しています。

これまでWin7でビルドしたものをXPで動かすと
勝手にキー操作やゲームパッドの操作が行われるという問題があったのですが
今回は通しプレイでは、問題が起きなかったんです。

一応、念のため、XPマシンでビルドしたモジュールも用意はしたので
もし、32ビットマシンで動かした時に動作がおかしい時には
初音ミク冒険記関連の記事にコメントしてください。

他にも不具合とか気になる点が見つかった場合は、コメントもらえると嬉しいです。
もちろん「やってみたよ!」とか、
ソースを見たけど、ここが分からん!といったコメントも大歓迎です!

★タイマー系不具合対応
これは2012/02/08の記事
「初音ミク冒険記」、決定ボタン/キャンセルボタン/ジャンプボタンの長押し対策 の時のななしあさんからのコメントへの返信で
かげさんが書かれているくらい前からあったものです。

以下、当時のコメント部分抜粋
-----------▼ここから-----------
ななしあさんのコメントとそのコメントへのかげさんの返信
> また、ポーズ画面の連打をすると、
> Xエレメンタルなどの敵が出す弾がたくさん出てきます。
> (その敵がいるときにすると)

はい。今はそんな作りになってしまっています。
Xエレメンタルは、ミクが半径260ドット以内にいると
3秒間隔で弾を撃つというタイマー処理があります。
(グリーンワーム/ブルーワームと同じ動き)

ポーズ中とかイベント会話中とかのミクの操作ができない状態でも
各種タイマーが継続されているのが原因です。

readme.txtにある
「キャンプメニューを表示したとき、各種タイマーが継続される」
というのが関係していて、解決方法もある程度は思いついているのですが
まだプログラムしていないのです。

ななしあさんの指摘自体は、
PSP自作ゲーム「初音ミク冒険記」、2012/02/15版公開 にも書きましたが、2012/02/15版で修正されています。
が、この記事にある
イベントシーンでも同様のことが起きるのですが
そっちは、この問題を解決していません。

これはイベントシーンの修正箇所が多いというのと
今後、イベントシーン関連のソースをまとめて直す予定があるので
その時に対応することにしました。
-----------▲ここまで-----------

実は、これは春頃に着手していまして
イベント連鎖時のタイマー制御 という記事に具体的なことを書きました。

最初のネギ取得時にイベントに入った後に
下図のようにブルーワームが3連発で弾を発射しています。
Screenshot0125

これを含めてタイマー関連では以下の内容を修正しました。

・コインや音符を出してイベントに入ると、
 イベントを抜けた時にコインや音符が消えてしまう不具合の修正

・イベント処理中に敵の弾タイマーが切れてしまう不具合の修正

・ゲームが非アクティブ時にタイマーを止めていない不具合の修正
 Altキーによりメニューに制御が移った時やウィンドウを移動した時にも対応

・アイテムゲット/レベルアップ/パワーグローブのメッセージ表示、
 ポーズ、デバッグメニュー表示時にタイマーの止めるタイミングが誤っていたり
 タイマーを止めてさえいなかった不具合ので修正

・セーブデータロード後のタイマ復元タイミングが悪かったので修正。

・タイマーバックアップ中にアプリケーション切り替えや
 ウィンドウの移動、Altキーを押下するとタイマーが復元してしまわないように修正

・プロローグ2マップ目でブルーワームが攻撃してこない時がある不具合の修正

★左上のミクのステータス表示にレベルと経験値を表示するよう修正
もともとはSNSでviolin710さんが出してくれたアイディアです。
前述のレベルアップメッセージ表示のテストをしていて
レベルと経験値が見たくなって作りました。

1つ前の画像が今回修正前の状態になります。

スキルを発動していない時は、レベルと経験値を表示
Screenshot0126

スキルを発動している時は、レベルとスキル名を表示
Screenshot0127

実は、このテスト中に
ヒールなどの回復系スキル発動時に、左上のミクのステータスに
発動スキル名が表示されない不具合がみつかったので合わせて修正

★他の不具合修正
・第1章クリア時のセーブデータをロードした際、
 ボカロタウンのミクの初期位置がおかしく、ルカとの会話が始まる不具合の修正

・ボカロタウンのお買い物エリアで「Go」や「Talk」アイコンの説明を見てない状態で
 ルネッタキーアや食わねーわよでセーブしたデータをロードすると
 アイコン説明とマップ間移動を繰り返してしまう不具合の修正。
(正規のシナリオ進行順だと起きないのだが、
 制作順序の都合で今後も同様のことが起きそうなので対策を行った)

★改善したこと
・セーブデータ関連のメニュー選択時、プログラム内部でセーブデータの一覧を作るために
 ディスクアクセスする都合でメニュー選択を受け付けたかどうかが
 分からないまま待たないといけないことがあるので
 メニュー選択を受け付けた直後に「セーブデータ読み込み中」と通知が出るように修正

という感じで、まずは初音ミク冒険記本体の修正分を公開します。
開発ツールやデバッグ機能追加分については、別途少しずつ公開していきます。

注意事項1

Windows版の古いバージョンの「初音ミク冒険記」で
セーブデータを作っている人は、セーブデータをコンバートしないと
初音ミク冒険記が起動できないことがあります。

注意事項2

前回同様、過去の初音ミク冒険記が動かせる環境がない人は
「ミクやルカ」の画像が含め
全キャラが白いマスク画像で表示されます。

過去の初音ミク冒険記が動かせる環境がある人は
ダウンロードのページに簡単な作業手順をまとめたので
それに従って実行環境を構築して下さい。
不明な場合はコメント下さい。

また、過去の初音ミク冒険記が動かせる環境がある人も
「ミクやルカ」の画像は表示できても
「デフォ子」や「ネル」、「ハク」、
「レン」、「リン」、「MEIKO」、「KAITO」、
「モモ」、「テト」の画像が
真っ白で表示されますので、あしからず・・・。

注意事項3

第2章のボカロタウンのマップ画像は、マップ間移動ができる部分や
調べることが出来る場所の目印程度しかありません。

少しずつマップチップも作っていこうと思いますが
気長にお待ちください。

画像関連は、今後もいろいろとネックになるような気がしています。

グラフィック出来る人いないだろうか・・・

追加、修正した機能のリスト

<不具合>
・コインや音符を出してイベントに入ると、
 イベントを抜けた時にコインや音符が消えてしまう不具合の修正

・イベント処理中に敵の弾タイマーが切れてしまう不具合の修正

・ゲームが非アクティブ時にタイマーを止めていない不具合の修正
 Altキーによりメニューに制御が移った時やウィンドウを移動した時にも対応

・アイテムゲット/レベルアップ/パワーグローブのメッセージ表示、
 ポーズ、デバッグメニュー表示時にタイマーの止めるタイミングが誤っていたり
 タイマーを止めてさえいなかった不具合ので修正

・セーブデータロード後のタイマ復元タイミングが悪かったので修正。

・タイマーバックアップ中にアプリケーション切り替えや
 ウィンドウの移動、Altキーを押下するとタイマーが復元してしまわないように修正

・左上のミクのステータス表示にレベルと経験値を表示するよう修正
(レベルは常に表示、経験値はスキルを発動していない時のみ表示)

・ヒールなどの回復系スキル発動時に、左上のミクのステータスに
 発動スキル名が表示されない不具合の修正

・プロローグ2マップ目でブルーワームが攻撃してこない時がある不具合の修正

・第1章クリア時のセーブデータをロードした際、
 ボカロタウンのミクの初期位置がおかしく、ルカとの会話が始まる不具合の修正

・ボカロタウンのお買い物エリアで「Go」や「Talk」アイコンの説明を見てない状態で
 ルネッタキーアや食わねーわよでセーブしたデータをロードすると
 アイコン説明とマップ間移動を繰り返してしまう不具合の修正。
(正規のシナリオ進行順だと起きないのだが、
 制作順序の都合で今後も同様のことが起きそうなので対策を行った)

・セーブデータ関連のメニュー選択時、プログラム内部でセーブデータの一覧を作るために
 ディスクアクセスする都合でメニュー選択を受け付けたかどうかが
 分からないまま待たないといけないことがあるので
 メニュー選択を受け付けた直後に「セーブデータ読み込み中」と通知が出るように修正

<デバッグ用>
・スクリーンショット機能の修正
 スクリーンショットボタン         :右下にロゴ付きのゲーム画面のスクリーンショット
 回復+スクリーンショットボタン      :右下にロゴ無しのゲーム画面のスクリーンショット
 特殊スキル+スクリーンショットボタン   :右下にロゴ付きのデバッグ領域を含むスクリーンショット
 特殊スキル+回復+スクリーンショットボタン:右下にロゴ無しのデバッグ領域を含むスクリーンショット

・デバッグ用コンソール表示機能を追加
 VC++:printfを使うことでデバッグコンソールへ出力可能(書式文字列OK)
 Lua :printfを使うことでデバッグコンソールへ出力可能(書式文字列NG)

・デバッグオプションにゲーム中で使う構造体を見学するための設定を追加(入り口のみ作成、詳細は必要に応じて作る)

・デバッグオプションに「全スキル使用可能フラグ」を追加
(セーブするデータのスキル習得状況には影響を与えずに全スキル使用可能にする)

・デバッグメニューに「全スキル使用可能フラグ」を追加
(デバッグオプションのものと同様)

・プロローグ2マップ目でエアリアルステップが習得状態の場合の動作に問題があったので修正
(全スキル使用可能としてプレイした時にしか関係がない)

・スキルメニューの「全スキル使用可能フラグ」対応
(実装済みの全スキルがスキルメニューに表示される)

・スキル習得時、スキルメニューの表示でパーフェクトヒールのように全SPを消費するスキルの
 消費SP表示は「全SP」に変更

・デバッグオプションに「敵が出てこなくなるフラグ」を追加

・開発ツール「デバッグヘルパー」と連携することでセーブデータにコメントを付ける機能を追加
(テスト用にたくさんセーブデータを作っているので、何がなんだか分からなくなるので)

・サウンド関連のヘッダファイルやソースの一部を
 初音ミク冒険記サウンドツールから自動生成する対応

・ショップとデバッグのLuaでメッセージオプション宣言箇所でLuaステートが誤っていたのを修正

・デバッグ用にLuaのスタックダンプ出力関数を追加

・Luaのスタック制御処理の見直し

・各マップの各処理でLuaを呼び出す仕組みの導入

・デバッグヘルパーから指定マップジャンプ通知を受信してマップを切り替える仕組みの導入

・デバッグオプションに「ミクより手前のイベントを実行しないフラグ」を追加
(マップ移動テストをしやすくするのが目的なので、ミクより奥のイベントを発動させるとおかしな動きをする)

・Luaスクリプトが間違っていた場合、再読み込みできるように修正

・エラー発生時のメッセージボックス表示時に使うウィンドウハンドルが誤っていたので修正

・内部処理修正やコメント整備(ゲームの動きには影響なし)

<その他>
・メッセージ表示ツールモードで起動する処理を追記


 このエントリーをはてなブックマークに追加

| |コメント (5)|トラックバック (0)

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

トラックバック

この記事へのトラックバックの一覧です: Windowsゲーム「初音ミク冒険記」、2014/12/14版公開:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml

久しぶりです。
さっそく更新してみました(前回の差分更新気づいてなかったです)。
前回の分の更新をしたら、以前報告したと思いますが、 ウイルスバスターで警告画面が出て、すぐホワイトリストに再登録しなおしました。
今回の更新分では警告画面は出なかったです。

アイデア

気球とか使って、いろんな場所に行けるようになったら面白いなと思います。(元ネタ→ /sm11789602 の動画のゲーム)

投稿者: 船 (2014/12/19 23:50:05)

To:船さん
お久しぶりです。
ダウンロードしてくれてありがとうございます![→◇←]

> 前回の分の更新をしたら、以前報告したと思いますが、
> ウイルスバスターで警告画面が出て、
> すぐホワイトリストに再登録しなおしました。
> 今回の更新分では警告画面は出なかったです。

情報ありがとうございます。

おそらく前回のは誤検出じゃないかと思います。
実は、かげさんも仕事で使っているマシンが
ウイルス対策ソフトが新バージョンだと誤検出が増えて
結構、困ったので・・・

初音ミク冒険記には、設定ファイルやセーブデータを削除する処理があるのですが
この手のファイル削除処理を持つプログラムは
ウイルス対策ソフトによっては、確定でウイルスとは言えないが
怪しい動きをするリスクウェアと誤検出されることがあります。
これに該当してしまったのかもしれません。

> アイデア
> 気球とか使って、いろんな場所に行けるようになったら面白いなと思います。
>(元ネタ→ /sm11789602 の動画のゲーム)

元ネタ見ました!
初音ミク冒険記だと縦長のマップも作れるから
こういうのあると面白そうだ!

導入すると、当初想定の第4章のストーリーが破綻しそうだが
まだ、第2章の制作が途中なのに4章って・・・話もある。

検討事項としてtracにチケット登録しておきますね![・_←]

投稿者: かげさん (2014/12/20 13:10:06)

上のコメントに書き忘れてしまいましたが
アップロード前は、
一応ウイルス対策ソフトでチェックはしています。

でも、ウイルスバスターは、しばらく導入していないなぁ・・・

投稿者: かげさん (2014/12/20 13:13:46)

アイデア

第4章以降に獲得出来るようにしたら、大丈夫ではないでしょうか

後は障害物などで、実質的に高さ制限をかけるなどは、どうでしょうか。

元ネタ のゲーム では、第2ステージ では 雨の関係で使えないし、第4ステージ では、天井などが邪魔して使える箇所が制限されているから同じようにしたら、大丈夫ではないでしょうか?。

投稿者: 船 (2014/12/21 3:41:02)

To:船さん
アイディア、ありがとうございます!

> 第4章以降に獲得出来るようにしたら、大丈夫ではないでしょうか

昨日の夜、tracにチケットを書きながら
それも含めて検討しようと思っていました。

現時点でもソースを1箇所修正すると
エアリアルステップで
2段ジャンプ以上の3段ジャンプや4段ジャンプなどの
多段ジャンプができるので
その辺りの仕組みを使えば
何となく実装できそうなイメージをしています。

なので、
ストーリー上、実際に使えるようにするタイミングは別として
1度実装してみようと思います。

実現に当たって、前からやりたいと思っていたことを
試験的に導入した方が微調整が効きそうなので
実装は、早くても年明けかなぁ・・・[冷や汗]

> 後は障害物などで、実質的に高さ制限をかけるなどは、どうでしょうか。

そうですね。
現時点でも一部のマップでは天井の設定をしているので
頭をぶつけて落ちてくるというのはできているので
マップ構成の工夫で高さ制限はかけられますし。

> 元ネタ のゲーム では、第2ステージ では 雨の関係で使えないし、
> 第4ステージ では、
> 天井などが邪魔して使える箇所が制限されているから
> 同じようにしたら、大丈夫ではないでしょうか?。

そう言えば有害な雨とか天井つららとかありましたね。
ふむ、強風で押し戻されるとかいった制限も
できると思うので制限自体はできそうですね。

一応、悪魔城ドラキュラの「奪われた刻印」で出てくる
翼を生み出して飛翔する印術「ウォラーレ」みたいに
空中でダメージを受けたら強制解除されるような
イメージで考えています。

発動条件は、接地中とすることで
強制落下中に発動できないような感じがいいかなぁと思ってます。

投稿者: かげさん (2014/12/21 12:54:27)




←名前とメールアドレスは必須です。
URLも記入すれば、URLのみが公開されます。
メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。