くまちゃんのiOS/Androidゲームプログラミング

マイペースでゲームつくってます。

ゲームプログラミングのはなし15

【ゲームプログラミングのはなし15】
この週末はSprite Kitの学習に時間をさきました。

Sprite Kitとは、Appleが提供する2Dゲーム開発用の便利道具なんですけども、iPhoneMac以外には使えない新しい知識を学ぶ学習コストを考えるとすぐに手を出せずにいたのでした。

こういう新しいフレームワークや言語もそうなのですが、その開発者の思想を読み取り、いわばシンクロさせるのにたいていすごく時間と労力がかかるのです。しかもいっぺんに大量の情報が目の前に出されるので、意気消沈するのがデフォルトです。なので、そのコストと得られる成果を天秤にかけて、成果がよっぽど大きくなければプログラマーもなかなか重い腰をあげることはありません。

今回、そのコストをかけるに足ると判断した理由は、iPhoneゲームで描画スピードが劇的に速くなるからなのでした。

これまで5本のゲームを作ってきたのですが、4本目以降はiPhone5sでないとスピードがめちゃくちゃ遅く、正直ゲームにならないほどになってしまっていました。原因はそれなりに画像を多く描画しているから、ということはわかっているのですが、プログラムはシンプルなものでそれほど改善の余地はなく、もうCPUの速度向上を願うしかないと思っていました。

ところがこれが大きなマチガイなのでした。CPUに頼ってはいけなかったのです。GPUを使えば、悩みは解決されるのです。

スタンドアロンのPCですと、ゲームをするためにグラフィックボードを別で購入して付け足すのでGPUのことは忘れませんが、こんなちっこいiPhoneにもGPUがあることはすっかり忘れていました。というか、あまりそのことを意識して書かれているものを見たことがありません。むしろ、存在するのを知ってはいるが、あまりに触れられないので、普通にプログラミングしていたら勝手にOSが判断して使ってくれてるんじゃないの、ぐらいに思い込んでいました。

でも、それは勝手な思い込みだったのです。(続く)
https://itunes.apple.com/jp/app/doragondanku/id866740873?mt=8&uo=4&at=10l8JW&ct=hatenablog