Google+

PASTEL ORBIT ゲームプログラマが語る / (旧Team Dyquem!)

本業はPS4やPS3等のゲームプログラマ。もう一つの本業である文筆と、ちょっと経済、SFドはまり体質を語る。Team Dyquemとか言ってるけれどもアプリは一人開発

パステル オービット
.
new

TeamDyquem

Dyquem

検索フォーム

Twitter

全記事表示リンク

最新記事

アクセスランキング

[ジャンルランキング]
コンピュータ
1125位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
218位
アクセスランキングを見る>>

QRコード

QR

Mail

アプリに関するご意見等は、下記メールフォームよりお問い合わせ下さい。
直接のご連絡は、team.dyquem[at]gmail.com にてお受け致します。

Your address:
Message:

スポンサーサイト
-------- --:--

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

シリーズ記事まとめ

Aニュース、ガジェット通信 寄稿記事

『連載.jp』寄稿「ゲームプログラマが語る「プロ棋士に勝ったAIは、タクシー基本無料化をもたらす?」」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ”買わない理由”がもたらす充足感と、開発者達の心理」」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る アップデート版に潜む開発者モラルハザード」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ソフトやアプリと携帯ゲーム課金における経済行動学」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る。新しいゲーム機が定期的に生まれる理由」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 楽しさの仕組み ゲームメカニクス」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 3Dテレビとゲームの微妙な関係 その打開策」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 無料アプリのビジネスモデルと舞台裏」
『Aニュース/ガジェット通信』寄稿「新発表ラッシュに見るクラウド大航海時代の幕開け」

■ゲーム制作初心者さん向け系

ゲームプログラマが語る。なんちゃってリードプログラマにはなるな!ゲーム造りで放棄してはいけない大切な事
ゲームプログラマが語る。今さら聞けないフレームレートに纏わる話。秒間60?16ミリ?
ゲームプログラマが語る。「浮動小数点」と商業レベルで上手に付き合う方法
「ゲームプログラマが語る。ゲーム制作初心者の方へ小ネタ「クォータービュー入門」」
「ゲームプログラマが語る。「正しい乱数」が彩る確率世界とエンターテイメント」
「iPhoneアプリ、ゲーム制作初心者の方へ小ネタ「線分と円の交差」」
「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタ「2Dベクトル」」
「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタを一つ」

「プロのゲームプログラマとして、ゲーム製作に関する書評を」シリーズ

ゲームプログラマが語る書評:「MMORPGゲームサーバープログラミング」を読んでみた
ゲームプログラマが語る書評:「ゲームプログラマになる前に覚えておきたい技術」を読んでみた
ゲームプログラマが語る書評:「ゲームエンジン・アーキテクチャ」を読んでみた

■個人でも出来る、マルチプラットフォーム開発関連

ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その4
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3
iPhoneアプリ作者が語る。マルチプラットフォーム化その2・アトミック型定義のススメ
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その1

■リリースしました系

PASTEL-ORBIT/TeamDyquemアプリ第19弾。ローグライク決定版「隣人は魔王」をリリースしました。
TeamDyquemアプリ第18段。ご当地バトルRTS「埼玉クエスト」をリリースしました。近隣の県を滅ぼそう(*-_-*) 埼玉以外でも遊べます #47app
アプリ新作「ネコりす マカロン」をリリースしました
埼玉県ご当地アプリ、「タッチ the さいたま」をリリースしました #47app
アプリ新作「ひよこガーデン」をリリースしました
TeamDyquem新作。結構真面目なアクションパズル「ネコりす」リリース
iPhoneアプリ作者が、iアプリ「泡リス女子部 for iアプリ」をリリースしました
自作iPhoneアプリ改良版、「ネコがゴミのようだネ:アーケード」をリリースしました
iPhoneアプリ作者が、「まりも育成」for iモードをリリースしました
iPhoneアプリ新作 「ナタ・デ・ネコ」 をリリースしました
秋刀魚は関係ないけれど、新作「i-Wishbone」リリース
アプリ新作「ネコがゴミのようだ」。プロモ動画をアップしてみた
「泡リス 女子部」、販売開始
AppBankにまりも紹介記事が!

ゲームプログラマとして参加。ご当地47都道府県アプリプロジェクト #47app

□ビジネス系

ゲームプログラマが語るドコモiPhoneと、インフラから合法的に大金を抜くスキーム
ゲームプログラマが語る。秀丸エディタのビジネスモデル

■SFネタ系

ゲームプログラマがSFを語る。意識はどこからやってきて、死んで、そして何処へ行く?
ゲームプログラマが語る。気の遠くなるスキもない程の、宇宙の話
iPhoneアプリ作者が語る。流れ星に馳せる真実
iPhoneアプリ作者が警笛。どこでもドアの使い過ぎには注意
iPhoneアプリ作者が語るSETI理論。異星人さんは何処!?


人気ブログランキングへ
comments(-)|trackback(-)|スポンサー広告|--------_--:--|page top

iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタ「2Dベクトル」
2011-01-07 13:12



新しい年、2011年を迎えてより早1週間。天気も良くほどよく寒く、加えて卯年。
何か良いことが起きそうな予感だけは毎年しているのですけれども、
フタを開けてみれば又フタが出てくる様な負の無限ループを送っていませんか?
そろそろフタが開けられなくなりそうなTeamDyquemで御座います。皆様こんにちは。
What's a new years resolution で御座います。

2011年ってまあドエライ年号になってまいりましたね。
時は10年以上も前になりますが、21世紀を迎えたあの瞬間。
当時、自分は友人らと共に大晦日より派手に呑み、
その為に購入したシャンパン片手にカウントダウン。あと10秒で21世紀。
10・9・8・7で思いがけずシャンパン放出。盛大に吹き上がりこぼれ落ち、
記念すべき21世紀の瞬間を、台布巾で絨毯掃除しながら迎えた事も良い思い出。
あの時から、こんな21世紀になっていく様な気がしておりました。


以前のエントリー

「iPhoneアプリ作者より年始のご挨拶。パンが無くてもケーキは要らない」


にても少し触れておりますが、新作もほぼ仕上げ段階に到達する事が出来、
あともう1日程度の作業で提出する事が出来そうなのでありますが、
とりあえずその前に、明日より温泉小旅行等へ勤しんで参ります。
どんだけ温泉行ってるんだという気がしないでも無いですが・・・。



さて。

以前のエントリー

「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタを一つ」


にて展開させて頂きました、ゲーム制作初級講座ネタ。
今回はこれをもう一つ。

rule
2Dベクトルクラス

ゲーム等を制作する際、特に2D系のゲームにてキャラクター等の座標を管理する際には、
座標値にはfloatを充てる事が合理的でありましょう。
処理速度を稼ぐ為にshort型などで固定小数点化するというのも面倒でしょうし、
なにより、昨今のiOSデバイスではfloatがそこまでネックになる事もありません。
但し、thumbは気にする事が必要。これについては後述します。

floatにて値を持つ事により、移植性の高い算術系の実装も手間いらず。
以下は自分が使っている自前2Dベクトルクラスですが、用意しておくと便利ですよね。

適当に抜粋


class CVector2
{

public:

/// 代入
const CVector2& operator = ( const CVector2& aValue );

/// 比較
bool operator == ( const CVector2& aValue ) const;
bool operator != ( const CVector2& aValue ) const;

/// 四則演算子 全要素
CVector2 operator + ( const CVector2& aValue ) const;
CVector2 operator - ( const CVector2& aValue ) const;
CVector2 operator * ( const CVector2& aValue ) const;
CVector2 operator / ( const CVector2& aValue ) const;

/// 四則演算子 個別要素
CVector2 operator + ( float aValue ) const;
CVector2 operator - ( float aValue ) const;
CVector2 operator * ( float aValue ) const;
CVector2 operator / ( float aValue ) const;

/// 代入演算子
const CVector2& operator += ( const CVector2& aValue );
const CVector2& operator -= ( const CVector2& aValue );
const CVector2& operator *= ( const CVector2& aValue );
const CVector2& operator /= ( const CVector2& aValue );
const CVector2& operator += ( float aValue );
const CVector2& operator -= ( float aValue );
const CVector2& operator *= ( float aValue );
const CVector2& operator /= ( float aValue );

/// 単位化
CVector2 Normal() const;

/// 内積
float DotProduct( const CVector2& aValue ) const;

/// 外積
float CrossProduct( const CVector2& aValue ) const;

/// 大きさ
float Magnitude() const;

/// 大きさ2乗
float SquaredMagnitude() const;

/// 距離
float Distance( const CVector2& aValue ) const;

/// 距離2乗
float SquaredDistance( const CVector2& aValue ) const;

public:

/// Setter.
float X( float aValue )
{
mX = aValue;
return mX;
}

float Y( float aValue )
{
mY = aValue;
return mY;
}

/// Getter.
float X() const
{
return mX;
}

float Y() const
{
return mY;
}

private:

float mX;
float mY;

};

CVector2 CVector2::Normal() const
{
const float magnitude = Magnitude();
return *this / magnitude;
}

float CVector2::DotProduct( const CVector2& aValue ) const
{
return X() * aValue.X() + Y() * aValue.Y();
}

float CVector2::CrossProduct( const CVector2& aValue ) const
{
return X() * aValue.Y() - Y() * aValue.X();
}

float CVector2::Magnitude() const
{
return sqrt( SquaredMagnitude() );
}

float CVector2::SquaredMagnitude() const
{
return X() * X() + Y() * Y();
}

float CVector2::Distance( const CVector2& aValue ) const
{
return ( aValue - *this ).Magnitude();
}

float CVector2::SquaredDistance( const CVector2& aValue ) const
{
return ( aValue - *this ).SquaredMagnitude();
}




rule
浮動小数点数を扱う場合には、Thumbオプションに注意

ところで、上記のThumbにつきまして。
以下、全て実機コンパイルの話でございます。
ご存じの方が多いかとおもいますが、これは命令セットの名称ですね。
デフォルトONになっておりコードの小さいThumb命令セットへコンパイルされるのですが、
この状態だとfloat演算部分がビルトイン関数呼び出しになり、
float演算を多用するコード部分では大きなボトルネックになりかねません。
上記、CVector2の実装等はfloat演算のオンパレード。
こういったコード部分にはThumbをOffにすると合理的ですね。



さて。
最近は本当に派手に寒い日々が続きますが、
完成されたフィンランド人にクラスチェンジする為には
まだまだこんな寒さでへこたれてはいられません。

しかしながら、皆様は風邪などひかれません様に気をつけて下さいね^^



関連記事
rule

シリーズ記事まとめ

Aニュース、ガジェット通信 寄稿記事

『連載.jp』寄稿「ゲームプログラマが語る「プロ棋士に勝ったAIは、タクシー基本無料化をもたらす?」」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ”買わない理由”がもたらす充足感と、開発者達の心理」」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る アップデート版に潜む開発者モラルハザード」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ソフトやアプリと携帯ゲーム課金における経済行動学」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る。新しいゲーム機が定期的に生まれる理由」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 楽しさの仕組み ゲームメカニクス」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 3Dテレビとゲームの微妙な関係 その打開策」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 無料アプリのビジネスモデルと舞台裏」
『Aニュース/ガジェット通信』寄稿「新発表ラッシュに見るクラウド大航海時代の幕開け」

■ゲーム制作初心者さん向け系

ゲームプログラマが語る。なんちゃってリードプログラマにはなるな!ゲーム造りで放棄してはいけない大切な事
ゲームプログラマが語る。今さら聞けないフレームレートに纏わる話。秒間60?16ミリ?
ゲームプログラマが語る。「浮動小数点」と商業レベルで上手に付き合う方法
「ゲームプログラマが語る。ゲーム制作初心者の方へ小ネタ「クォータービュー入門」」
「ゲームプログラマが語る。「正しい乱数」が彩る確率世界とエンターテイメント」
「iPhoneアプリ、ゲーム制作初心者の方へ小ネタ「線分と円の交差」」
「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタ「2Dベクトル」」
「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタを一つ」

「プロのゲームプログラマとして、ゲーム製作に関する書評を」シリーズ

ゲームプログラマが語る書評:「MMORPGゲームサーバープログラミング」を読んでみた
ゲームプログラマが語る書評:「ゲームプログラマになる前に覚えておきたい技術」を読んでみた
ゲームプログラマが語る書評:「ゲームエンジン・アーキテクチャ」を読んでみた

■個人でも出来る、マルチプラットフォーム開発関連

ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その4
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3
iPhoneアプリ作者が語る。マルチプラットフォーム化その2・アトミック型定義のススメ
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その1

■リリースしました系

PASTEL-ORBIT/TeamDyquemアプリ第19弾。ローグライク決定版「隣人は魔王」をリリースしました。
TeamDyquemアプリ第18段。ご当地バトルRTS「埼玉クエスト」をリリースしました。近隣の県を滅ぼそう(*-_-*) 埼玉以外でも遊べます #47app
アプリ新作「ネコりす マカロン」をリリースしました
埼玉県ご当地アプリ、「タッチ the さいたま」をリリースしました #47app
アプリ新作「ひよこガーデン」をリリースしました
TeamDyquem新作。結構真面目なアクションパズル「ネコりす」リリース
iPhoneアプリ作者が、iアプリ「泡リス女子部 for iアプリ」をリリースしました
自作iPhoneアプリ改良版、「ネコがゴミのようだネ:アーケード」をリリースしました
iPhoneアプリ作者が、「まりも育成」for iモードをリリースしました
iPhoneアプリ新作 「ナタ・デ・ネコ」 をリリースしました
秋刀魚は関係ないけれど、新作「i-Wishbone」リリース
アプリ新作「ネコがゴミのようだ」。プロモ動画をアップしてみた
「泡リス 女子部」、販売開始
AppBankにまりも紹介記事が!

ゲームプログラマとして参加。ご当地47都道府県アプリプロジェクト #47app

□ビジネス系

ゲームプログラマが語るドコモiPhoneと、インフラから合法的に大金を抜くスキーム
ゲームプログラマが語る。秀丸エディタのビジネスモデル

■SFネタ系

ゲームプログラマがSFを語る。意識はどこからやってきて、死んで、そして何処へ行く?
ゲームプログラマが語る。気の遠くなるスキもない程の、宇宙の話
iPhoneアプリ作者が語る。流れ星に馳せる真実
iPhoneアプリ作者が警笛。どこでもドアの使い過ぎには注意
iPhoneアプリ作者が語るSETI理論。異星人さんは何処!?


人気ブログランキングへ

Theme:プログラミング
Genre:コンピュータ

comments(0)|trackback(0)|ゲーム制作初心者の方へ|2011-01-07_13:12|page top

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

コメントの投稿

非公開コメント

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