
SCE、PlayStation Suite SDKの開発言語としてC#を採用 98
ストーリー by headless
提供 部門より
提供 部門より
あるAnonymous Coward 曰く、
ソニー・コンピュータエンタテインメント(SCE)は、「PlayStation Suite SDK」のベータ版を11月から提供することを発表した(プレスリリース、 Engadget日本版の記事、 ITmediaの記事)。
PlayStation Suite SDKはプログラミング言語としてC#を採用。作成したコンテンツは、PlayStation Certifiedライセンスを取得したAndroidデバイスやPlayStation Vita上で実行可能となる。SDKの提供を開始することで、SCEはPlayStation Suiteの幅広い展開を目指す。
C#はECMAやISOにより標準化されているが、Microsoftのイメージが強かったので、意外な印象である。
前からの噂によれば (スコア:2, 興味深い)
PSSにはUnityっていうゲームエンジンを使うっていう話があって、そのUnitryがC#を使ってる
もしその噂が本当ならその関係かもしれない
Re:前からの噂によれば (スコア:1)
scalaって選択肢はなしだったんでしょうか? (スコア:1)
Javaだと「素のandroidでいーじゃん」の流れになるから (スコア:1)
GCとかネイティブコードとか言ってる人は例えばこのSDKをつかって
コジプロがメタルギア作ったりするとでも思っているのだろうか。
PS Suiteはブラウザのようなメタな環境を構築しときたいってことでしょう。
Vitaはブラウザやtwitterアプリなどが標準で使用できるあたりゲーム機というよりスマホに近いので
ゲーム意外のアプリも作りやすいSDKを別途提供するのは素晴らしいが
今までのSCEからしたら開発者にデレすぎて気持ち悪い。
スマホ向けにゲームを作るばあい機種の種類が多いのでPS Suiteに準拠したハードに
しぼって開発できるのは今後PS Suiteが広まれば大きなメリットになる。
来春の正式リリースは個人開発者への提供も検討中らしいので期待。
Javaだといろいろ揉めるからじゃない? (スコア:0)
って、Googleが教えてくれた。
Re:Javaだといろいろ揉めるからじゃない? (スコア:2)
いや、そこはご神託が下ったのでは?
Re:Javaだといろいろ揉めるからじゃない? (スコア:1)
しかしDelphiは選ばれなかったか...
Re:Javaだといろいろ揉めるからじゃない? (スコア:1)
なぁる、神とて親はありましたな。
Re: (スコア:0)
あかいロゴのあそこと関わり合いたくなかっただけでは?
守銭奴だし。
Re:Javaだといろいろ揉めるからじゃない? (スコア:1)
オラ…なんだっけ、オラが村とかいう会社じゃない?
オラが村のデータベースは世界一じゃあ!てかんじの会社。
おやくそく (スコア:1)
ひょっとしてオラオラですかーッ!?
#YES! YES! YES! "OH MY GOD"につきAC
水面下で何かが起こっている (スコア:0)
microsoft-sony.comもきっと、関係がある。
Re: (スコア:0)
Joke:きっとPlayStation Suite SDKで開発したアプリをXbox360で動かせるようにリコンパイルできる環境をMSのサードパーティが提供したりするんでしょうね。
GC (スコア:0)
ゲームでGC気にしないといけない言語って
変な気もするけど、そんなシビアなゲームじゃないのかな
Re:GC (スコア:1)
ローディング画面が多いと思ったら、実際にはGCでしたという感じになるのでは?
Re: (スコア:0)
アクセスランプがつくと分かりやすくていい、しかもHDD, USB, ネット, GC, CDなどなどが独立に
Re: (スコア:0)
ユーザー視点でのいわゆる「ロード中」って別にI/Oだけが全てじゃないからなぁ。
Re:GC (スコア:1)
C#だとJavaと違って値型の構造体が使えるから
GC負荷を減らした設計も可能
Re: (スコア:0)
GCは止めて使うリソースはほとんど固定しとけばいい。
ちゅーかマップとかキャラでメモリサイズをざっくり分けといて、
後から適当に小分けにして使いましょう的なことができる
(ヒープ機構が自作できる)C/C++がおかしいんですよ、本来は。
Re:GC (スコア:1)
順番が逆では?
メモリ断片化が致命的な不具合につながる組み込みでヒープ管理しなきゃいけなかった C/C++ に対して、GC でメモリ断片化をあんまし気にしなくなった Java とか C# とかすごい、とかそんな感じ。リソースがシビアな環境では SoA を心がけるとか GC 抑制とか別の気の使い方をしているみたいですけれど、断片化をあんまし気にしないのは素直に便利。
Re:GC (スコア:2)
GCはいつ遅延が発生するかなかなk読めないから
結局自前で管理する羽目に
Re:GC (スコア:1)
たとえば、「Large Object Heap」でぐぐってください。
ぼくもつい最近に知ったのですが、ごりごりメモリを使う場合には、かなり気にしないといけないようです。
.NET Frameworkのバージョンアップでいろいろ改善されるといううわさもあるようですが。
Re:GC (スコア:1)
とはいっても、現状のスマホのハードウエアリソースを考えれば、
CPUのスペックやメモリ搭載量、ストレージ容量などにおいて、10年前のPCは余裕で上回る程ですし、
逆に、旧来の組み込み系プログラミングの枠にとらわれた考え方では
リソースを有効に活用することが不可能になってきているのではないかと思われます。
少なくともAndroidOSの上で動かしてる時点で、純粋な組み込みアプリ、とは言えませんよね。
Re:GC (スコア:1)
10年前のPCを余裕で上回っても客に要求される物量も質も10年前を余裕で上回ってるんですよ。
だったら、尚更、ある種のフレームワークに則った開発手法の必要性が増しているのでは?
Re:GC (スコア:1)
>GCは止めて使うリソースはほとんど固定しとけばいい。
それ、バッドノウハウでしかありませんから。
ある解説書では、「変数が必要になったら都度確保、変数の使い回しをしないのがC#の考え方」と書いていると思ったら、他の解説書では「頻繁に使うオブジェクトは解放せず使いまわすことで性能が向上する。」と書かれていたり。こういったところにC#の言語としての中途半端さがでてます。
本当に速度の向上をねらうならば、C++みたいにオブジェクトを値型で生成できるようにすれば根本解決なのに、使い回していたら可読性保守性が犠牲になって泥臭いだけ。すなわちバッドノウハウ。
Re:GC (スコア:1)
Flyweightパターンと変数の使い回しは違いますから。
同じ内容のインスタンスを共有するのが「Flyweightパターン」。
使い終わったインスタンスを再初期化して別の用途で使うのが「変数の使い回し」。
たとえば、一時変数用の領域を静的に確保しつづけるのが「変数の使い回し」です。普通は、使用済みの一時変数はとっとと開放しますよね?
struct があるのは重要 (スコア:0)
3Dグラフィックスなどでは、ベクトルや行列を表すクラスを多用するけど、
Javaでは、それらのために、メモリのアロケーションやGCが大量に発生しますね。
C#では、そういったデータ型に、classじゃなくて struct を使えますから、
Javaよりもパフォーマンス上有利だといえると思います。
Re:いっそうのこと (スコア:5, 参考になる)
既存のゲームを作っている会社は皮肉なことに
PS3向けのゲームであってもWin+VCで開発しているため
Win+VC#であればシームレスに開発環境を移行できる
またすでにゲーム製作用の内製ツール類は
C#で作っている会社が多いためすでに経験と実績がある
社内の人的リソースを融通しやすい
また新規に人材獲得する場合でも
JavaやObj-Cのように後で処遇に困るようなことがないし
他の人件費が高騰している業界と人材獲得競争をしないで済む
といったところでしょうか
とりあえずゲーム会社の中の人としてはJavaやObj-Cよりはかなりましな選択肢です
Re:一層のこと (スコア:1)
それとも、Androidとよく似た別物の C#を開発言語にしたモバイル端末企画が出てくるとか?
-- 哀れな日本人専用(sorry Japanese only) --
Re: (スコア:0)
>それとも、Androidとよく似た別物の C#を開発言語にしたモバイル端末企画が出てくるとか?
ソニエリWindowsPhone + PlayStation Suiteだな。
Re: (スコア:0)
似たり寄ったりは昔のはなしで、現在ではC#はJavaよりずっと優秀だよ。
型推論やクロージャもあるし、その他にもいろいろ言語的にはアドバンテージがある。
あくまで言語だけを考えた場合ね。
Re:一層のこと (スコア:2, すばらしい洞察)
>型推論やクロージャもあるし、その他にもいろいろ言語的にはアドバンテージがある。
いやそれは言語の優位性の根拠にはならないでしょ。
プログラミングをやらない人は「アレがあるから良い」とか「行数が少ないから
良い」とかいうけどね、それはあまりに乱暴な意見だ。
あれもこれもと付け足したために無意味に複雑になるのが、言語として
致命的な欠陥であることは、C++等過去の失敗事例の示す所です。
そして何も考えずにぐちゃぐちゃ付け足してトラブルを増やすのはMSの十八番。
Re:一層のこと (スコア:2)
あなたこそプログライングをやらない人なんじゃないんですか?
あるいは(そこそこのレベル以上の熟練したCプログラマに多いような)C++アレルギーの方ですか?
僕は(実際書かざるをえないかどうかに関らず)書きたい事がきれいに書けない言語・環境でコードを書きたくありませんし、
それらの言語機能がある事で可読性・保守性が上がる事が言語の優位性であるという主張のどこが乱暴な意見なのか理解に苦しみます。
たしかにそれらを誤用すれば可読性を下げうる可能性だってありますが、あなたの主張はそれらが諸刃の剣であるという話には聞こえないし…
例えばなんで型推論のありなしとかが言語の優位性には関係無いってって言えるんです?ハンガリー記法とかしちゃう人ですか?
Re:一層のこと (スコア:1)
C++は失敗事例ではないし無意味に複雑なわけでもない。引き合いに出すのは不当ではあるまいか。
Re:一層のこと (スコア:1)
C++がいちばん手に馴染みます。頭に思い描いたことをすらすら記述できます。私にとって開発中の思考の妨げが最も少ない言語です。
そんな私は、C#のデリゲートとかラムダ式とかLINQなどの機能に挫折しかかっています。
ガベージコレクションもあまり好きではありません。
Re:一層のこと (スコア:1)
GC はともかくラムダ式って C++11 で入りませんか?
LINQ はとりあえず IEnumerable<T> 辺りの拡張メソッドに慣れていくと違和感が無くなるかな、と思います。LINQ to XXX はさらに特殊化されたものになるので別の話ですし。
# 未だに C++ 的発想をしますが、C# が一番「楽に書ける」には変わったかも。
Re:一層のこと(オフトピ: -1) (スコア:1)
しかし、そこに挙げた3ついずれも「C++にあるよ」と言えてしまうのです。
今まで同種の機能を外部のライブラリに頼ってきた身としては、標準にあると比較的使用しやすくなるのでありがたいです。
そういうのが初めから存在していたり構文が綺麗で素直(C++のラムダ式とか……)だったりするのはC#の良いところの1つと私は思います(C++もC#もそれぞれいいとこ悪いとこはいろいろありますが)。
Re:一層のこと (スコア:1)
ひとつだけお聞きしたいのですが、C#をどれくらいご存知ですか?
充分に知っているうえで、「無意味に複雑」だと主張しているのであれば、それはそれでよいのですけれど。
Re:一層のこと (スコア:2)
そういえば、JavaのGenericsってC#並みになったのだろうか?
変な小細工をしないで、型の情報を実行時まで持っていてほしいと思うのは私だけだろうか。
Re: (スコア:0)
> 型推論やクロージャもあるし、その他にもいろいろ言語的にはアドバンテージがある。
ボラクルが絡んでないのが一番のアドバンテージだな。
Re: (スコア:0)
Objective-CにろくなIDEが無いのを知ってて言ってるの?
Re:いっそうのこと (スコア:3, 参考になる)
>Objective-CにろくなIDEが無いのを知ってて言ってるの?
Xcode4は良いですよ、Macでしか実行できないってのがアレな上にMacOS,iOS以外使い道ないのがあれでございますな。
トピックに沿った話に戻すと、C#はUnity3Dなどでも実績がありますからAndroid向け開発やってるところなら割となじみなんじゃないですかね?
Windows上でUnity使うとMonodevelopでなくVSシリーズもデバッグで使えるので選択肢としては良いのじゃないかと。
Re: (スコア:0)
「Macでしか実行できない」
これが全てでしょ。サードパーティをいかに囲い込んでキラータイトルを出してもらうかが重要な世界で
「開発環境にはMac必須です」なんてアホな選択をしたら、その時点で負けでしょう。
Re: (スコア:0)
何ももって負けと言ってるか知らないけれど、
現実世界ではアップル製品の方がシェアが低いはずですが、はて・・・
Re:いっそうのこと (スコア:1)
Re: (スコア:0)
C#ということは、Monoベースなのかな?
ということはPlayStation Suite SDKは一部GPLなモジュールを含んでいるのかな?
Re: (スコア:0)
MonoのMiguel de Icaza氏曰く、”GoogleがAnderoidをJavaからECMA/ISO CILとC#に移植したらいいのにな。 ” (http://tirania.org/blog/archive/2010/Aug-13.html)
Re: (スコア:0)
MSが得るメリットも大きいと思いますが、その話は脇に置いたとして、
開発者視点ではC#の方がメリットが大きいのではと思います。
ハードウェアに適したVM環境でXNAとコードを共有できるかも知れませんし、
……あれ、Javaと比べると案外具体的な優位性が思い付かない。
なんか、JavaよりもC#の方が気分が乗る気がしますしってのは嗜好の問題か。
Re:いっそうのこと (スコア:1)
MSのコンパイラを使わないのであれば、バイトコードを出力できるんだしJavaに比べたら優位性はあるでしょう。
あくまで、C#を採用したのであって、.NET Frameworkを採用した訳ではないのですよ。
少なくとも権利関係でガタガタ揉める事が無いのは間違いないですし、あとはPlayStation Suite SDKがどれだけ
開発効率が良いものかが問題なだけでは。
Re:ポインタを取り上げたかったんでしょうね (スコア:1)
Xbox360/Windows8/(Windows Phoneも?)におけるクロスプラットフォームアプリにC#+XNAが使われているようなので、XNA部分を分離すればついでにSony製Android端末にも移植を!というのも出来なくもなさそうですね。