公開中のゲーム「Departure from the Void」のBGMのMIDI再生がおかしいバグに気がついてから、 BGMの再生について色々と検討していました。 BGMはすべてMIDIファイルから再生するようにしていますが、 これはプログラムサイズを削減することが主な目的です。 元々は限られたサイズのファイルしかア...
April 2014( 4 )
Month
配布ゲームの画像や音楽データの暗号化をしたいと思うようになり、 暗号化ライブラリであるCrypto++を導入してみました。 ■インストール手順 1.ダウンロード 以下サイトにアクセスします。 http://sourceforge.jp/projects/sfnet_cryptopp/ Windowsの cryptopp...
Linuxのシェルスクリプトは手軽に使えて便利! でもソースは見られたくない場合もある・・・ そんな時に役立つのがシェルスクリプトをバイナリ化するツール「SHC」です。 SHCは以下サイトよりダウンロードできます。 http://www.datsi.fi.upm.es/~frosal/ ダウンロードしたら圧縮ファイルを...
今回は点と三角形の当たり判定の計算方法についてです。 基本的な考え方は、下図の様に点Pから三角形の各頂点ABCに向かうベクトル間のなす角を調べることで行います。 (ただし、) 上図の∠AB、∠BC、∠CAは三角形の内部に点Pがある限り180°以上になることは有り得ません。 もし180°以上の角が存在していたら、点Pは三...
サイトに公開中のゲームをMacのWine上で動作させてみました。 以下、動作させた様子です。 公開中のゲームは「Departure from the Void」と「Block Shooter」ですが、MIDIファイルの再生以外は問題なく動きました。 BGM再生に用いているMIDIファイルの再生は、途中で大きなノイズのよ...
当たり判定処理の高速化についてのメモ書きです。 一般に、多数の物体同士との当たり判定を行うにつれ、当たり判定の計算処理が膨大になります。 M個のオブジェクトとN個のオブジェクト同士の当たり判定を行う場合、M×N回の当たり判定が必要になります。 矩形などの単純な図形同士の当たり判定の場合、そこまで計算負荷にはなりませんが...
自作ゲームをサイトに追加しました。 「Block Shooter」です。 以下ページよりダウンロードできます。 https://ftvoid.com/game/ 内容は、空から落下してくるブロックをどれだけ破壊できるかを競うゲームです。 以下のような仕様となっています。 ■基本仕様 ・地上の自機が、上空から落下してく...
今回は2Dゲームにおける円と長方形の当たり判定計算についてです。 基本的な考え方は、円が長方形と重なるような円の中心点の領域をチェックするイメージです。 これは以下の角丸長方形の領域となります。 円の中心点がこの領域に入っているかどうかをチェックします。 まず、以下の2つの領域で当たり判定します。 これは点と長方形の当...
2Dゲームでよく使用すると思われる図形の当たり判定計算のまとめです。 ■点と円 点と円の中心との距離が円の半径より小さくなると当たりとなります。 したがって、計算式は以下のようになります。 しかし、左辺には平方根を用いておりパフォーマンスが悪いので、通常は両辺を二乗した次式を用います。 ■円と円 2つの円...
C#においてforeach文とfor文で添え字アクセスする方法のどちらを用いたほうがパフォーマンスが上がるのかについて気になっていました。 普段良く使う配列(Arrayクラス)とListクラスについて、foreach文とfor文によるシーケンシャルアクセスの速度を検証してみました。 今回用いたプログラムは以下の通りです...