Google+

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

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

パステル オービット
.
new

TeamDyquem

Dyquem

検索フォーム

Twitter

全記事表示リンク

最新記事

アクセスランキング

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

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

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

ゲームプログラマが語る。モンハン3Pに見るマルチプラットフォーム化の恩恵
2011-05-30 13:40



今年も元気にやってまいりました梅雨。迷惑千万この上ないのですけれども梅雨。
雨が降ればいいってもんじゃあ無いって事を判らせたいですね梅雨。
ダメなんです。湿気にまみれると色々と駄目な自分なのです。
相性が悪いんじゃない?地球と。」的な会話がナチュラルに飛び出す関係というのはどうかと思いますが、
梅雨のせいなのです。何かこう、自動的に毎日が「明日から頑張るモード」となりませんか?なりませんね。

「後ろから吹く風」と「湿気」が、何よりも苦手なTeamDyquemで御座います。
皆様こんにちは。


耳よりな情報が耳にどれ程寄っているのか、ですとか、
「どこもかしこも」の「かしこ」って何処だろうと気になり始め、昼も眠れません。
「小耳に挟んだ」とか言われると、挟まってないじゃん!という脳内リフレインに苛まれ、
「あししげく通う」という字面だけを見ると、「あししげ」<「通う」みたいで、
「あししげ」が「通う」より劣っているんじゃないかと心配になる始末。

えと、何科に行けばいいんでしょうか。


さて、今週も頑張って参りましょう。


rule

先日はカプコン社の大型タイトル、モンスターハンター・ポータブル・3。(以下、MHP3)
上記大ヒットゲームのPS3版リリースが発表されましたね。
400万本超えという国産ゲームとしては空前の大ヒットとなった本作でありますが、
PS3ハイデフ画面にてのプレイも又大迫力でありましょう。

ところで、業界以外の方の間ではあまり知られていない事かもしれませんが、
先日、次期PSPとして発表された「NGP」。高性能なPSPという位置付けで構わないかと思いますが、
このNGP上にてMHP3が動作しているデモが一部にて公開されましたね。

加えて、今回のPS3ハイデフ版の発表。
その全ての機種にて、元のPSP版を完全再現しさらにハイデフ化等が行われ、
色々な機種にて全く遜色なく動作している様、今回はこの点に注目してみましょう。


MHP3は何故こうもサクサクと色々な機種にて展開発表され、
殆ど時間をかけている様子も無く、短期間にて発表できるクォリティにまで到達しているのでしょう。

これは、まさにマルチプラットフォーム化の恩恵なのであります。

以前より何度か展開させて頂いております、アプリプログラミングにおけるマルチプラットフォーム化のススメ。
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その4
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3
iPhoneアプリ作者が語る。マルチプラットフォーム化その2・アトミック型定義のススメ
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その1
関連シリーズものと致しまして、上記エントリーも併せてご覧頂けましたら幸いです。


本BLOGにてエントリーの際に幾度となく強調して参りましたが、
ベースとなる考え方は一つ。アプリケーションコードからの依存性排除が大変重要であります。

仮想入力デバイスによりプレイヤーを移動させるというコードは、
どんな機種でもビルドさせられる様に実装する抽象化したレイヤーへ配置、
「仮想入力デバイス」の中身は機種毎に実装していく事になり、それがPSPならばアナログスティック、
PS3ならば「左側のアナログスティック」等の様に、機種依存レイヤーにコーディングしていきます。

移動したプレイヤーが剣を振り、敵にヒットした際にダメージはこれこれ。
装備をナニナニに変更した場合防御力は幾らになる、等といった、
アプリケーション本体となる部分は全て抽象化コードとして実装する事が可能な筈であり、
またそうするべきで在りましょう。

平行し、機種に依存する部分をレイヤー化しておく事がとても重要で、
開発当初は展開予定機種が例え1機種に限定されていたとしても、
レイヤーを分けておく事で全体設計方針が明確になり、
後に手間が省けるという意味以上の合理性をもたらします。


MHP3の例を見てみましょう。
カプコン社内にてどの様な運営方針の展開があったかは判りませんし、その事は本質とは関係在りませんが、
PSP版MHP3をNGPへ展開するには、NGP版の機種依存レイヤーコードを追加実装すれば良く、
PS3版においても同様です。
また、カプコン社はどう控えめに見てもそういったマルチ展開スキルの非常に高いメーカーであります故、
その設計指針も大変高度に合理化、明確なルール化が施されている事でありましょう。
故に、こうも短期間にてアプリケーション完全移植版が次から次へと、
それこそは公式クォリティにて発表出来ているという点に疑問の余地は全くありません。

PS3版MHP3においては、PSP版セーブデータとの間にて相互運用が可能という発表がありました。
これを、単に「便利ですね」で終わらせてしまう事は簡単でありますが、
プログラマから見ればこれは、アプリケーション抽象レイヤーにてバイナリレベルの互換性が実現されているという事であり、
それはつまり、MHP3が純然たる抽象化アプリケーションであるという事実に他なりません。

これは推測でありますが、恐らくはかなり高い確率にてWindows版のMHP3も存在している事でしょう。
主開発はWindows版で行う形が最も合理的ですし、無駄も少ないですからね。
まあ、流出にだけは気をつけて欲しい所ですが、知的好奇心の範囲にて一度お目にかかりたいものです。

合理性を追求していくという事、その事から得られる優位性やチームの利便性向上、
これらからやり甲斐や快感を得られる様になれば、貴方も最前線プログラマの仲間入り、なのです。


rule

そういった意味を踏まえ、個人にて展開するiOS系アプリ制作におきましても
マルチ化を導入していく事は大変有意義でありますし、又、そうするべきでありましょう。

ゲーム以外のアプリにおいてもマルチ化していくとなりますと、
これは流石にフレームワーク作りがとても大変ではありますが、
一度に全部のUIを実装するのでは無く、また初めから完全な形を用意する必要はありません。
アプリの一部へその機構を導入する事も、大変良いアプローチであると思います。

拙作、「まりも育成」に関しましては、パラメータ進行部分は抽象化レイヤーにてコーディングしてあり、
その成長過程等はWindows上にて確認出来る様に実装してありますよ。


これからは、兎にも角にもマルチ化が進む事でありましょう。
自分自身まだまだ興味のつきない分野でもあります故、今後もエントリー組んでいけましたらと思います。



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-05-30_13:40|page top

プログラマーは歯が命。愛用ツールは秀丸
2011-05-24 13:48



靴を作る道具を買いに行く為の靴の無い靴職人が街に溢れかえっている様な、
はたまた除湿棒を湯船に落としたかの様な、倦怠感メーターが常にMAX梅雨入りで御座います。
「後ろから吹く風」に継いで嫌いな事象「湿気」。
カビキラーに生えたカビに、心理フリーズ&サイコロックをかけ続けられているTeamDyquemで御座います。
皆様こんにちは。

最近はアレですよね。世の中禁煙ブームで御座います。
かくいう自分も禁煙開始より早4ヶ月。禁煙というよりも絶煙の決意ではおりますが、
禁煙するとメシが旨い」でありますとか、「肌の調子が良い」等という話を聞いておりましたものの、
自分の感じる限りそんな事は特にありませんねぇ。
苦しい想いを乗り越えて禁煙に成功した先陣達のPR活動に思えて仕方がありません。
まあ、自分が鈍感なのでありましょう。とりあえずは、体重に気をつけていれば良いかという所でしょうか。


はて、さて。

梅雨時になるとですね、なんといいますか常時「明日から本気出す」状態に陥るのはデフォルトでしょうか。
アロエリーナも頬杖ついて、スナックのママの様な「フフン」とした鼻笑いを繰り出すレベルです。


はて、さて気を取り直して参りましょう。
よっこいしょ。

rule

合理性の追求が重要であるプログラマーをとして活動していくのであれば、
商売人や職人が商売道具に拘る様に、須く、少なくとも常用ツールには拘るべきでありましょう。

キーボードやモニタなど周辺デバイスは数あれど、
こういったハードウェアに関する部分では
多分に財力が物を言ってしまう味気の無い領域であるかとは思いますが、
ソフトウェアに関しては、これはもうセンスが色濃く出てくる所です。

職業プログラマとなった場合、それはもう毎日日夜四六時中使う事になるツール類。
合理的で手に馴染み、便利で軽快な物をチョイスして行くべきでありましょう。
昨今におきましてはシェアウェア系の充実に平行し、安価良質な物が増えてきていますので、
ここは一つ、TeamDyquem的愛用ツール類に関するエントリーと致しまして、まずはエディタ編を。


rule
TeamDyquem的愛用ツール:その1テキストエディタ

我々プログラマにとってみれば、何は無くともテキストエディタが無い事にはお話になりません。
Windows付属の「メモ帳」や「ワード」で全てのコーディングをこなす、
その様な拘りを持つ方ももしかしたら居るのかもしれませんが、
その頑なな心意気は素直に素晴らしい所でありながらも、一緒に仕事はしたくありません。

昨今では Visual Studio 内蔵エディタを愛用されている方を多く見かけますね。
あれはあれで良いと思うのですが、専用エディタも大変便利。

TeamDyquem的にはかれこれ15年以上にもなりましょうか、
秀丸エディタ」が最早、自分の体の一部となっていますよ。



現在でもバリッバリに開発進行中であり、その発展は留まる事を知りません。
常用しているツールのバージョンアップが止まっていないと言う事はとても重要でありますしね。
何より、その高機能プリは半端ではありません。

アプリという物は勿論プログラマが作るのでありますが、エディタというジャンルはやや特殊。
何しろ、プログラマがアプリを作る際の必須アイテムではありますが、
エディタを作っているのも勿論プログラマですからね。

自分の作っているエディタで、自分の作っているエディタを開発するという、
ニンともカンとも、鶏が先かヒヨコが先か的な、いやヒヨコだろ的な事態が発生します。

以下はマイクロソフトに関する有名な話なのですが、

Have you ever heard the saying "eat your own dog food" ?
I don't who was the actual author but
it's one Microsoft lives by when it comes of software.

マイクロソフトでは、Windowsを開発する際に、その開発中のWindowsを使用するという話。
この事を彼等は「ドッグフードを食べる」と呼んでおり、
開発中の発展途上段階にあり完成度が低くドッグフードの様な状態である段階から、
実際に自分達で食べてみて悪いところを徹底して洗いだそうという姿勢です。

テキストエディタ開発も又同様。自分の作るエディタを、自分の作っているエディタで開発する。
いずれのエディタメーカーやエディタ作者さんも、多かれ少なかれ同様にされている事と思いますが、
こと秀丸エディタに関しましてはまさに、「プログラマが自分のプログラミングの為に」作っている、
そうしたパワーと情熱をヒシヒシと感じるエディタなのであります。


Emacs派、XCode派、色々な拘り派がいらっしゃると思いますが、
もしも、特にエディタを定めてはいないという方は、
お気に入りのエディタ派閥へ属し、とことんまで使い倒してみるのも楽しいですよ。

さて、貴方は何派でしょうか。



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-05-24_13:48|page top

【Short Stories online】iOS版ファイナルファンタジー・タクティクス続報
2011-05-18 13:26



職業柄、心に馴染み没頭出来るゲームをいつだって探してはいるものの、
職業柄故なのか、穿った視線が仇になりそう易々とは出会えないお気に入りゲーム達。
鵜の目、鷹の目にて欲する時に程これがまた見つからない事この上ありませんが、
3度のメシよりタクティクス系ゲームが好き。とうとう近づいてきましたFFT

自作アプリはパズル系にまみれているのにタクティクス好きとかマジKY。
節操無いだろカス等のご意見は容赦願いたい所です、やっぱゲーム好き。そこは然もありなん。

そろそろ「日本語の使い方」とか言う案内メールを頂きそうなTeamDyquemで御座います。
皆様こんにちは。


「落とし物ぶくろ」と書かれた巾着袋が、道に落ちていました。

爽やかな朝日があまりにも気持ち良く空を見上げた途端に、
光化学スモッグ注意報が聞こえてきた時の様な気持ちになりました。


rule

【Short Stories online】
通常のエントリーとは異なり、気になった小ネタに触れるShort Stories的な試みで御座います。


iOSファイナルファンタジー・タクティクスに関する、
続報らしき記事が掲載されているようです。

個人的に大好きなこのゲーム。
以前にはPSPへ移植されたという経緯もありますが、
やや残念な完成度となってしまい消化不良気味でありました。
今回の移植にあたり、そのゲーム内容的にもタッチデバイスとの相性は
それこそ抜群に高いであろうと想像に易しい事ですしね。
発売をとても楽しみにしております。

「TOUCH ARCADE」曰く
'Final Fantasy Tactics: War of the Lions' Gets an Official Release Date… Sort Of


Today Square Enix has finally broken their silence
and announced on their Facebook page that yes,
Final Fantasy Tactics likely won't be making its Spring debut as promised,
but instead will be released shortly after in late June to mid-July.

-略-

Square Enix have released a new batch of screens,
which I'll go ahead and let you check out for yourself:

-略-

Another interesting tidbit that
Square Enix has shared is that the game will be getting an iPad native release,
and that one of their artists is actually redrawing much of the art
in 1024×768 resolution so that it looks nice and sharp on the screen of the iPad.

Because of this extra work,
you can expect the iPad version to launch sometime after the iPhone/iPod touch version.
No word on if the artwork that is being redrawn in high resolution will
also make its way to the smaller screen in the form of Retina Display support,
though I would certainly hope so.



TeamDyquem的超意訳with昼食

本日、スクエニは遂に沈黙を破りフェイスブックにてアナウンスしたYo。
春デビュー予定としていたFFTだけれども、代わりに6月か7月には出しますと。

で、スクエニ幾つかの新しいスクリーンショットを公開したYO!見れ、その目で。



それからもひとつ。iPadバージョンも作ってるよ!
スクエニデザイナさん達はiPadの画面に最適化された
102x768版の絵も描き起こしているんだYO。

ただ、iPad版高解像度作業はメッチャ大変なので、
iPad版がどの位遅れて発売されるかは判らないのです。
また、Retinaディスプレイ対応という事とはまた別のお話。
(そうなってほしいけれどね!)



とても楽しみな一作です!




プレスリリース的に使う画像だという予定では無かったのかもしれませんが、
出ちゃってますよデバッグフォントで開発用情報が。
こういう画像が出てくる場合は大抵、中の人々はそれに気が回らない程に忙しいという、
同じ業界人として、それはもうとても人事とは思えない予想が成り立つのです。

頑張れ中の人達! ほんと楽しみです。



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(0)|trackback(0)|未分類|2011-05-18_13:26|page top

ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その4
2011-05-16 13:40



それは幾ら何でも性急に過ぎるのでは無いでしょうかとの苦言に舞う、早くも初夏の装い関東平野。
日差しと気温を気にした服装で外出すれば冷や雨。寒いかと思えば初夏。
そこら辺りを歩くカニも、壁をグーで殴りだすレベルでは御座いますが皆様如何お過ごしでしょうか。
世界で一番エビが嫌い。TeamDyquemで御座います。皆様こんにちは。

最近アレですよ。
かなり久しぶりにスターウォーズをEP1より観なおしているのですけれども、
10年近くも前の映画とは思えない程の美しいCG。色褪せない壮大なストーリー。
世界中を魅了した作品が彩るその世界観に時間を忘れて浸っておりましたが、
フォースがドラえもんのポケット並に万能過ぎて集中出来ません。
あの力のもたらす影響が気になりすぎて、いずれ、
キャベツの値段暴落もフォースの力だと言われる事でしょう。

いや、大好きな作品です。


rule

さて、マルチプラットフォームネタ第4弾で御座いますが、
前回に引き続き、マルチにとどまらない抽象化ネタとしてエントリーを構成してみました。

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

シリーズエントリーと致しまして、上記も併せてご覧頂けましたら幸いです。


親子関係」についてのよもやま話を一つ。
又それに留まらずエントリー末筆におきましては、
前回の可変長フレームレートネタとの融合への布石として締めくくりました。

なんだか、エントリータイトルがどんどんと本質から乖離している気がしないでもありませんが、
勢い重視という事でご容赦頂けましたらと思います。

さて。


rule
階層親子構造を抽象的に実装する

ゲームに限定された話ではありませんが、種々インスタンス群は場合により
階層的に管理する形がピタっとはまるケースが少なくありません。

ここで言う「階層化」とは所謂親子構造の事であり、
ゲーム寄りの技術として比較的一般的なものの一つに、
キャラクターのボーン構造等が挙げられるでしょう。
背骨や大腿骨、腕や指など、人体骨格構造をデータ化しキャラクターの姿勢を管理する
世界的にごく一般的な手法ですが、階層化を学ぶ上においては大変判りやすい例でありましょう。

例えば首の骨や腕の骨は、背骨の「子供」という位置付けであり、
背骨が移動すれば、首や腕は自動的にそれへ追従されるという親子関係が形成されています。
また、首と腕の関係も重要であり、この二者は背骨の子という関係において共通しており、
つまり「兄弟」として表現する事が可能です。
実際のコード実装においても、「兄弟」として管理する為の幾つかのメソッドに包括されます。


コーディング技術というよりは寧ろ概念的な話ではありますが、
この「階層化」の歴史は非常に古く、また用途も多岐に渡り、
ゲーム設計という観点に限らず、広く大変に重要な技術であります。

OSが管理するスレッドにおいてもこの概念は導入される事が多く、
例えばあるアプリケーション。そうですね、それが仮に家計簿ソフトであるとして、
メインウィンドウへ収支一覧が表示されており、これをメインスレッド。
その子供として金額入力ウィンドウ等が子供のスレッドとして駆動しているケースを仮定。
この場合、メインスレッドが一時停止されれば金額入力ウィンドウ等も停止
破棄されれば一族郎党抹殺よろしく、合理的に関連スレッドが全て破棄されます。
金額入力ウィンドウの更に子供として、「前借り」ボタンや「臨時出費」ボタンなど、
機能的に階層化した個別の要素を追加する事も勿論可能であり、
メインのスレッドにより何らかの事象にて「金額ウィンドウ」だけが一時停止されれば、
その配下にあり、本質的に「金額ウィンドウ」と同様に一時停止してほしい前借りボタン等は
自動的且つ能動的に一時停止されるという仕組みです。


ややお堅い実装の話になっておりますが、この技術はゲームとも非常に相性が良く、
例えば何らかのアクションゲーム等における、そうですね、
ステージの終わりの大きなボスを仮定しましょう。
シューティングゲームでもアクションでも構いません。自由に想像してみて下さい。

ボスは非常に大型で、プレイヤーを倒そうと執拗に攻撃してきます。
攻撃方法は多種多様ですが、彼のもつ攻撃方法の一つは「」を放つ事。
更に「手に持った剣」を振り下ろす強力な一撃を持ち、
もう一つの手に持った盾」をかざし、こちらの攻撃を防ぎます。


ここで、このボスについて親子構造を考えてみましょう。
冒頭のボーン構造における「背骨」にあたる部分。親子関係で言えば長老クラスの第一世代。
ボス本体はこれに当たります。ボス本体がまずは自由に動作できる個体であると考えます。

ボスから放たれる「弾」。
いきなりイレギュラーでありますが、この「弾」は本体と親子関係を持たない存在です。
放たれた瞬間より本体であるボスとの因果関係は消失し、
ここでは「直線的に飛ぶ」という独自の法則にのみ支配される独立した個体です。

次に「剣と盾」。もうお判りですね。
彼等がボス本体の「子供達」と位置づけられ、この二者は兄弟関係にあります。
剣と盾にはお互いを拘束する様な因果関係はなく独立して駆動する事が出来ますが、
同一の親を持っている点で共通しています。つまり兄弟です。
盾が破壊されようとも剣の威力になんら変わりはありませんが、
親であるボス本体が倒されれば一族郎党共倒れるという因果関係が結ばれています。

この様に管理する事のメリットは多大であり、
例えば剣の制御プログラムの中へ「親が動いたら、剣自身の座標を更新する」ですとか
「親が死んだら、剣自身も自分が死ぬプログラムを動作させる」、
例えばこの様なナンセンスなプログラムを書く必要から解放される事を含みます。

このコーディングの何処がナンセンスであるか。
それはつまり合理性という点に集約されるわけでありますが、
プログラムとは常に須く適者担当に妥当なモジュール設計を志すべきであり、
つまり、あるモジュールの仕事はそのモジュールだけが知っていれば良く
「親が死んだら自分はこうする」等の様な画一的その場処理はいずれ、
他者の状態を調べるというコード群の山を築く事になるでしょう。

こういった構造的な挙動は全て、統一した仕組みに組み込んでしまうという方針を立て、
剣のプログラムには剣だけの処理、例えば剣と地面の接触判定等に特化させる形がスマートであり、
剣自身の制御が不要になるタイミングを判定するのは、剣自身ではなく、
それが身を委ねているもう一つ大きな仕組み、つまり「親子関係システム」に黙って一任する
そういった形が合理的でありましょう。


rule
実装

さて、タイトルの通り本エントリーもマルチプラットフォームを元来視野においており、
その実装方法が大変重要になってまいります。

こういった概念的な仕組みというものは須く抽象的に実装するべきであり、
機種や環境に依存させない事が大切です。
本エントリーにて取り上げた「親子関係」。
実装方法はそれこそ多種多様な解釈があるかと思いますが、
ここでは、TeamDyquem的運用に沿った、実際に自分が使っているコード抜粋を紹介致します。



template< class T >
class THierarchy
{

public:

/// Initialize.
void Initialize()
{
mpParent = NULL;
mpSibling = NULL;
mpChild = NULL;
}

public:

/// 子供を追加
void AddChild( T* apParent, T* apTarget )
{
gAssert( apParent );
gAssert( apTarget );
gAssert( apTarget->mpParent == NULL );
gAssert( apTarget != apParent );
if( mpChild )
{
T** p = &mpChild->mpSibling;
if( *p )
{
// [p] を末端の兄弟へのポインタ迄進める
while( ( *p )->mpSibling )
{
p = &( ( *p )->mpSibling );
}
( *p )->mpSibling = apTarget;
}
else
{
*p = apTarget;
}
}else{
mpChild = apTarget;
}
apTarget->mpParent = apParent;
}

/// あるオブジェクトを一族から取り除く
void DetachFromParent( T* apSelf )
{
gAssert( apSelf, "apSelf is null" );
// 親が居る場合
if( mpParent )
{
// その親の直子が自分の場合
if( mpParent->mpChild == apSelf )
{
if( !mpSibling )
{
// 自分に兄弟が居なければ、その親の子は居なくなる
mpParent->mpChild = NULL;
}
else
{
// 自分に兄弟が居れば、その親の直子はその兄弟になる
mpParent->mpChild = mpSibling;
}
}
else
{
// 自分は、その親の直子の兄弟の場合
T** p;
{// 自分の一つ上の兄弟を探す
p = &mpParent->mpChild;
while( ( *p )->mpSibling != apSelf )
{
p = &( ( *p )->mpSibling );
}
}
// その兄弟の1つ下の兄弟を、自分の1つ下の兄弟にする
// ( 自分が末っ子だったなら、その兄弟が末っ子になる )
( *p )->mpSibling = mpSibling;
}
}
mpSibling = NULL;
mpParent = NULL;
}

/// 必須インターフェイス
public:

/// 子供を追加 (純粋仮想関数)
virtual void AddChild( T* apTarget ) = 0;

/// あるオブジェクトを一族から取り除く (純粋仮想関数)
virtual void DetachFromParent() = 0;

/// あるオブジェクト「のみ」を一族から取り除く (純粋仮想関数)
virtual void DetachSelf() = 0;

/// アクセサ
public:

/// Kinship ties.
T* pParent() const
{
return mpParent;
}

/// Kinship ties.
T* pSibling() const
{
return mpSibling;
}

/// Kinship ties.
T* pChild() const
{
return mpChild;
}
};

/// 階層構造化するクラスの定義は、こんなカンジで
class CTest :
public THierarchy< CTest >
{
public:
// 純粋仮想メソッドのオーバーライド
virtual void AddChild( CTest* apTarget ){ THierarchy< CTest >::AddChild( this, apTarget ); }
virtual void DetachFromParent(){ THierarchy< CTest >::DetachFromParent( this ); }
virtual void DetachSelf(){ THierarchy< CTest >::DetachSelf( this ); }
private:
char* mpSample;
};

/// 使用例
void Test( CTest* t )
{

// 兄弟が居れば呼ぶ
if( t->pSibling() ){
Test( t->pSibling() );
}

// 子供が居れば呼ぶ
if( t->pChild() ){
Test( t->pChild() );
}

}



全てを掲載するには長いコードでありましたので抜粋と致しましたが、
付加機能等は各自ご想像頂けたらと思います。


rule
さらなる発展。可変長フレームレートと親子関係の融合

以前のエントリー
→「ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3

にてご紹介させて頂きました、可変長フレームレートによるアプリ時間進行管理。
この技術、及び本稿における親子階層。

この二者の融合は、更なる多大なメリットをもたらします。
次回は、この辺りのお話について触れてみたいと思います。



なんだか、エントリーがどんどんと長くなっている気がしなくもありません。
もう少し完結に書ければ良いのですけれど。。
これからも勢い重視にはなるやもしれませんが、お付き合い頂けましたら幸いで御座います。

堅っ!




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-05-16_13:40|page top

【Short Stories online】iPhoneアプリ作者の、Diablo3βプチ速報
2011-05-10 13:24



人生という名の深きダンジョンにおいて、日々幸せを求める皆様こんにちは。
レベルはアラフォーだというのに、品性という装備が心許ないTeamDyquemで御座います。

蘇れ迫害の日々。


【Short Stories online】
通常のエントリーとは異なり、気になった小ネタに触れるShort Stories的な試みで御座います。


Twitterにても反響のありましたDiablo3βテストネタで御座います。
自分的にも大好きなこのゲーム。初代Diablo発売当時には、それはもう本当に本物の猿と化し、
よりよい装備を求めてHELL/HELLへ潜る毎日でありました。
スピード詮索目指しまくりで、HELLのDiablo部屋に仕掛け外さず毎回テレポで飛び込みまくっていた、
もはや、お前がテロリストだろ」的なあの感じ。懐かしい事この上ありません。

さて、日本時間本日早朝、Activision社、Blizzard社によるカンファレンスが催され、
公式な声明が幾つか在った様ですね。
国外サイトをチョロチョロ漁り、一カ所について訳してみました。


rule

「IncGamers」曰く

→「Diablo 3 Beta Details Announced

Posted 9th May 2011 09:03 PM by Flux


During today’s Activision/Blizzard conference call,
Mike Morhaime announced that the developers were targeting
the Diablo 3 Beta for testing during Q3 2011.
They did not give any more details about when the test will begin or
when we’ll hear more information about it. Quarter 3 begins in July, 2011.

Mike also said that they began internal company-wide testing last week,
and the game is looking great.
They are working hard to launch the game this year,
but they do not have an official release date/window yet.
They will not compromise quality of the game to hit a release window.


TeamDyquem的超意訳with昼食:

本日の Activision/BlizzardカンファレンスにおいてMike Morhaime により、
開発陣営は2011年下半期にDiablo3ベータテスト開始を目標にしていると発表した。
多くは語らなかったが2011年の7月には開始されるだろう。

又、先週より社内大規模テストも始まっているとも伝えられており、
かなりイイカンジらしい。

但し、彼等は現在めっちゃ頑張っているが
公式なリリース情報を持っているわけではないのでヨロ。



ネット情報故、真偽につきましては保証できない旨留意頂けましたらと思います。

rule

Blizzard社の日本スルーっぷりは以前より有名な話でありますが、
恐らく今回もWarCraft同様に日本語版は発売されない感じが致します。
是非とも、この流れを作ったC社に代わる蛮勇ローカライズメーカーの登場が待たれる所です。

ハック&スラッシュ系RPGが三度の飯程度には大好きな自分でありますからね。
いや、楽しみですねぇ。何年も何年も待ったかいがありました!


Diablo3の公式発表進展に心が躍りまくったついでに一言失言してみますけれど、
リリースがいつになるかは未定ですが TeamDyquem的お手軽ハック&スラッシュ系RPGアプリ、
以前よりコツコツと鋭意制作中で御座います。
Diablo3の10000分の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理論。異星人さんは何処!?


人気ブログランキングへ
関連記事

Theme:■■■ニュース!(ゲーム&業界)■■■
Genre:ゲーム

comments(0)|trackback(0)|Short Stories Online|2011-05-10_13:24|page top

ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3
2011-05-09 14:08



ゴールデンな一週間が過ぎ去って久しい昨今。皆様如何お過ごしでしょうか。
過ぎ去って久しい感じがするのは本業に苛まれていたからであると信じたい所ですが、
精神的本業のアプリ制作への時間配分がなかなか思う様にはいかず、
そろそろ、ヤフオクにて「精神と時の部屋の入場券」を本気で探し始めたTeamDyquemです。皆様こんにちは。
1万円までは即決します。

東十条を「ひがじゅう」と呼ぶのは古来より定められたアラフォーの呪縛かもしれませんが、
それを即座に「僻み充実」の略と勘違いできる超絶ドM後輩の発言に、今日も心の緑地が荒らされる気分。

以前に少し紹介したアプリ作成仲間でもあるこの後輩。
彼もまたマルチプラットフォーム化を施したエンジンを漸く完成させ、
本格的にアプリ本編開発を開始した模様。
リリースの暁には、本ブログにても改めてご紹介させて頂けましたらと思います。


rule
マルチプラットフォームネタと可変長フレームレート

さて、マルチプラットフォームネタ第三弾で御座います。
今回は、マルチにとどまらないネタとしてエントリーを構成してみました。

以前のエントリー
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その1
iPhoneアプリ作者が語る。マルチプラットフォーム化その2・アトミック型定義のススメ
シリーズエントリーと致しまして、上記も併せてご覧頂けましたら幸いです。


さて。


マルチプラットフォーム化により、iOS系デバイス、iOSシミュレータ、
及びWindows環境にて同一の共通コードをビルドし実行する事が出来る様になってくると、
そもそも実行速度に違いのある幾多のデバイス上でありますから、
同じゲームでも環境によりフレームレート差違が生じるケースを考慮する事になるでしょう。

昨今では一言にiOS系デバイスと言いましても、iPhone3G辺りの古いデバイスから最新のiPhone4やiPad2等、
そのデバイス処理能力にも大きな差が生まれています。
古いデバイスをサポートしないという選択肢も存在しておりますが、それだけでは無く、
アプリケーションのフレームレートを動的に柔軟に設定出来る様、
エンジンの根本から考慮し設計していく事は様々なメリットをもたらします。

フレームレートとは1秒間に何回画面を更新するかという数値であります。

その上で例えば、秒間60回の更新処理を想定している様なゲームにおいて、
その処理完了が60分の1秒以内に合わずに、
結果処理落ちと呼ばれる現象が発生し画面がスローになってしまうパターン、
昨今では多くありませんが、こうしたゲームを見かける事もあるかと思います。

昨今の様に様々なデバイスが存在すると、例えばiPhone4ではスムーズに動くが、
iPhone3では処理落ちが発生しスローなゲームになってしまうという可能性が出てきます。

可変長フレームレートとはつまり、こうしたケースに対応する為の手法の一つでありまして、
1フレームの処理に対し時間経過を測定し、これをDT値と呼んだ上で毎フレーム運用します。
例えばあるフレームにおいてその処理が問題なく60分の1秒で完了しているならば、
それを 1.0 という係数へ正規化しDT値とします。
30分の1秒かかってしまったならば、その時は2.0という係数を算出しやはりDT値とします。

この上で。

例えば、ある敵キャラクターが毎フレーム1ドット移動する様な処理になっているとしましょう。
この敵キャラクターの座標値を正直に +1 ずつしていると、
処理落ちした際には当然スローな動きになってしまいます。

ここでDT値が登場します。 敵キャラの座標 += 1; としてる様な箇所は全て、
敵キャラの座標 += 1.0 * DT; という形に統一します。

ゲームが進行するありとあらゆる箇所にてこのDT倍率付加を採用するわけですね。

座標だけではなく例えば100秒でタイムアップとなるゲームならば、
int timer = 100*60;timer--; としていたかもしれませんが、
可変長フレームレート環境下ではこの処理は上手く行きません
float timer = 100.0f * 60.0f; とし、 timer -= 1.0f * dt; とする事で、
フレームレートに依存せずにタイマーを進行させる事が可能になるわけです。

この様に実装する事により、
デバイスの処理能力に依存せずどの機種どの環境においても、
又、処理落ち時においても画面の更新頻度が下がるだけで、
本編の進行速度自体は一定となるゲームが制作可能となるのです。


rule
実装例

さて、具体的とまではいきませんが簡単なサンプルを。

まず、例えば下記の様なゲーム本編管理クラスの一部抜粋を想定します。


class CGame
{
public:
// ゲーム内容の進行
void Progress( float aDT );
};


このクラスを、各機種のメインループにてドライブしていくわけですが、
例として iOS版、 Windows版のメインループサンプル抜粋をご覧下さい。


Windows版

MSG msg, msg.message = 0;
while( msg.message != WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
// ゲーム部分進行
const float dt = 前回の描画から60分の1秒を1.0とした経過時間;
// ↑処理落ちいない通常時に1.0となる様な値
CGameのインスタンス.Progress( dt );
// 描画
direct3dのデバイスインスタンス->
Present( NULL, NULL, NULL, NULL );
的な処理
}
}



iOS版

// タイマー駆動開始
NSTimer* animationTimer =
[ NSTimer scheduledTimerWithTimeInterval:
( NSTimeInterval )( 1.0 / 60.0 )
target:self selector:@selector( drawView: )
userInfo:nil
repeats:TRUE
];

-( void )drawView:( id )sender
{
// ゲーム部分進行
const float dt = 前回の描画から60分の1秒を1.0とした経過時間;
// ↑処理落ちいない通常時に1.0となる様な値
CGameのインスタンス.Progress( dt );
// 描画
[ renderer render ]; 的なEAGLView的なクラスの処理
}


これらはあくまでも単純なサンプルではありますが、
本実装する場合におきましても理論は変わりません。


rule
実装コストと、将来への展望

コストの問題等によりそういった処理は行わず、
単にiPhone3をサポートしないといった選択肢も存在してはおりますが、
それはあくまでも単に現在現時点に対してたまたま有効な解決策であったというだけであり、
エンジン設計という観点から考えるならば、
今後どの様なデバイスが突然登場しても対応出来る合理的な設計ポリシーを、
予め敷設しておくに越したことはありません。


rule
さらなるメリット

現時点にてiPhone3等の比較的低速なデバイスにおいても、
例えば特に処理落ち等が発生していないプロジェクトがあるとしましょう。
この案件へ可変長フレームレート実装を施す意味は無い様に思えるかもしれません。

しかし、フレームレートが可変する事のないケースにおいても、
DT値ベースでの運用は多大な付加価値をもたらします。

進行速度の任意可変を施すことが出来るという事そのものが既に大きな機能的優位性であり、
寧ろ、こちらが真のメリットであると言っても過言ではありません。



格闘ゲーム等で、激しいコンボ中に攻撃がヒットする度画面が一瞬ストップする演出、
敵キャラクターのHPを全て奪いスローになりながらトドメの技がアップになる演出、
映画マトリックスの様に、登場人物は空中でスローになりながらもカメラは等速に進行する様な演出、


これらは全て、進行速度任意可変により実現可能な技術であり、
DT値運用を用いている場合のメリットです。

フレームレートが可変しなくてもDT値は任意に生成する事が出来ますからね。
その発展系としてキャラクター毎にDT値を持っても構わないわけです。
それぞれのDT自体をツリー構造で繋ぎ、システム抜本にマスターDTを用意。
ここへフレームレートによる可変長性を反映、枝のDTではそれぞれが演出用に値を制御。
こうする事で全てが一貫したツリーDT運営が可能です。

また、開発時やデバッグ時の繰り返しテストする冗長なシーンの効率向上として、
全体早送り機能」や「全体スロー機能」なんて事も簡単に実装する事が出来ます。

根本のDTを0にすれば、既にそれはポーズ機能です。

これらの手法はTeamDyquem的お気に入りでありまして、
商業ゲームにおいても10年以上実装してきておりますよ。



さて。GWが明けて一気に弛緩ムードの日本列島で御座います。
次の祭日はいつなのだろうと思うと泣きたくなりますけれども、頑張って参りましょう!




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-05-09_14:08|page top

iPhoneアプリ作者と消えたGW。縞模様UITableViewと注意点
2011-05-02 13:54



通勤電車も本来の適正乗車率を取り戻し、束の間水を得た魚の様な軽快さ。
春の烈風駆け巡る関東平野、貫く線路にも輝きが戻ります。
道行く子犬も若干笑顔のGW、皆様いかがお過ごしでしょうか。

本業が派手に忙殺気味の昨今、子犬が笑顔でだからどうした。
森で出会う全てのオームの目が、何故か毎回デフォルトで攻撃色
テトに小指を噛みちぎられかねないTeamDyquemで御座います。皆様こんにちは。

いや、大丈夫です。
タウンページでピッタリの病院探して頂かなくても大丈夫です。(C)(ry

疲労うんぬんは全く問題は無く脳内スッキリ肉体健康では御座いますが、
アプリ制作に費やすことの出来る時間捻出にやや苛まれ気味であり、
となれば自動的に精神が病んでくる特異体質。いや寧ろ得意気体質。
頭上のステータス異常アイコンが、そろそろ街行く人の目に映る程具現化しております。

まあ、明日からの3連休は普通に休むんですけれどね。
あ、刃物を伴ってのツッコミはご遠慮下さい。


さて。


rule
UITableViewで簡単縞模様と、その際の注意点

以前のエントリー群

→「UITable系いろいろ

上記エントリー群へ続投する形といたしまして、色々と語る事の多いUITableViewについてヒトネタ。

最近、幾つかのアプリにてたまたま見かける事が多かったのですが、
UITableView内各項目について、縞模様を施してあるテーブルが綺麗でした。
ただそれだけの事なのですが、こういったちょっとした工夫が、
ひいては視認性や利便性向上に貢献しているのですね。



実際のコーディングは簡単でありますが、cellの再利用に注意しなければなりません。
偶数奇数行により背景カラーが異なりますから、個別に再利用指針を与えます。



-( UITableViewCell* )tableView:( UITableView* )tableView
cellForRowAtIndexPath:( NSIndexPath* )indexPath
{

cons bool isOdd = [ indexPath row ] & 1;

NSString* cellIdentifier = isOdd?
@"odd":
@"even";
UITableViewCell* cell = [ tableView
dequeueReusableCellWithIdentifier:cellIdentifier
];
if( cell == nil )
{
cell = [ [ [ UITableViewCell alloc ]
initWithFrame:CGRectZero reuseIdentifier:cellIdentifier
] autorelease ];
// 透明Labelを貼る
cell.backgroundView = [ [ [ UILabel alloc]
initWithFrame:CGRectZero
] autorelease ];
// 縞模様
cell.backgroundView.backgroundColor = isOdd?
[ UIColor grayColor ]:
[ UIColor whirwColor ];
}

[ cell setText:@"Test" ];

[ [cell retain] autorelease ];
return cell;

}



UITableView内におけるCellの間では、以下の要素が異なるインスタンスについては
再利用指針分ける必要があります。

●画像の有無
●各テキストの有無
●画像の矩形サイズ
●セルの高さ
●背景色
●フォント設定
●アクセサリービューの相違
●UITableViewCellStyleの相違


この事を全て無視し単純なcell生成コードでの実装とした場合でも、
困った事にその場でフリーズしたりはせず、一見問題なく動作してしまう事も多いでしょう。
しかし、項目の種類や段数の多いテーブルを有効メモリが減少した環境で実行すると、
フリーズ等の重篤な問題に発展し易くなってしまいます

iOS系におけるdequeueReusableCellWithIdentifierによるセル再利用。
メモリの乏しいモバイルデバイスにおける実装ですから、
再利用を駆使したその方針自体は必要だとは思いますが、
数在る機能の中でも特に誤解のされやすい紛らわしい仕様だと思います。

大規模なアプリならば、Cellキャッシュプール的な管理機構に統括させる等の仕組みを用意し、
ヒューマンエラーを根本から防止するのも良いアプローチだと思います。


さて。引き続き良いGWを!



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)|iOSプログラミング|2011-05-02_13:54|page top
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。