2008-11

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

何気にドット絵を直した

先日アップしたドット絵がどうにもデフォルメ具合が良くなく感じてきたので手直ししてみた。足を強調して手首もちょい大きくしました。髪もちょっとモッサリしていたので軽くすいてみました。
081128_DotPict_PlayerGirl.gif

ゲーム開発の方は、現在サウンドやエフェクトの任意タイミングで再生する仕組みを構築しています。今まではモーションの切り替えタイミングに適当にいれていたのですが、さすがにこのままではタイミングも合わないし自由度も低いので、好きなタイミングで好きなエフェクトやサウンドを好きなだけ出せるようにしました。といってもまだエフェクトは完璧に動作していなかったりします。エフェクトを発生させるには必要となる情報(位置・方向・時間など)がエフェクトごとに異なるので、その辺をどうやって組むのかを迷っています。できるだけエフェクトの追加時に労力が少なくなる方向で実装したいところです。
スポンサーサイト

無線LAN止めました

IEEE802.11gが近所との干渉が酷く壊滅的に繋がりにくくなってしまったため、11aに変えたのもつい数ヶ月前の話ですが、お陰でPCのネット環境は問題ないのですが、XBOX360の無線LANがどうにも不安定でした。ちょくちょく落ちるし、繋がっても速度が全然出なくてイライラさせられていました。今までは大して使っていなかったので、だましだまし使っていましたが…そんな状況を一気に変えたくなる状況になりました。
081124_DotPict_PlayerGirl.gif

全文を表示 »

タイツの色調整

ブルーミングを入れたこともあって、タイツの色が飛んでしまいシェーディングしているんだかしてないんだかわからなくなってしまいました。今日はその辺を調整しました。
本ゲーム中の主人公はいろんな色のカラータイツを持っていて気分で色を変えてくれる予定です(たぶん宿に泊まると色が変わるとかそんな感じにします)。で、これらカラータイツの色は私が街中で見かけた印象に残ったタイツや、ネットで検索してチョイスしたのですが、いくつか気に入らない色もありました。カラータイツはそのビビッドさが魅力ではあるのですが、ブルーミングがキツかったせいもあり、ビビッドさがうそ臭く感じていました。そんなことを思っているとちょうど季節的に寒くなってきたこともあり、街中ではカラータイツのお姉さま方を多く見かけるようになりました。いい色のタイツ姉さんいないかな?とチラ見していたところ…ナイスな色のカラータイツお姉さん発見! 早速参考にして色調整を始めました。まだオレンジとグリーンが微妙な気がするんですが、とりあえず調整は終了。ということでカラータイツバリエーションを一挙紹介です。実はココには出していないシークレットタイツもまだありますよwww全12バリエーションです。本当は柄モノもやってみたいんですけどね~。
081120_Tights.jpg

着地エフェクトを入れてみた

ジャンプ後の着地や敵が地面に叩き付けられたときに出る砂煙エフェクトを作りました(ヒットエフェクトは調整中でまだ見せられたものではないです…こちらは後日…)。これらのエフェクトはCGツールで動きまで作っています。パーティクルなどの場合は板ポリゴンをプログラムで生成して動かしますが、この程度の内容ならツールで作った方がイメージ通りのものができるし、あとで調整もしやすいです。問題は現状ではテクスチャーの切り替えアニメに関する手段が全くないことです。今回の砂煙も静止画で見るとそれっぽくは見えるのですが、テクスチャーが全く動いていないので、実際には淡白に見えてしまいます(一応スケールのアニメーションで誤魔化しています)。プログラム上で板ポリゴンを作ればテクスチャーアニメもできますが、手作業になるため手間が掛かってしまいます。本当はツールで作成したテクスチャーアニメのデータが出力できればそれが一番なんですけどね~。
081116_EFF_Smoke.jpg

続きは近況です…

全文を表示 »

バグ潰しその1

ゲームの核になる【アクション変移→コリジョン発生→ヒット判定→それによる分岐】という流れができ、かついろいろなパターンを実装することで今後の課題も明確になりました。というわけでどんどん先へ進みたいのですが…。実は2つほど大きいバグが残っていて、先に進む前に潰しておきたいと思っていました。

全文を表示 »

ひさしぶりに動画をアップ

 2ヶ月ぶりに動画をアップしました。一番の更新はアクションの増加によるゴブリンとのやりとりでしょうか。空中コンボも入れてみたので、いろいろ工夫して遊べそうです。アクションの他にも、ブルーミングやサウンド面も追加されていますが、エフェクト類(ヒットや着地など)が入っていないのでまだまだ見た目が地味ですね。背景も前回と同じなのでサムネイルだけだと以前と何が違うのかがわからないですwww


 ヒットエフェクトは昨日1つ作ってみたのですが、どうもうまく決まらないので保留しています。実は私はタブレットは使っていなくて、全部マウスで描いています。さすがにエフェクトのようなものはタブレットがほしいところです。買おうかな…。でも、それよりもHDDが足りなくてピンチです。今回動画を録るのに一番苦労したのがHDDの空きを作ることでした…。残り300MB切ったときは焦りました…。外付けHDDが安いので、データ類は全部外に出しちゃおうかと考えています。
 あと久しぶりにXBOXに配置してみました。XNA3.0になってリソースを圧縮してから配置するようになったため大変早くなりました。計っていませんが、体感的には2~3倍は早くなった気がします。

XNA3.0のコンテンツ圧縮すげ~!

XNA3.0の目玉の一つとしてコンテンツの圧縮機能があります。ひにけにさんでは7~8割り程度とのことでしたが、私の環境では35%ぐらいまで圧縮されました! 具体的にはx86Debugビルドで圧縮無効時にコンテンツフォルダが約12MBだったのに対し、圧縮有効時には約4MBまで減りました。スゴ! コンテンツの内容によっても全然傾向が違うでしょうけど、この圧縮率は大助かりです。
開発の方はキャラアクションの実装は順調で、ゴブリンはアルゴこそまだですが、攻撃を受けたり、吹き飛んだり、ダウン→起き上がりといった基本動作は組み込みました。吹き飛び中にも攻撃コリジョンを仕込んだので、吹き飛んだゴブリンが樽を壊しまくっていてなかなか爽快です。ですが、ゴブリンの基本のダメージモーションがどうにも気に入らないです…。気持ちよくないんですね…。音が入れば違うかと思いましたが、適当に音を入れてもやはり気持ちよくない。やられモーションは攻撃に対する評価の部分なので、しっかりやりたいところです。他の敵キャラでは調整する時間を減らしたいので早めにコツを掴まないといけませんね。

モーションのキャンセルとスキップ処理

対戦格闘ゲームでキャンセルといえば【次のコマンドが成立した状態で攻撃コリジョンがヒットしたときに、その技の戻りモーションをキャンセルして次の技へ移行できる】一連の処理を指します。今回実装したのはコチラではなく、単にモーション終了前に次の行動へ移行できる処理です。区別する意味でコチラをモーションスキップと呼びます。
このモーションスキップがなぜ必要かというと…例えば、ジャンプから着地したときに着地モーションが再生されると、ジャンプからの衝撃吸収が表現でき、キャラクターの表現に厚みがうまれます(着地モーションがないと突然立ちに移行するため唐突感があります)。ただ、着地モーションが長いと今度はゲームのテンポが悪くなってしまいます。そこで折衷案として、着地モーション再生中(一定フレーム後)に入力がなければ最後まで再生し、入力があった場合にはモーションをスキップして次の行動へ移行するわけです。
もう少し突っ込むと、ジャンプに気持ちよい操作感を得るには、ある程度先行入力を受け付ける必要があります。というのもモーションスキップはどのフレームでスキップ可能になるかはプレイヤーにはわからないので、ジャストのタイミングで連続ジャンプするには相当の修練が必要になります。慣れないうちはタイミングよく押したつもりでも早すぎた場合にはジャンプが無視されてしまいます。これは気持ちよくないですね。これに対する策として先行入力の仕組みを用意しました(まぁ、どっちみち技のキャンセルを実装するときには必要になるのですが…)。先行入力は現在0.2秒間保持しています。この辺はもっと遊んでみてちょうど良い具合を探っていきたいと思います。
その他にも、ジャンプ着地モーション中にレバー入力があると若干移動できるようにしています。これにより移動しながらジャンプしたときに、着地モーション時にピタっと地面に停止しないように工夫してみました。もう少し実装できたらまたムービーでも作ってみたいと思います。

モーションの移動量の取得

ゲーム内でキャラクターの位置を変更するとき、プログラム上で位置をVector3なんかで設定することが多いかと思います。では、キャラクターが一歩踏み出して剣を振りその場で立ちポーズ戻る場合はどうすべきか? 大きく分けて2種類あり、1つはキャラクターのアニメーションは移動せずにその場で剣を振りプログラム上で適当に前にだす。もう1つはアニメーションに移動量を付けておき、その値をプログラムに反映させる方法。どっちがキレイに決まるかといえば後者に決まっています。前者の方法でキャラの足を滑らないように作るのは至難の技です。ですが、後者を実装するのも結構面倒なものです。
まず、そのキャラのヒット処理(背景や他のオブジェクトに対しての減り込み補正)をモーション計算後に行う必要があります。
モーションデータから移動量を抽出し、前回との差分から今回のモーション移動量を計算します。これをキャラのプログラム位置に足すことで、現在フレームのキャラの最終位置が決まります。背景にめり込むなど、問題が発生した場合にはこの最終位置を更新します。私の場合、モーション計算後の行列はじかに補正しないで、先ほどの最終位置からモーション移動量を引き、ワールドマトリクスを生成してシェーダーへ渡します。
で、オフィシャルのSkinningSampleのシェーダーはワールドマトリクスを受け取らないので、この辺も直さないといけません…。
他にももっと楽な方法があるとは思うんですが、今のところいい方法が思いつきません。もっと根本から直せば良いとは思うんですけどね~。

XNA3.0は導入したもののいろいろと作業中でXBOXでは動かない状況なので、XNA3.0の良さはまだ実感できていません…。圧縮とかスナップショットとか、配置の高速化とか…見てみたいところですが、しばらくは我慢です。
キャッスルクラッシャーズをクリアしました(ノーマル)。クリアしたのに実績2つしか解除できてない…。クレイジーモード(?)の方も少しずつ進めていきたい! それ以外ではXBOXクラシックで購入したクリムゾンスカイと、同僚に借りたアサシンクリードをプレイ中。クリムゾン~はPCでやったことあるけど意外とムズい箇所があって挫折したので、再挑戦のつもりがまったく別物になっててビックリ。まぁ、これはこれでアリですね。雰囲気が好きです。紅の豚をハリウッド化した感じ。アサシンクリードはすごいですね。いろいろと。360の底ヂカラを感じました。ミラーズエッジのデモ(これは会社のPS3でプレイ)をやりましたが、個人的にはアサシン~の方がアクションが決まりやすくて気持ちよかったです。ミラーズ~は慣れないとムズいので、より一層アクションゲーマー向けなんでしょうね。高いところでのアクションはお尻ムズムズしますて面白いです。ただ、どこに行けばよいのかがわかりにくくて、うろうろしているうちに殺されることしばしば。どちらも雰囲気が素晴らしくて見とれてしまいますね~。そのほかにはPUREのデモが気に入っています。PS3のMotroStormでしたっけ? アレみたいな感じで適当にプレイしていて楽しいので、いいストレス発散になりますね。これは買っちゃうかも。

NEW ENTRY «  | BLOG TOP |  » OLD ENTRY

プロフィール

Karu_gamo

Author:Karu_gamo
<メールアドレス>
karu_gamo#hotmail.co.jp
#を@に置き換えてえてください。

<自分リンク>
かるがも研究所【新】
YouTubeチャンネル
公開素材置き場
仕様書
旧ブログ(見るとこないです)
管理者ページ

リンク

YouTube動画

FC2カウンター

カテゴリー

Twitter

 

月別アーカイブ

RSSフィード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。