コミュニティラウンジ

Reply

Member

Member
Empressia
Posts: 1
Registered: ‎23-12-2011
Message 1 of 5 (1,461 Views)

PS Suite SDKのコンセプトは何?

どもどもです。

 

PS Suite SDKとそれに関連したツールに対して要望とか出したいと思っています。

 

でも、考えれば考えるほどPS Suite SDKの目指しているところが全然わかりません。

どう要望していったら効果的なのか見当もつかなくて困っています。

 

『SCEがより多くのディベロッパーの皆様に快適で効率的な開発環境を提供し、

コンテンツの創出を強力にサポートする』

ことを実現するツール群という位置づけだと思うのだけど、

そこからどう考えて今の状態になっているのかがよくわからないのです。

 

よくわからないと考えた経緯をちょっとまとめてみます。

 

 

1.PS Suiteは様々なデバイスをサポートする。

 

下にあげる2個のサイトを見ると、

http://www.playstation.com/pss/index_j.html

http://www.playstation.com/psmeeting2011/chapter2_jp.html

 

・PS Vitaと、PS Certifiedデバイスをサポートする。

・ハードウェアに依存しないゲームフレームワークを提供する。

と言うようなことが書いてあり、

本当にいろいろな端末での開発・検証をサポートするように読めます。

夢が膨らみますね。

 

 

2.UI Composerはいろいろな端末での開発について考慮されていない(ように見える)。

 

1で張ったサイトのところで『比較的簡単にコンテンツの開発ができる』という表現があります。

UI Composerがそのためのツールの一つだと思っています。

使ってみたところ、UIの設定周りが特にXcodeを参考にして作られているように感じます。

 

Xcodeは、固定スペックの端末には作りやすいと思うのですが、

様々なハードウェアスペックに簡単に対応できるかというと疑問です。

XcodeでAndroidのUIをグラフィカルに作ったことのある人はいる……のかはわかりませんが……

わたしも実際にXcodeでAndroidアプリを作ったことはないので個人的な感覚ですね。

 

「いや作れるよ!」と言う方もいらっしゃるとは思いますが、

作り方が考慮されているのであれば、具体的なガイドがあるのではないでしょうか。

しかし、現状そのようなガイドはありません。少なくともわたしには見つけられませんでした。

なので、『作り方が考慮されていない』『作りにくい可能性が高い』と言う風に考えられると思っています。

 

※余談ですが、

 Xcodeを参考にしたVisual Stuido付近の開発環境で

 C#を使用してAndroidの端末用にアプリを作るというのは

 どのあたりの開発ユーザーを想定しているのでしょうね……。

 

 

3.エミュレーターが正しいサイズで表示されない。

 

さて、ここまでであれば、「別に好きに要望すればいいじゃない。」

で終わることも可能な気がするのですが、わたしはひたすら気になって仕方なかったので、

PS Suite SDKの使い心地を確認する意味もかねて実験用アプリを作りました。

PS Vitaを対象とする初アプリです。

 

開発した時の画面はこんな感じ。ラベルとボタンを中央と四隅に配置しただけです。

 

 

それをエミュレーターで起動するとこんな感じになりました。

 

 

これ、ウィンドウサイズが固定されているので、切れている先は見えませんし操作できません。

 

みてわかるとおり、DPIの制御が入ってないことによる不具合だと思います。

まぁ、不具合があると言うこと自体はここでは別にどうでも良いのです。

 

もしかしてこんなことになるのではと思って作ったら本当になったので驚きました。

「いろいろな端末を対象としているのにこのような不具合が混入しているままオープンβを迎えている」と言うのが不思議で。

 

DPIとかピクセル密度(……ということで良いと思っていますが)は、

いろいろな端末を考慮する上では切っても切り離せないものだと思っています。

特に、Androidの端末を対象にするのであれば。

 

 

ここまで考えたときに、もしかして2のXcodeを参考に作られているように見えるUI Composerは、

戦略的な意味で、実はあんまり考えられて作られていないのではないかと思ってしまったのです。

 

実際のところはどんなゴールを目指しているのでしょうね。

『実際のところ』なんて無くて、実は上で書いてきた内容は、

ただのガイド不足とただの不具合だと言うこともできると思います。

しかし、その場合は、開発環境を作っている人たちに、

戦略を練っている人たちの意志が伝わってない可能性が高いと思いますので、

やっぱり開発環境のコンセプトを疑ってしまいます……。

 

よりよい要望をしていきたいと思いますが、

戦略というか、目指していこうとしているところが全然見えないのにいろいろ書いても仕方ないと思っています

※たとえば、

 「UI設定に関する文書を充実させてほしい」と要望するか

 「UI設定の仕方を変えてほしい(追加してほしい)」と要望するか。

 あるいはそれ以外の要望か。

 

※一応、簡単に添削してもらったけど読みにくかったらごめんなさい。

 

※余談ですが  上で書いた最初のサンプルアプリをちょっと書き換えてVitaで動かしたら開発環境が落ちて挫折中……。

 

 

 

Please use plain text.

Re: PS Suite SDKのコンセプトは何?

御意見ありがとうございます。

 

PS VitaやPS CertifiedなAndroid端末など複数のデバイスをPlayStation Mobileはターゲットにしています。

 

これら「複数の異なる解像度や性能をもつデバイスをターゲットとしたPSMコンテンツを開発するためのチュートリアルドキュメントや開発環境の整備がまだまだ不足している」という御意見として承りたいと思います。

 

御指摘の内容については、以下に記載したような説明が不足していると反省しております。

 

■2.のUI Composerによる複数スクリーンサイズへ向けたレイアウトの方法について

 

UI Compoerを使った複数スクリーンサイズへの対応については、
SDKドキュメントの[開発ガイド]-[UI Toolkit]-[UI Composerユーザガイド]-[レイアウトアンカー機能]
(SDKドキュメントのインストールフォルダ)/ja/tool_layout_ja.html
がヒントになるか思います。

 

上記の投稿では、全てのウィジェットが

 親ウィジェットの左端・上端からの距離を固定にする設定

widget.anchors = Anchors.Top | Anchors.Left;

 となっているように思われますが、

例えば、右上のボタンについては、

widget.anchors = Anchors.Top | Anchors.Right;

 のように指定して頂くと親ウィジェットの右上隅からの距離が固定になるようにレイアウトされます。

また、

widget.anchors = Anchors.Width | Anchors.Height;

 のように指定しますと、幅・高さを固定したまま親ウィジェット内における相対位置を維持したレイアウトになります。

例えば、レイアウトキャンバスの真ん中に配置されているButtonウィジェットにこの設定を適用すると、PSM Simulatorで実行した際にも真ん中に配置されます。

 

■3.に関して

 

こちらについては、

 1. UI Composerでデフォルトで設定されるレイアウトキャンバスのサイズ(960x544)
 2. PSM Simulatorのデフォルトスクリーンサイズ(854x480)
がそれぞれ異なっていたり、
 PSM Simulatorのスクリーンサイズが何によって決まるかが分かりにくい。
のが御指摘の原因かもしれません。

 

PSM Simulatorのスクリーンサイズは、GraphicsContextのサイズによって決定されます。

 

PSM Simulatorでデバッグする際のGraphicsContextは、

デフォルトでは854x480のサイズで初期化されます。

例えば、

GraphicsContext graphics = new GraphcisContext();

 として初期化すると、854x480のサイズでGraphicsContextが生成されますので、

854x480の画面サイズのPSM Simulatorが表示されます。

一方で、

GraphicsContext graphics = new GraphicsContext(960, 544, PixelFormat.Rgba, PixelFormat.Depth24, MultiSampleMode.None);

 のように初期化すると、PS Vitaの解像度でPSM Simulatorが実行されます。

 

ただし、このままですと、異なる解像度を持つデバイスでどのように表示されるかを確認するのが不便ですので

今後、PSM StudioなどからPSM Simulatorが生成するGraphicsContextのサイズを指定できるようにする予定です。

つまり、GraphcisContextの初期化部分は

GraphicsContext graphics = new GraphcisContext();

のままで、様々なデバイス上を想定したテストが可能になる予定です。

 

 以上が開発の御参考になりますと幸いです。

引き続き御意見御要望頂ければと思います。

 

よろしくお願いします。

PlayStation®Mobile Dev Team
Please use plain text.

Member

Member
bozune
Posts: 2
Registered: ‎20-04-2012
Message 3 of 5 (1,165 Views)

Re: PS Suite SDKのコンセプトは何?

横から失礼します。

 

現在のUI Composerの仕様では、機種間で意図した画面構成を維持する義務は製作者側にあり、PSMという環境にそれを保障する義務はない、ともとれます。 

2については、スクリーンサイズに依存せず位置関係などを維持できるよう配置時に自動設定され、意図的にデザインを崩さねばならないときのみ手動で設定するようにはできませんか?


意図した画面構成を維持できるよう設定ミスが無いか、Sony Tablet Pのような特異なものを含んだ多種多様な画面構成の機器群で表示が崩れる事がないか、チェックする工程が発生してしまうようでは、正直言って、PSMはAndroid端末向けのアプリ開発が抱えていた問題を解決できていないように思うのですが。

 

Please use plain text.

Re: PS Suite SDKのコンセプトは何?

コメントありがとうございます。

 

スクリーンサイズに依存せず位置関係などを維持できるよう配置時に自動設定」をするには、

 

widget.anchors = Anochors.None;

というようにanchorsを設定して頂くと、ウィジェットのサイズは自動スケールされ、位置については相対的な位置関係が保持されるようになっています。

(デフォルトのanchors設定を、上記の値に変更するべきかもしれませんね。。。)

 

PlayStation®Mobile Dev Team
Please use plain text.

Member

Member
bozune
Posts: 2
Registered: ‎20-04-2012
Message 5 of 5 (1,108 Views)

Re: PS Suite SDKのコンセプトは何?

UI Composerをバージョンアップする際、配置時のデフォルト値をAnchors.Noneへ変更するか、環境設定からデフォルト値を設定できるようにしていただけるとありがたいですね。

 

Please use plain text.
This widget could not be displayed.
Announcements

「PlayStation®Mobile開発者フォーラム」へようこそ!


PlayStation®Moble開発者フォーラムでは世界中の開発者の皆様と一緒に、議論や情報交換が可能です。SCEも議論に参加し、皆様の開発をサポートします。アイデアやリクエストも大歓迎です。ぜひご参加ください。

フォーラムへ投稿をするにはPSM DevPortalへの登録(無料)が必要です。
登録後はフォーラムと PSM DevPortalを一度ログアウトし、再度ログインしてください。







Recent News