グラフィックAPIについて その1. iPhone

107 views
Skip to first unread message

コガラシ

unread,
Nov 19, 2011, 1:42:33 AM11/19/11
to spgam...@googlegroups.com
コガラシです。

今回は、ゲームを製作する上で外すことのできないグラフィックAPIの部分の情報をまとめていけたらと思ってトピックたてました。
ちなみにAPIと言っておきながらグラフィックが表示できるものであればどんどん上げていただければと思います。

自分が知っているのは以下。

UIView(UIImageView?) [iPhone]
OpenGLES [iPhone/Android]
Cocos2D [iPhone]
Unity [iPhone/Android]


UIViewはXcodeの画面上でグラフィカルに編集が可能な点で優れています。
個人的にはゲームを作るうえではあまりお勧めできるものではないと持っていますが、
手軽に触れることができるのでiPhone開発に慣れる面ではいいのかもしれません。

次にOpenGLESですが、UIViewなどとは打って変って出来ることが増える(自由度が上がる)半面扱いが難しくなってきます。
また3Dでゲームを作るうえでは欠かせない要素になってきます。
ですが、OpenGLESで必要な知識などはほかの開発環境でも同じものなので触れておくことで後々の役にも立ちます。


Cocos2Dは、内部的にOpenGLESを使用しているため高速に動作し、サウンド・物理エンジンも可能なフレームワークです。
細かいことを意識せずにゲームが作れるので簡単でサクッと作れるのがいいところだと思います。
凝ったことをしないのであれば結構いいと思います。
(自分で触ったことがないので詳しいところが言えないです)

最後にUnityですね。
Unityは上のとはもはや別物ですね。統合ゲーム開発環境ですね。
開発からデバッグまで全部をこなします。
特徴はコーディングに用いる言語はJavaScript/C#です。
また、ゲームに必要な素材もunity asset storeというところで配布・販売されています。


簡単に説明できるものをとりあえず紹介しました。
AndroidでCanvasがありますが説明できそうにないので省きました。
WP7の環境についてもXNAがありますがこれについても上と同じ理由で省きました。
この二つやそれ以外のものについても補足・指摘など頂ければと思います。

relzx

unread,
Mar 16, 2012, 11:56:37 AM3/16/12
to spgam...@googlegroups.com
こんばんは、relzxです。
日中記事を投稿したつもりだったのですが、
反映されなかったみたいなのでもう一度書きたいと思います。

さて、上記で挙げられていない物としてPSSuiteがあります。
現状、Xperia端末限定ですが、一応開発環境の選択肢の一つになるかなと…。
先日のGDCで発表がありましたとおり、4月からオープンβテストが開始予定です。
現在これのクローズドβに参加していますが、中の人に聞いてみたところ
あまり詳しい事は書いてはいけないそうなので簡単に書いておこうと思います。

提供されるツールとして、GUIツール(VisualStudioのような)、UI設計のためのツールの2つが提供されます。
PSSuiteの最大の特徴はやはり、Android端末でもPS Vitaでも動くことなのですが、
現状のツールではPS Vitaの転送に対応しておりません。
アプリで扱うセンサー類として、タッチセンサーや加速度センサーの他に、
バーチャルコントローラが提供されます。
シェーダーもサポートされており、GL ES2.0相当のアプリ開発が可能と思われます。
サンプルコードも入っており、ゲームとして十分に遊べる内容でした。
(Xperia arcでプレイしましたが、パフォーマンスは申し分有りませんでした)
ゲームだけでなく、アプリの開発も想定されているようで、こちらのサポートも
今後気になるところかと思います。
とりあえず、オープンβ以降情報出せるようになると思いますので、
その際に色々書いていきたいと思います。

以上、簡単ですがご紹介させていただきました。

Usagi Ito (@USAGI_WRP)

unread,
Dec 8, 2012, 10:55:18 PM12/8/12
to spgam...@googlegroups.com
斜め読みしつつ@reply2つ目

iPhoneについては無知ですが、主にAndroidについて簡単に補足。

> UIView(UIImageView?) [iPhone]
> OpenGLES [iPhone/Android]
> Cocos2D [iPhone]
> Unity [iPhone/Android]

先ず、上記はプラットフォームの提供するAPIレベルのものとユーザーコードレベルのライブラリーに整理して考えた方が良いかもしれません。UIViewは(恐らく)iOSの提供するAPIレベル、OpenGLESもOSの提供するAPIレベル(但しその場合はUIViewと並ぶAPIレベルで呼称すべきかもしれません、例えばAndroidであればGLSurfaceViewとか)、Cocos2DはiOS向けの(たぶん)GUI toolkitライブラリー、Unityも各プラットフォーム向けのライブラリー。通常は仕組みを勉強する以外の目的、特にゲームの様なプロダクトを考える場合は、OSの提供するAPIレベルを直接扱うよりもライブラリーを用いた方が効率的かもしれませんね。

Androidについての補足として生の描画系のAPIはView系クラスで、非openGLのSurfaceViewとopenGLのSurfaceViewを使います。

※NDKを使う場合もGLSurfaceViewのコンテキストをJNI経由でネイティブコードにポインターとして投げて使うなどします。
Reply all
Reply to author
Forward
0 new messages