uka.apple のすべての投稿

パクリアプリ開発日記 12日目

今日はUnityについて、その利便性と引き換えに不幸になっている人がいるのではないかということを考えていました。Unityのような汎用的な3Dゲーム開発環境が登場することによって、確かに開発効率は上がったのかもしれません。しかしその裏で、プログラマーの方々のコーディングにおける創意工夫というか、ものづくりというかそういう点でつまらなくなっている面があるのは確かです。Unityなどのツールを使うことを強制され、ゲーム開発のプログラミングという仕事が誰でもできるレベルでコモディティ化されてしまい、創意工夫が極端に制限された中で作業させられてしまう人が出ているという現実に思いを馳せていました。

(翻訳:今日は作業していません)

パクリアプリ開発日記 11日目 UnityアプリをiPhoneにインストール

★☆★ 今回の作業 ★☆★

完成した玉転しゲームをとりあえず実機に入れました。

Unityから設定をするだけで、簡単にiPhone向けのプロジェクトを自動生成してくれました。
操作方法は特に難しいことはありませんでした。

問題は、その変換時間です。

まず、iPhone向けのxcodeプロジェクトをUnityから出力するのですが、言っちゃ悪いですが私はそこそこ良いMAC使っていますよ。MACBOOK PRO 2015年モデル使ってても3分くらい掛かったんですよ。

カップラーメンが出来てしまいます。

その後、xcodeプロジェクトを開いてビルドするんですが、3分を超えてしまいました。

カップラーメンが伸びてしまいます。

iPhoneにインストールした後、もっと作業を予定していたのですが、ビルドの間に私は寝てしまい、起きたら朝の8時でした。

★☆★ 次回の作業 ★☆★

Unityで12万5千の立方体を描画(Unityのプロジェクト上で追加出来る?)して同様にiPhone実機にインストールし、自分でOpenGLESのコードを書いた場合のFPSとどのくらい差が出るか計測します。

でもなんかUnity使うの辛くなってきた・・・

パクリアプリ開発日記 10日目 Unityで玉転しゲーム後半

★☆★ 今回の作業 ★☆★

https://github.com/unity3d-jp/FirstTutorial/wiki

今回は4〜7ページを実施して玉転しゲームが完成しました。

前回の作業と合わせて1時間くらいでできたと思います。

iPhoneが出たばかりの2008年頃のアプリ市場を知っていますが、当時はろくなアプリが揃っていませんでした。2008年頃に戻れるとしたら、この玉転しゲームレベルでも有料である程度売れたかもしれないですね。

誰か私を過去にワープさせてください。

★☆★ 次回の作業 ★☆★

とりあえず玉転しゲームをiPhone実機にインストール予定です。

簡単にインストール出来たならば、Unityで12万5千の立方体を描画(Unityのプロジェクト上で追加出来る?)して同様にiPhone実機にインストールし、自分でOpenGLESのコードを書いた場合のFPSとどのくらい差が出るか計測します。

パクリアプリ開発日記 9日目 Unityで玉転しゲーム前半

★☆★ 今回の作業 ★☆★

立方体を12万5千ほど描画するのに、以下パターン1と2でどのくらいFPSに差が出るのか検証したいと思っています。

パターン1.自分でOpenGLESのコードをバリバリ書いた場合
パターン2.Unityで描画した場合

パターン1はすでに実装しましたが、パターン2を実現するために、まずはUnityの操作方法を学ばなければならないため、Unityの玉転しのチュートリアルを行いました。

https://github.com/unity3d-jp/FirstTutorial/wiki

0〜7の全8ページで、そのうち0〜3の4ページを消化しました。

得てしてこういうツールは定型のことを行うのが素早く出来る代わりに自由度/柔軟性を失うものと思っていましたが、スクリプトを要所要所で書けば何でも出来そうで良い感じですね。

これでアプリ起動速度が遅くならず、かつFPSが出れば良いのですが・・・

★☆★ 次回の作業 ★☆★

玉転しのチュートリアルを完成する。

パクリアプリ開発日記 7日目

今日は、パソコンの電源「Thermaltake Toughpower DPS G RGB 650W Gold」と、グラボ「MSI GTX 1070 GAMING X」を買って、色々といじって遊んでいました。

両方ともパーツが光るギミックがあって、何と好きな色で光らせることが出来ます!
私のPCケースは半透明のものを使っているので、とっても綺麗に光っている様子を見れます。

電源はマザーボードにUSBで接続して、OS上で様々な情報をリアルタイムで確認出来ます。
全体の消費電力、電源温度、CPU温度、CPU消費電力、グラボ温度、ファン速度、電圧などです。

最近のパーツは面白いなあ。

グラボもOS上からツールを入れて、GPUの動作クロックやファン速度などが見れます。
動作クロックを変更することも出来ます。OCモード/ゲーミングモード/サイレントモードの3段階から選ぶか、もしくは任意に細かく設定することもできます。

このグラボは諭吉が5人を超えているだけあって、静かなのにとてもよく冷えるGPUクーラーが付いています。私はフルHD(1920×1080)のディスプレイしか持ってないこともあって性能を持て余しまくりで、すべての状況でFPSは60に貼り付いてるし、負荷かけてもGPU温度が40度程度しか行きません(一定温度以下でファンを回さないモード”Zero Frozr”はオフ)。

この余裕な感じがたまらなく好きです。

色々条件を変えて温度がどのくらい上がるとか、ファンの回転数がどのくらい上がるとか、消費電力がどう変わるかなどを眺めていたら、楽しすぎていつの間にか寝る時間になりました。

パクリアプリ開発日記 6日目

今日はUnityをMacにインストールしました。
以上ですが何か?

・・・ごめんなさい、明日から開発作業は最低1日1時間以上するように努力します。

・・・いや、努力するようなものじゃないな。
自分が楽しいからやっているだけだ。

おそらくじきにガッツリ開発すると思います。

たぶん。

パクリアプリ開発日記 5日目

今日はPlants VS Zombiesを久しぶりに少しだけやろうと思ったら、いつの間にかボスまで倒してこの時間(0:00)になってました。

このゲームクリアするの3回目位なんですが、何回やっても面白いなあ。
世界観と音楽とゾンビたちの動きが素晴らしいゲームですね。
もちろんゲームシステムとその難易度のバランスも素晴らしいです。

コーディング上は特別に作るのが難しいゲームではなさそうだし、技術的には大したことない(失礼)んだけど、とっても面白いです。技術的な難しさとゲームの面白さが比例しないことを、当たり前ですが改めて再認識しました。

OpenGLで一生懸命パフォーマンスを出そうとして試行錯誤している自分に対して「おまえ馬鹿だなあ」とこのゲームに頭をぶん殴られている気がしました。

というわけで今日は作業進捗0で寝ます。

パクリアプリ開発日記 4日目 OpenGL ES3.0のパフォーマンス検証

★☆★ 今回の作業 ★☆★

OpenGL ES3.0でポリゴン(頂点配列)を動的に動かして、

1.glBufferData(glBufferSubData)
2.glMapBufferRange

の2つでどのくらい性能が違うか検証しました。

検証としては、立方体を50*50*50個で合計12万5千個作成し、上記2つの方法でy座標を描画毎に書き換え、FPSを計測しました。

結果

1.17FPS
2.21FPS

当然といえば当然ですが、y座標を書き換えるために毎回頂点配列をglBufferDataでGPUに転送するより、glMapBufferRangeで直に書き換えた方が速い結果となりました。

★☆★ 次回の作業 ★☆★

実際に使うかどうかは別として、Unityを利用して、同じことをするのにどのくらいFPSが出るのかを検証したいと思います。また、アプリの起動時間がどのくらい増えるのかも確認したいと思います。