週末はアルカナハートのロケテですか
アルカナハートの公式ページが始動しましたね。
http://www.arcanaheart.jp/
うーん、イラストはイマイチ好みじゃないですね。
ドット絵は止め絵で見る限りはかなりクオリティ高そうですけど。
« 2006年09月 | メイン | 2006年11月 »
アルカナハートの公式ページが始動しましたね。
http://www.arcanaheart.jp/
うーん、イラストはイマイチ好みじゃないですね。
ドット絵は止め絵で見る限りはかなりクオリティ高そうですけど。
非同期ソケットによる接続がやっとうまく行ったようです。
何だか苦労したな・・・。
基本的には WSAEventSelect() を使って、タイムアウトつきで WSAWaitForMultipleEvents() を呼び出すというアルゴリズムです。
サーバ側
1.socket()
2.bind()
3.WSAEventSelect()
4.listen()
5.WSAWaitForMultipleEvents()
6.accept()
1.から順に実行しますが、5.でイベントがなかったら再度5.でイベント待ちをします。
クライアント側
1.socket()
2.WSAEventSelect()
3.connect()
4.WSAWaitForMultipeEvents()
3.で接続できたらそこで終了。出来なかったら4.で待ってイベントがあったら終了。なかったら3.に戻ります。
これで上手く動いているみたいです。
12月に稼動予定のアーケード用格闘ゲーム「アルカナハート」が今、注目を集めているそうです。
完全新規の2D格闘で、登場するキャラクタが「スク水+ランドセル+幼女」といったオタ向け属性満載で、さらにコンボゲーという、すさまじい狙いっぷりには、呆れを通り越してむしろ頭が下がりますね。
mixiでは既に登場キャラ全ての単独コミュが出来ているとか。
まだロケテしか情報が無い段階なのに。
格ゲーも、こうしないと売れない時代になったんだなぁと、少し寂しい感じもしますね。
まあ、それはともかく
今月末のアルカに紹介記事が載るらしいのでちょっと楽しみです。
コネクション確立までは非同期ソケットで処理しようと思ったら、なんかやたらとめんどくさいですね。
WSAEWOULDBLOCK が出たときに、それが解消されるまで待つ必要があるんですけど、解消されたかどうかをどうやって調べれば良いのかが、まだよくわかってません。
ウィンドウメッセージを使うことは出来ないし。
select() で書き込み可能になったかどうかを調べれば良いのかな。
bind() や listen() で WSAEWOULDBLOCKが返ってくる可能性は考えなくて良いのだろうか・・・。
MSDNの戻り値には書かれてないから考えなくて良いのかもしれないけど、なんか不安ですね。
テストプログラムで実際にインターネット越しの通信テストをしてみました。
TCPだと30fpsくらいしか出ないのかなーと思ってましたが、ほとんど常時60fps出ますね。
時々ラグが発生してましたけど。
ゲーム中にラグが発生した場合にどれくらい気になるかは・・・実際にゲームに組み込んでみないことにはわからないかもしれませんね。
とにかく、今回のテストは成功だったので、アルファ版の開発に着手しようと思います。
もしかしたら11月の早い段階で公開できるかも?
今のところ、美輝があんまり強くないですよね。
もうちょっと色々できるようにしてやりたいところなんですが良いアイデアは無いものか・・・。
やっぱり飛び道具が足りないのかなぁ。
美輝の飛び道具って・・・岡持ちと、髪留めのゴムを使った楊枝飛ばしくらい?
楊枝はいくらなんでも小さすぎてゲームには不向きのような。
岡持ちは投げたら回収しないといけないからダメ。
というか、飛び道具より近距離でのラッシュを強化する方向が美輝らしいですね。
太田の技もそろそろ練り始めないと。
サーバ、クライアントともにパケットを送信したあと相手からパケットが来るのを待つようにしたら、秒60フレーム出るようになりました!
でも、しばらくすると秒17フレームで安定してしまいます。何故じゃー!!
パケットが来るのを待つロジックは
while (queue->IsEmpty()) {};
っていう無限ループにしてあったんですけど、やっぱりこれがまずかった様子。
while (queue->IsEmpty()) {Sleep(0)};
↑このようにスリープを入れたら秒60フレームで安定するようになりました。
CPU使用率も100%になってないし、これでよかったのかな。
通信に必要な機能を最低限実装したクラスが出来たのでテストしてみました。
・受信は別スレッド
・クライアントはパケットが到着したらパケットを返信
・サーバはパケットの送信後に同一フレーム内でパケット受信を待つ
・クライアントとサーバはひとつのPCで動作
こんな条件でテストしてみたんですけど・・・無茶苦茶重い・・・。
秒10フレーム程度しか出ません。
このまま実装してもゲームにならないですね。
まだ、当初想定していたアルゴリズムとは違うので、TCPでももっと速く出来るはずだと思いますけど、それにしてももう少しマシなスピードで動くと思っていたのでショックです。
TCP通信だけを行うサンプルは動いてくれたので、今はTCPパケットを格納するキュークラスを作成中です。
マルチスレッドで動作させることを考えるとクリティカルセクションを使う必要がありますね。
使ったことないけど、きっとmutexとほとんど同じだろう・・・。
ネットワークプログラミングの続き。
サーバ側は accept()で接続を待ち受けるんですが、この関数にはタイムアウトがありません。
なのでひたすら接続待ちをし続けることになってしまいます。中断することが出来ません。
UNIXならばシグナルを送ることでタイムアウトさせることが出来るんですが、Windowsで同じことを出来るんでしょうか・・・?
色々調べてたら、accept()を使わず select() で read 出来るかどうかを調べて接続とみなす方法があるみたいです。select()ならタイムアウト時間を自由に設定できますからね。
それにしても、こんな初歩的で重要なことなのに Web上では解決方法がろくに見つからないのは一体・・・。
美輝のドット絵は最初に作成したこともあって完成度が低くて不評を買っていたわけですが、
作業の優先順位を考えるとどうしても修正は後回しにせざるを得ず、ずっと放置してきました。
ですが、ちょっと時間があったので顔だけでも試しに打ち直してみました。上はその比較画像です。
あー、並べるとけっこうよくなったように感じますねぇ。
つーか、右側は今見るとかなり・・・。当時はこれでも満足してたんですけど。
暇を見て少しずつ差し替えていこうかなと思ってます。
太田のドット絵をせっせと作成中ですが、これが意外と面倒なことに気が付きました。
何が面倒って、剣とエコレンジャーのお面です。
これが無ければもっとさくさくと進みそうなんですが、太田のキャラとして外すわけにはいかないので頑張って描くしかないです。
そういえば勘九郎なんですけど、よく考えたらガードさせて有利(または五分)となる技ばっかりだと気が付きました。強いわけだよなぁ・・・。国電パンチはもう少しだけ硬直を延ばすべきかな?
あと、現状めぐみの必殺技が足りないせいもあって、プレイヤーに苦労を強いるキャラになってしまっていてまずいなぁと思っています。そういうのは勘九郎の方が似合ってますよね。
早く何とかしたいところです。
ついでに、昨日の日記のタイトルに「しゃがみヒットについて」と書いてあるのに本文には何も書かれていないことに気付きました。
これも3rdと同様、しゃがみヒット時は中攻撃ののけぞりが+1F、強および必殺技は+2Fとなります。
スタン待機状態によるフレーム延長も同時に発生するので、しゃがみ状態に強攻撃を当ててスタンした場合は+4Fになります。
が、流石にこれを狙うのは難しいでしょうね。
確か、美輝の立ち強⇒中破砕掌が、しゃがみヒットスタン時につながるハズ・・・。
でもしゃがみ状態に立ち強が空振るので、しゃがみ途中に当てなきゃいけないわけで、ほとんど大道芸に近いです。
スタン(いわゆる気絶)のシステムは3rdに準拠していますが、よほど3rdをやりこんでいる人でも無いと正確なところまではわからないと思います。
そこで、少し簡単に解説してみます。
スタンゲージが満タンになると、満タンになった瞬間ではなく、コンボが途切れた時点でスタンします。
この、スタンゲージが満タンでまだスタンしていない状態(スタン待機状態)というのは非常に特殊で、この時の地上のけぞりは2フレーム長くなります。
例えば美輝の立ち中⇒弱破砕掌は通常時はコンボになりませんが、立ち中がヒットした時点でスタン待機状態になった場合はコンボになります。
また、空中の相手に当てると、ダウンせずに着地するタイプの攻撃(ほとんどの地上および空中通常技)がダウンするようになります。
これも例を挙げます。勘九郎の屈強(浮かせ技)のあと立ち中を当てると相手は空中で体勢を立て直すため、そこでコンボが途切れます。
しかし、屈強でスタン待機状態になった場合は立ち中を当ててもダウン状態が継続するため、さらに攻撃を当てることが出来ます。
これらの性質は、スタン待機状態のみに現れます。
スタン中に当てた攻撃には適用されません。
なお、3rdと異なる点は、スタン中にスタンゲージが増加しないところだけです。
連続スタンコンボが怖かったので・・・。でも、その必要はなかったかもしれませんね。
これからしばらく薬漬けですよ・・・。
体験版も公開したので、さっそくネットワーク対応に着手です。
プログラム的には検証用のスケルトンとDLL読み込み部分を作っただけですが。
まずはTCP版を作る予定ではありますが、UDP版について非常に有用な助言をもらったのでこっちも夢ではないような気がしてきました。
UDPだとパケロスの可能性があるため、再送要求を出す必要が出てきます。
しかし、その再送要求もロストする可能性があり、再送要求の再送要求って感じに泥沼化することもあるわけです。
再送要求のような重要なパケットはTCPで送り、スピードが求められるキー入力等はUDPで送るということにすれば、一挙に解決ですよ。
確か、ひとつのポートにTCPとUDPの両方をバインドすることも出来たはずです。
これでかなり前進したような気がします。
すでに何度かここでも書いてますが、これからしばらくは太田のドット絵を作成しつつ、ネット対戦機能実装のための研究開発を平行して行います。
太田が使えるようになるのはおそらく年末のコミケのことかと思いますが、ネット対戦はデバッグの意味もあって、なるべく早い段階で公開したいです。あんまり自信はないですけど・・・。
---------------------------
ver0.20でちょっと気が付きにくいポイントを挙げておきますね。
勘九郎のSA1は発生が遅いので、暗転見てからブロッキングが余裕です。
コンボに組み込んだり、キャンセルかけて出さないと反撃の的なので注意。
SA2は発生が速いので反撃用として優れてます。
ハイジャンプキャンセルで追い討ちすれば総合ダメージも高くなります。
最初は2ストック技だったんですけど、コンボダメージがヒドイことになるのでやめました。
空中追い討ちが可能な技の調整は難しいです。
おかみさんのSA2は、いわゆるノクテュルヌですね(笑
ノクテュルヌと違って途中でスカることが無いのと、2ストックにしたのでEX技を使いつつ狙うことが出来るという点がポイントかと。
めぐみのSA2を1ストックにしたのはまずかったかな・・・。でも驚異的なゲージの短さを利用してばんばん使って行くのがいいと思います。
あ、めぐみの屈強は少し隙を小さくしました。
リープアタックの調整というのは、前進距離を縮めたのと、有利フレーム、棒立ち時の当たり判定の調整です。
これまでは前進距離が長すぎて攻撃判定の終わり際を当てるための間合い調整が難しすぎでした。
今回の調整でそのあたりを狙うのが少し楽になっているはずです。
特に発生の速いSAを持っているキャラならリープからコンボにつなげるのも練習次第で精度を高めるのも楽なはず・・・。
--------------------------------
そういえば、ver0.10のおかみさんは前ダッシュが足元無敵でスピードも速く、屈強の出、戻りが速いという、恐ろしい強キャラでした。
両方ともアニメ第1話を見ました。
デスノートはすごいクオリティ高いような・・・。
渋井丸拓郎が何故か「たくお」に改名されてたのは何故?
第1話としては文句なしでした。
あとはL次第ですかね。
武装錬金は・・・一番楽しみにしていたOPが省略されていてショック!
デスノートのあとに見ると、これが資金力の差か・・・と思ってしまいますね。
別にクオリティが低いってわけじゃないんですが。
コメディ部分もとくに改悪されず全体的に原作に忠実で安心しました。
しかし、パピヨンが出てこないことには評価を下すことは出来ませんね。
OPともども来週が楽しみです。
なんか随分と時間が掛かってしまいましたが体験版を公開しました。
今回はヒットバックの距離や硬直時間などをきっちりと見直して設定しなおしたので、私としては完成度を上げるのにかなり貢献しているんじゃないかと思ったりしていますがどうでしょうか。
全体的に間合いが離れにくくなっていたのがまずいなぁと思っていたんですよね。
スーパーアーツ選択は、けっこう切羽詰ってから実装したのでバグあるかも・・・。
SA2は最終的には作り直しますが、どれもそれなりに使いでのあるものに・・・なってたらいいですね・・・。
あと、この画像は夏コミのパッケージに使ったものです。
あとはドキュメントを書いてバグを修正して終わりです。
この調子なら明日中には公開できるんじゃないかと思います。
今回のバージョンから、ようやくアレが解禁されます。
ストIIIの売りのひとつでもある、アレです。
といってもまだ仮のものですが・・・。
めぐみは今回もほとんど変わっていません。すみません。
必殺技追加の予定はあるんですが、なかなか手がつけられなくて。
とにかく、今後もよろしくお願いします。
エントリが増えたせいか、このブログが死ぬほど重くて困ってます。
エントリを投稿してから反映されるまで5分かかったりとか、おかしいだろ。常識的に・・・。
別のもっと軽いのに乗り換えるべきですかねー。
nicky!とかが良さそうな予感。
順調に調整が進んでいるかもしれません。
今週末はまた3連休ですし、その頃には新しいバージョンが公開できるのではないかと思います。
夏コミ版を手に入れられなかった方は、もう少しだけお待ちください。
本当は早いところ公開して、ネット対戦機能の研究開発に取り掛かりたかったんですがそういうわけにもいかなくて。
最近しきりに話題に挙がっているゲームスピードについて。
「格ゲー初心者向けを意識」「ストIIIのゲームシステム準拠」「私の好み」という理由から現在のゲームスピードが設定されています。なのでいくら遅いと言われても現状から劇的にスピードアップしたりすることは無いです。
「ギルティやメルブラみたいなスピード感が欲しい」と言われても聞き流します。
「ストIIIはもう少し速かった」という意見は聞きますけど。
ただ、のけぞり&ガード時間は開発初期段階でわりと適当に設定したものが今までずっと使われていて、その数値が長めになっていたのは事実です。そして、これを基準に有利フレームを設定してあるので、全体的に動作が間延びしていたと感じられたかもしれません。
今調整中のバージョンではそれを見直しています。
また、ヒットストップも暫定的に少し短くしました。ヒットストップは3フレーム削っただけでもかなり印象が変わりますね。ただ、短すぎるとヒット確認やキャンセルに影響が出るので、元に戻す可能性もゼロではないです。
あとは前後ステップですが、美輝以外はまだ暫定版なので今後手を入れていきます。
ということで、ある程度はスピードアップしますが、気休め程度かもしれませんね。
TV放送も無事終了したところで、アニメの感想の総括をしてみようと思います。
先に気になった点から。
・子供向けを意識したと思われるオリジナル要素の挿入
これはまあ、意見の分かれるところかもしれませんねぇ。例えば23話のラストの勘九郎を女装させる意味とか、あんまり効果的なオチになってなかったと思いますし・・・。
・原作から改変された部分
色々大人の事情もあるんでしょうね。茅原先生とか。
でも第1話の「拳王破砕掌」がフェイント技にされていたのはどうかと。
・キャラの微妙な違い
勘九郎の口癖である「ニャ」を乱発しすぎていたのでは。ほとんど全ての語尾に「ニャ」を使っていた感じですが、原作では意外と普通に喋っていることも多いのでちょっと気になったかも。
あと22話のラーメンガールの話で、おとなしくめぐみの教えを請う美輝。「めぐみの言うことになんか従えるもんか!」というのが普段の美輝だと思うんですが、事情が事情だけにこれも有りなんでしょうかねぇ。
12話のデートで映画館に入ったとき、茅原先生が映画を見ていたのは貧乏キャラという設定からすると違和感が。アニメでは先生が貧乏キャラだという設定がないからしょうがないのかもしれませんけど。
こんなところですかね。
そして、良かった点について。
とても丁寧に、原作をうまく活かすように映像化されていて、ファンとして非常に納得のいくものになっていたと思います。
そんなの当たり前じゃん?とか思われるかもしれませんが、何かを勘違いして作っちゃったりする場合も有るんですよ。
各話のタイトルが原作をそのまま踏襲しているのも何気に良かったですね。
一話あたりのボリュームがかなりあって、15分で30分番組を見たような気になります。
といっても詰め込みすぎ、急ぎすぎという印象は全くないのが不思議です。
映像化された話の選択も、原作で人気のあったものが中心になってます。映像化予想は私もやりましたけど(http://www.ausystem.org/~aushacho/memories/2006/07/post_116.html)どうですか、この的中率。
読者と制作側の意識のズレがほとんどないことがよくわかる結果だと思います。
原作で高い人気の花見シリーズを最終話にもってくるなどの構成も非常に上手かったですね。
「第一話なのにヒロインが吐いた」「最終回なのにヒロインが吐いた」とかは見事な対比のさせかたかと。
また、13話「美輝がめぐみの店を偵察」、14話「めぐみが美輝の店を偵察」のように表裏一体となったエピソードをABパートにそれぞれ配置していたのも構成の上手さが端的に現れていたと思います。
キャスティングについては全く文句なしで、非常に役にマッチしていましたね。
最初から違和感無く聴けました。
劇中BGMは、いい意味で非常にわかりやすい曲揃いで、これもまた作品コンセプトによく合ったものだったと思います。勘九郎のテーマがお気に入りだったり。
あと、スターレンジャーOPがいいですよ。熱血していて。DVDの映像特典が楽しみです。
放送前の注目度の低さには非常に焦りを感じていたんですけど(某誌で「期待の新作」として取り上げられたとき、他の作品が2~4Pなところ、半ページだったとか)最終的にはかなり高い評価を得られたようですし、Biglobeでの無料配信もアニメ部門で視聴数1位を取ったり商業的な結果も出始めている様子。
ということでまとめると、とてもよく出来た作品だったと。
ぜひとも第2期を同じスタッフでお願いしたいと思います。
スタッフやキャストの皆様、おつかれさまでした。