物理ゲーム

卓球公開

日付が変わったので公開。ウェブサイトMASAのほうから。物好きな人はどうぞ。ランタイムが多いけれどClickOnceなのであまり手間はかからない。やたらと製作難易度が高かった。

卓球

球とネットやボードとの当たり判定に問題があったのを修正してみた。完全に解決されたかは分からないし処理は確実に重くなったのだが、これ以上いい手も浮かばないので妥協する。 マニュアルを書き上げて、ソースの整理も完了したので今度こそ完成。

卓球完成

タイトル画面を組んで、動作に問題があった場所を直して完成。 まず球同士の衝突処理。最初に書いて挙動不審だったのを見なかったことにして熟成させていたが、やはり挙動不審だった。その動きがどこかで見た炭素原子への核融合モデルに見えたので、いっその…

卓球

玉と玉との衝突を書いてみた。よほど弾が多くない限り衝突する可能性が限りなく低いことに気が付いたのは効果音まで一通り実装し終わってから。 タイトルが"Extreme PingPong"から"Extreme∞PingPong"に進化。

卓球

7月末ぐらいにある程度まとめる必要性が浮上してきたので、適当にいじっていた。変にXNAにとらわれているせいで設計がとんでもないことになっていて、ゲーム本体をひとつのクラスに分離するだけでやたらと時間がかかった。あとはタイトル画面とかの基本的な…

効果音整理

効果音を管理するクラスを作った。それ以外のことのやる気が起きない。まともに卓球として遊ぶのはインターフェースの大幅な変更が必要なので、もう適当に球が跳ね回るのを見て楽しむという方針になってきている。

効果音

壁の問題はやはり法線の方向が逆だったのが原因だった。それを直して台の4面を壁で囲ったら、壁との間で何度も反射を繰り返すという光景が見られるようになった。それを眺めていたら簡略化したところが悪さをしているのか、反射を繰り返すだけなのに段々加速…

そこそこ時間があったので卓球をやっていた。2PのAIとかを作るのもやる気がなかったのでボードの外側に壁を設置することにした。最初に書いた状態では上手く動いていたのだが、汎用性を高めて壁の枚数を増やしたら上手くいかなくなった。法線が悪さをしてい…

ネット

さすがに卓球製作が停滞しすぎてまずいと思ったのでネットを実装。ついでにソースを整理。 あとはサーブの実装、2P側の実装、スコアカウントの実装でプレイは出来るようになる。制作意欲が真っ逆さまに落ちているのでプレイできるようになったらもう放置する…

ついに牛歩のようなペースでしか進まなくなった。完全に卓球を作るモチベーションが失われた感じ。 それでも作らないといけないわけで、その縛りを意識するせいで思索の時間にSSのことを考えられないデッドロック。単なる寝不足の可能性も大。

ネット

ネットがボードと同じクラスで管理されていたので分離した。 この頃作業時間が怒涛の勢いで減って困る。ToDo山積みなのに。

ボード判定

多角形と点との判定を適当に実装。D,C++,C#と実装するのがもう3回目なのでいい加減飽きてきた。 ここまでは別に何の問題もないが、問題はボードの端でのイレギュラーな反射の計算。ボードのふちを曲線にすれば楽になるかもしれない。

計算

ボードと球との判定を考えていた。ベクトルを使った多角形当たり判定を使って汎用性を高め、卓球を卓球でなくしようと妄想。

卓球

当たり判定部分をデバッガで追ってみたら、ラケットのサイズを間違えていたので修正。その結果今度は全く当たらなくなり、デバッガで数値を見ても良く分からなかったのでラケットの中心の場所に適当な図形を描画した。それで、やはり縮尺が原因でラケットの…

続・当たり判定

ラケットとの相対速度を考慮に入れた反射のコードを書いた。剛体をまだちゃんとやっていないので速度の計算はパッションで。それで何となく速度は変わったのだがどう考えても遅すぎる。 当たり判定もちゃんと取れているか不安だったので、視点の変更機能を盛…

あたり判定

帰ってきてから、前メモしておいた卓球ラケットとピンポン球との当たり判定を実装。パッと見た感じ上手く動いているが、視点を変えてみないとまだ分からない。ラケットに当たったときの反射も、ラケットの持つ速度を考慮せずに書いたのだがそちらは全く動か…

卓球再開

卓球の製作を再開するために状況を思い出していた。あとラケットと球との当たり判定の式を求めておいた。ベクトルを数学で使い慣れたおかげで結構楽に計算できた。 蘇生を普通のプレイヤー環境でテストプレイしてみた。4面がやはり難易度が高く、5面はパター…

今日の四則

卓球製作中 卓球台と球との反射の実装に成功。上手くいかなかった原因は、卓球台の平面の法線が予期していたのとは逆向きであったこと。 蘇生弾幕改良 先日書いた、戻り洗濯機の難易度を下げた。弾速を下げたために弾が画面中に広がるまでに時間がかかり、そ…

今日の半透明

卓球製作中 影の描画が出来るようになった。光源の設定をする前に、影の描画用の行列を生成していたのが上手くいかなかった原因一つ目。もうひとつは、何故か普通の描画の際にアルファブレンドが有効になっていたこと。 描画面がだいぶ整ってきたので、当た…

今日の影

卓球製作中 リアルの卓球のサイズの比をゲームに反映させた。思っていたよりも台が大きかった。ラケットの大きさはルールで決められていなかったので、変な大きさのラケットをゲームに組み込むというのもあり。 遠近感がほしくなって、XNAのドキュメントを見…

今日の縮尺

卓球製作中 ラケットを振る動作とラケットの移動を作成。面を両面描画にしたらモデルの描画がとんでもないことになった。 卓球台と玉とラケットの縮尺の比がおかしいような気がしてきたので、リアルの大きさの比を調べることにする。 SS下絵 いろいろやる気…

今日の鎖

卓球整理 ラケットを実装していたら入力周りが混沌としてきたので、一旦クラスの設計を整理してみた。そのせいで、製作開始から1週間たっていないというのに、ソースのファイルが15本もある。多分実際の分量の多くは自動生成されたusing宣言やらコメントやら…

今日の変色

弾幕作成 弾幕と呼ぶにはあまりにも弾が少なすぎるのだが、かといっていい呼び方もないので弾幕と呼ぶ。レーザーが主役だったので、Gimpである程度まともなレーザーのグラフィックを作って、描画方法の自由度も広げた。 最初に作ったのが青いレーザー画像で…

今日のモデル

モデル描画ちゃんとした そのまま。モデルの描画をするときは、グラフィックデバイスに関連付けられているエフェクトではなく、モデルのメッシュに関連付けられたエフェクトに対して設定をするということを学んだ。もっともメッシュのデータを分析して、それ…

今日の球

卓球製作中 引き続き卓球。昨日詰まっていた3Dの描画は、3D描画に必要な設定をしてから3D描画をするまでに2D描画を間に挟んでいたことで、設定が変更されていたのが原因だった。 出来ればモデルを外部から読まずに頂点データをソース内に書いて動かしたかっ…

今日のはてな

日記引っ越し これまでの日記をhttp://blackman-kclc.blogspot.com/:Titleからはてなダイアリーに引っ越し。今日からははてなで日記をつけていきます。それに伴い、これまでのなんとなく決まっていた日記の書式も変更。 卓球製作中 昨日に引き続き、卓球の製…

今日のカーソル

・卓球製作開始折角XNAの本を買ったので、XNAを使って卓球の制作を開始。タイトルロゴやマウスカーソルを作ったり、表示したりしている。3Dの描画は必要な部分を本で読んだところで、まだコードは書いていない。OpenGLで3Dをやったのに比べてだいぶ複雑な印…

今日の落下

・パラボラメイン作成中・絵時間があって気力もあったのでパラボラのメイン、軌道の計算を書いた。しかし、というより予想通り、上手く動かない。どこかで単位が食い違っているのが原因ではないかと思っているのだが、それらしいところが見つからない。もう…

今日の複合

・パラボラ視点変更完成 視点を回転させる機能を作り忘れていたのでつけておいた。これで多分視点関係は完成。そろそろ本丸の軌道の演算を実装しないといけない。 復讐を作るのにPythonスクリプトを組み込もうと思ってPythonDを調べている。しかしドキュメン…

今日の視点

・パラボラ視点操作作成ホイールのことはすっぱりと諦めて視点操作を作った。操作がモデリングソフト風になってきている。あと、折角クラス名をAppleにしたので投げる物体をリンゴの絵にした。縮尺がおかしい化け物リンゴ。この頃作業ペースが落ちているので…