« 2014年3月 | トップページ | 2014年5月 »

2014.04.19

地道に修正作業をしています

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

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

前に記事で書いたタイマー関連の問題が
意外と想定以上にバリエーションがあり解決に手こずった。

一応、気づいている限りは、修正できた。
まぁ、一部は、完全には直せなかったけど
かげさんとしては、妥協できるレベルまでは修正したつもり。

なお、ダメージの一時アニメーションと、ダメージ数字については
相変わらずタイマーで止めていない状態です。
(セーブデータにこれらの情報を持っていないので)

これについてはセーブデータフォーマットのバージョン3の時に
考えようかなぁと漠然と思っています。
時期は未定ですが、2つ目のアクセサリの対応のタイミングになる予定。

タイマー関連の動作に付随して見つかった不具合もあったし、
新しく実装したデバッグ用の全スキル習得オプション周りも
いろいろと今後のことを考えて調整したら時間がかかりました。

実は、今までもデバッグメニューにLuaスクリプトから
スキルを習得させることはできた。

ただ、それだとスキル習得状態でセーブするとその後
そのセーブデータを使うとスキル習得状態を落とすLuaスクリプトを組まないと
もとに戻すことができないのだ。

今度のオプションは、フラグ1つで習得しているスキルしか使えないモードと
全スキルを使えるモードに切り替えられる。

なのでプロローグ1マップ目からエアリアルステップを使えるようにしたり
エアリアルステップを使えない状態にしたりを切り替えることができる。

現状だと、魔法のネギを習得した時点で
攻撃スキルを含めて全部のスキルが使える。

といってもスキルの発動方法が分からないと使えないので
スキルメニューも修正したりもした。

さらに、今配布しているスキル関連のデータには、
キュア、ファイアステップ、アースステップといった未実装のスキルの情報も載っているため
そのままだと未実装のスキルもスキルメニューに載ってしまい
発動方法の通り入力してもスキルが発動しないってことも起きてしまう。

なのでスキル関連データも実装済みと未実装が分かるように修正し
その情報を見てスキルメニューに表示したりもした。

これにSPが減らないオプションを組み合わせれば
今後はスキル関連のテストがしやすくなるはず。

といっても、スキル関連のシステムは、
・コマンド入力の受付処理
・スキルのつけはずしができるようにする
(ご操作でスキルが暴発しないようにする目的で)
というのが未実装だったりする。

スキル関連の完成も、まだまだ先な感じ。
気長にお待ちください。

今は、シナリオスクリプトがぬかっていたり
スキル発動中の硬直時間から復帰できなかったりして
操作中にボタンを受け付けなくなるパターンの調査がしやすくなるよう
デバッグ機能を実装中。

なお、操作を受け付けないパターンの内
マップ上にある縦線にミクの足元が埋まって左右にも動けず、
着地と判定されないため、ジャンプも出来ないパターンは
原因がわかっているけど解決策の実装に手こずってて未解決。

一応、tracで管理している作業チケット数は
2014/04/01現在 全体:144 消化:65 残件:79
2014/04/19現在 全体:165 消化:85 残件:80
とトータルでは1日1件ペースでは消化数が増えているのに、
作業量も増えていっているので、残件がむしろ増えているだと!?
ってな状況。

来週は仕事も忙しくなりそうだし、来週末はニコニコ超会議3があるし
あまり開発はできなさそうな気配です。
(ニコニコ超会議3は、例によって現地には行けないんですがね)

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

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

2014.04.06

HUDにLvと経験値の表示を追加

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

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

2012/06/22にSNSにアイディアとして出ていた
左上のミクのステータスにレベルと経験値を表示する対応をしました。

※HUD:Head Up Display(ヘッドアップディスプレイ) の略
 軍事用語から来ているらしい。
 ゲームにおいて、視界内に方位や武装の状況などを表示したものを「HUD表示」という。
 ピクシブ百科事典の抜粋 http://dic.pixiv.net/a/HUD

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

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

行数を取るから、画面解像度を上げてからと思っていたため
かなり遅くなりましたが、実装しました。

タイマー関連の修正作業でレベルアップ時のテストをやっていた時に
経験値表示が欲しくなったので
今の画面サイズで、実現方法を検討したところ

Lv:常時表示
経験値:スキル発動中以外で表示

とすれば、いいんじゃね?
ということになって、こうなりました。

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

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

2014.04.05

歌うキーボード ポケット・ミクを使ってみた

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

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

人気が出そうだったので予約していたのが昨日届いた。

が、昨日は新人歓迎会だったので
今日の夕方になって箱を開けて使ってみることに。

Nsx39


大きさとしては、文庫本サイズで
厚みは普通の文庫本2冊くらい。

どういうことができるかというのは
多分見てもらったほうが速いと思うので
YouTubeに上がっていた紹介動画を載せておきます。
(説明書だけでは分かんなかった使い方の説明もあったので役に立ちました)

これは結構楽しいかも!

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

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

イベント連鎖時のタイマー制御

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

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

プロローグや第1章で登場するザコ敵
グリーンワームとブルーワーム。

こいつらは、自分の当たり判定である顔の中心付近から
半径260ドット以内にミクがいる、かつ、
前回の弾を発射してから3秒以上経過していると
次の弾を打ち出す動きをする。

ミクが初めて「魔法のネギ」をゲットするイベントを見ていくと
従来の初音ミク冒険記では、こんな動作をする。

「魔法のネギ」をゲット!
Screenshot0122

「魔法のネギ」をゲットしてから3秒以上待ってからメッセージ送りボタンを押すと
ブルーワームは、前述の条件を満たしているので、弾を発射している
Screenshot0123

順々にメッセージ送りしていって
攻撃スキル「ネギショット」を習得後、
今度はスキルメニューの説明に入るタイミングで
再び条件を満たし、ブルーワームは弾を発射しているので
ブルーワームの顔付近に弾が2つ表示されている
Screenshot0124

一通り操作説明が入った後、
三たび条件を満たし、ブルーワームは弾を発射しているので
ブルーワームの向いている方に弾が3つ発射されている
Screenshot0125

実は、アイテムゲット→ルカとの会話→操作説明の
「→」の段階で一時的に操作禁止状態が解除されている。

といっても、1フレームだけなんだけどね。
それでも、1フレーム挟まることで、画面が1度再描画されるため
いろいろと処理が実行されてしまうわけだ。

なんで1フレーム挟まるかというと
これは「描画順序」に関係がある。

初音ミク冒険記では、ゲーム本編で画面を表示するために
30以上の描画処理が行われる。

アイテムゲット→イベント開始の時には
アイテムゲットのメッセージを消去しないと
イベントのメッセージが表示できないため
もう一度描画処理を最初からやり直す必要がある。

このため、どうしても1フレーム挟まないとダメなのだ。

こういった事情から1フレーム挟まるんだが
前述のスクリーンショットの状況を改めて考えてみると、
ミクが弾を喰らう位置にいないから影響は無いんだけど
逆にミクが弾を喰らう位置にいた場合、
敵の弾を喰らったら、ミクの位置やマップ構成にもよるが
連続で被弾することになる。

実はこの問題、かなり前から確認されていたんだけど、ずぅっと放置されていました。

2012/02/12の記事
「初音ミク冒険記」、タイマー処理について考えてみる
に、こんなことがかいてあります。

イベントの開始/終了は数が多いし 2章を作るときにも イベント関連の見直しをしないといけないと思うので その時に対応しようと思う。

いやぁ、2年も先送りとか、かなり「やりすぎ」な感があるよね。

この問題、結構、処理順序が関係あって
これまでリファクタリングして処理の見通しは良くなった分
関数の呼び出し構造が複雑になってしまい
頻繁に使う「操作禁止フラグ」の設定箇所を処理の流れで追うのが難しくなっていた。
(該当するソース箇所は、Grepすれば一発なんだが)

実は、このところ、デバッグ機能を強化していたのは
この辺りの流れや、フラグの設定状況、
敵の持つタイマー情報を表示するために作っていたのだ。

デバッグ機能の強化に時間をかけたのは
今後も必要になってくる重要な機能と思ったので。

タイマー関連のバグは、PSP版の頃から結構あって、
現在、tracで管理している作業チケットにも解決済みを含め
6つのチケットが登録されている。

一応、この記事を書いている時点で
6つのチケット中4つまでの対応が終わっている。

今週末に残り2つも解決して
次に公開するバージョンで、気づいている限りのものは直し切りたい。

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

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

2014.04.01

DNSサーバもエイプリルフール仕様?

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

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

さっきWebメールを送信する際、
添付ファイルを付けないうちに送信ボタンを押してしまった。

すぐに気づいたので添付ファイルをつけて
改めてメールを送信したら
DNSが「そんなドメインは見つかりません」といった趣旨の
メッセージを返してきた。

いやいや、さっきの添付ファイルなしのメール送れているから
DNSにドメイン登録されてないなんてありえないから
と思い、もう一度メールを送信したら、普通に送ることができた。

DNSサーバもエイプリルフール仕様なのか?と思った。

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

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

« 2014年3月 | トップページ | 2014年5月 »