2013/09/25

SteamOS 発表!

いやぁ、昨日は怒涛の妄想ラッシュで自分でも呆れるくらい毒電波を垂れ流してしまいましたが、やっぱり発表されましたね! その名も「SteamOS」。具体的な内容はまだ判りませんが「Linux」ベースである事だけははっきりしました:-)

現在、明らかにされている内容から判る事は明確に「リビングルーム」向けって言う事ですね。普通に考えれば、大画面テレビに繋ぐ為に最適化されたUI、つまり「ビッグピクチャーモード」か、それに準ずるような既存のゲーム
機、セットトップボックスに似た操作感のUIって事になりますかね。どうしてもPCスタイルのゲームをやりたいって時にオプションで従来のクライアントのUIも選択出来るかってのが個人的に気になる所ですが……。

他に気になる特徴としては、ゲーム以外のコンテンツ、音楽や映画も取り扱うらしいですね。まぁこれは想定内ではありましたけど。それらを視聴する為のソフトが専用アプリなのか、あるいはChromiumのようなウェブブラウザー内なのかってのが多少気になる所ですかね。

話によると、既に「Spotify」は確定しているそうですが、何と言っても「Netflix」ですね。日本だと、あまり知名度はありませんが、米国だとダントツ一位の人気ですし。Netflixは「Chromebook」でもFlashと同じような待遇で特別なプラグインが用意されているくらい重要度が高いサービスですからね。

変更されていなければ、SteamクライアントもCEFというChrome(Chromium)の亜種? を使用しているので、ウェブブラウザーとしては似たような事が出来る? と個人的には思っているのですが、実際はどうなのかわかりません……。もし出来るのなら、様々なウェブアプリにも対応し易いでしょうから、意外と面白くなりそうではあります。例えばウェブアプリのゲームとか……。

一番驚いたのは「ホームストリーミング」ですね。Steam公式のアナウンスでは以下のように書かれています。
お持ちの Windows や Mac ゲームの全てを SteamOS マシーンでプレイできます。今まで通りにコンピュータを起動してSteam を実行すれば、家庭内ネットワークを経由してSteamOS マシーンでストリーム可能になり、これらのゲームをテレビでお楽しみいただけます!
うーん、これって家庭内「GAIKAI」みたいな事なんですかね? もしくはPS4の「リモートプレイ」的な? SteamOS側がクライアントになるって事は、既存のWin/MacのSteamクライアントを立ち上げてサーバー的に使うって事なんでしょうかね? PS4やWii Uのように、元から織り込み済みのハードウェアならともかく、性能もマチマチなPC用Steamクライアントじゃ、ハイスペックなPCじゃないと結構厳しい気がするんですけど……。てか、そこまでハイスペックなPCがあるなら、わざわざ貧弱? なSteamOS機なんか要らない気もしますが:-( まぁ出来ないよりは出来た方がいいですけどね。

個人的には、このホームストリーミングってのがキーワードな気がします。うろ覚えですが、元々の「SteamBox」構想って、据え置き型の「Bigfoot」とモバイル型? の「Littlefoot」の2つだった気がします。Littlefootってのは、情報が錯綜していて、一説には「ウェアラブルコンピュータ」なんじゃないかとも言われていましたしね。個人的には単なる携帯型ゲーム機? かスマホ、タブレット型なんじゃないかと思いますが……。ちなみにビッグピクチャーモードは「Tenfoot」らしいです。

まぁ簡単に言っちゃえば、PS4におけるPSPみたいな位置づけなんじゃないのかなぁと。実際、前述したリモートプレイとホームストリーミングって被ってそうですし。って、ここまで書いて思ったのですが、やっぱりSteamBoxのパートナーって「NVIDIA」なのかもしれませんねぇ。

昨日書いたNVIDIAのAndroidベースの携帯ゲーム機「SHIELD」や7インチタブレット「Tegra Note」っていうドンピシャなアイテム出してますし、特にSHIELDの方はクラウドゲーミングサービス「GRID」のデモ機でもありましたし。GRIDの真の力はGAIKAIのようなクラウドサービス向けですが、下のリンク先を見るとPCを母艦にしてH.264によるストリーミングプレイもデモしてたらしいですし……。

今はまだホームストリーミングですが、将来的にはPS4のGAIKAIのように、ある程度以上のパワーが必要なゲームや、どうしてもWindows専用しか用意出来ない大作や古いゲームなどの互換性維持にクラウドサービスとして使いたいのかも……。SteamBoxのメインターゲット的には、超弩級なゲーミングPCってのは意識してなさそうですし、昨日書いたようにSDL2.0のような性能よりも移植性を念頭に置いたライブラリーを使う方針なら、将来的にはNVIDIAが目指しているARMベースの高性能SoCに切り替える事も比較点簡単でしょうし……。

以前、Amazonが高性能コンピューティング (HPC)のウェブサービス向けに、NVIDIAのサーバーを大量に導入したらしいって話をどこかのウェブサイトで見た気がするんですが、ソースを失念してしまいました……。確かかなり安く買えたとかなんとか……。Valveも似たような条件で導入出来たらNVIDIA GRIDは結構有効な武器になりそうな気がします。まぁ今直ぐって訳にはいかないでしょうが……。

クラウドからのゲームストリーミングが出来ればリビング向けの機器は、そこそこの性能でネイティブは軽めのクロスプラットフォーム向けゲームが動けば良いって割り切りが出来るかもしれませんしね。超大作や古いWindowsゲーがやりたければ、有料? で、ストリーミングでって流れで……。

まぁ何にせよ、明日発表されるかもしれないSteamBox次第ってところですかねぇ。特に何処のチップメーカーと組んだのかって事でその後の話が変わってきそうです。てか、全然別の発表だったり?

#追記
しつこいですが、今考えても「SteamOS」って自分が以前妄想してた内容とソックリなんだよなぁ。最初に書いたの「2010年3月」ですよ? 別に何処かみてパクった訳でもないし……。自分でもビックリしますね。

#外部リンク
クラウドゲーミング – Gaming as a Service (GaaS) | NVIDIA GRID | NVIDIA
http://www.nvidia.co.jp/object/cloud-gaming-jp.html

【後藤弘茂のWeekly海外ニュース】 ゲーム機に挑戦するNVIDIAのGPU仮想化
http://pc.watch.impress.co.jp/docs/column/kaigai/20120529_536151.html

E3 2013: Project SHIELDにGRIDサーバ、万全の体制で挑むNVIDIAのゲームソリューションをチェック | Game*Spark - 国内・海外ゲーム情報サイト
http://www.gamespark.jp/article/2013/06/16/41505.html

Netflix - Watch TV Shows Online, Watch Movies Online
https://signup.netflix.com/global

Music for every moment - Spotify
https://www.spotify.com/int/

Netflix の映画を視聴する - Chrome OS ヘルプ
https://support.google.com/chromebook/answer/1401467?hl=ja

#内部リンク
BLOG.MINAWA.NET: Steam & Source on the Linuxの可能性 #05
http://blog.minawa.net/2010/03/steam-source-on-linux-05.html

BLOG.MINAWA.NET: Steam Box の謎 その4
http://blog.minawa.net/2012/03/steam-box-4.html

2013/09/24

ぼくのかんがえたすちーむぼっくす その4

前回までの妄想をまとめると以下のような感じです。一応ですが全て私の妄想の産物です。多分に誤りが含まれている可能性がありますのでご注意下さい。
OS = Ubuntu 12.04 LTS (Ubuntu Coreバージョン)
UI = Steamクライアント (ビッグピクチャーモード固定?)
ウィンドウシステム = X.Org Server(Valve Runtimeに含まれているSDLをフロントエンドとして使用? バックエンド「MirかWaylandかX.Orgか」は開発者が意識する必要性は無い?)
推奨ライブラリー = Valve Runtime(Valveが推奨するオープンソースなゲーム開発ライブラリー群?)
取り敢えず、こんな感じでしょうか? って、自分で書いてますが、本当に適当だなぁ。本職の人からみたら噴飯物かもしれませんが、祭りって事でご容赦下さい:-(

次に肝心のハードウェアについてですが、基本的にはPS4やXBONEと同じPCアーキテクチャ(x86)になると思います。問題はどこのチップメーカーなのかって事ですよね……。私の以前の予想では「AMD」の「APU」こそがSteamBoxの中の人なのではないかと妄想していたのですが、最近になって違うのではないかと思い始めています。では何処なのか?

基本的には「インテル」で、もしかしたらディスクリートなGPUとして「NVIDIA」のGPUが追加されているのではないかなって最近は思い始めています……。いや、ハードウェアだけ見れば、AMDのAPUがベストなのは、マイクロソフトとソニーというゲーム機メーカーが揃って次世代機に採用している時点で間違いはないんですよね。自分もそう思っていますし。

ただAMDというかRADEONのLinuxにおけるプロプライエタリなドライバーサポートがどうしても、他の2社と比べると劣りそうってのが……。以前も書いた気がしますが、もはやゲーム界のご意見番とも言える大御所「John Carmack」氏のツイッターでのコメントが全てを表していると思うので掲載しておきます。

これは必ずしもLinuxにおけるドライバーの出来を指している発言ではないですが、一般的にRADEONのLinuxドライバーはWindowsのソレよりも出来としては劣るとされるのが定説ですし……。それに、APUがPS4とXBONEに採用されて発売前の追い込みに追われているドライバー担当チームがLinux版の開発にまで手が回るのかっていう不安もありますしね。ただでさえ、AMDのドライバー担当チームは人数が少ないという噂ですし……。

それに以前からチラホラ流れてくるSteamBoxの噂によると、Valveのチームが想定しているハードウェアがインテルのCPUとNVIDIAのGPUの組み合わせであるという情報が圧倒的に多いですし。まぁこれはSteamBoxがというより、SteamのLinux版の平均的ユーザーが、この組み合わせのPCをよく使っているというデータに基づいて検証しているに過ぎないのかもしれませんが……。

またインテルはともかく、NVIDIAとしては上客であったソニーのPS4のGPUをAMDに奪われ、なおかつAndroidのリファレンス機とも言うべき「Nexus7」の次世代機でも不採用になるというイメージ的にも悪いめぐり合わせの時期ですしね。まして据え置きゲーム機に関しては、マイクロソフトのXBONEと任天堂のWii UもAMD採用という事で、正直「全敗」といっていい状況ですし……。ここまで追い詰められると、Windowsでのゲーム開発のリファレンスもNVIDIAからRADEONへと流行が移ってしまいかねませんしね……。

NVIDIAも、この状況は相当マズいと思ってか、積極的に自社製品を売り込んでいるように思えます。既に忘却の彼方になりつつありますが、異色のAndroid据え置きゲーム機として一時期話題になった「OUYA」にも相当安価にTegra3チップを供給したという噂もありますし、最近になってNVIDIA自らがAndroidベースの携帯ゲーム機「SHIELD」を売りだしたり、Nexus7対抗なのか7インチタブレット「Tegra Note」を200ドルという採算度外視の値段で計画中だったりしますし……。

また少し前のイベントでCEOジェン・スン・フアン氏自らが高性能ARMコアを開発統合する「Project Denver」のデモをUbuntuを使ってアピールしてたりと、最近Windows以外にも頻繁にアピールしている機会が目立ってきています。また、今まで封印していたKeplerコアのIPライセンス提供ビジネスを開始したのも見逃せないなと個人的には思っています。

これは基本的にARM向けの措置らしいですが、もしもValveがNVIDIAから「安価」でKeplerコアのIPライセンスを購入して、インテルのCPUと組み合わせた製品を作ったのなら、AMDのAPUと迄はいきませんが、初代XBOX的な「ゲーム機」が作れないとも言い切れないなと思っているのですが妄想し過ぎですかね……。

それにSDLのようなライブラリーでゲームの互換性を維持するつもりなら、大幅な最適化が出来ない代わりに、将来的にはNVIDIAが相当力を入れている前述の「Project Denver」、あるいはインテルの内蔵GPUのスペックが十分に上がった時にも、互換性の問題は他企業のプラットフォームよりは起きにくいのではないかなぁと思っているのですが、これも妄想のし過ぎかもしれませんね……。

他にも幾つか書こうかなって思っていたのですが、そろそろ時間がなくなってきたので、このあたりで終わろうかと思います。正直言って時間が無さ過ぎて、いつも以上にグタグタな内容になってしまいましたが、まぁ仕方ないですね。発表まで、あと1時間切ってますし。

さて、実際の「SteamBox」構想が一体どういう内容なのか期待半分不安半分で、その時を待ちたいと思います:-)

#追記
あ、書こうと思ってて忘れてましたが、Linux版のSteamクライアントをビッグピクチャーモードで動かした時に内蔵のウェブブラウザーでウェブ閲覧が出来るのですが、そのウェブブラウザーのUAって「Chrome」のバージョン18.xなんですよね。これってCEF使ってるからだと思うのですが、セキュリティ的には修正されてるのかなぁ? 流石に最低限の修正はされているとは思いますけどね。

ついでに書くと、ビッグピクチャーモードを起動した時にでる動画って、「WebM」なんですよね。こういう所もオープンソース愛好家からすると嬉しいところですね:-) PS4もせっかくFreeBSD使うなら積極的にオープンソースを活用、支援してくれたらいいんだけどなぁ。

#外部リンク
2014年、Steam の世界が広がります
http://store.steampowered.com/livingroom/?l=japanese

NVIDIA,KeplerコアのIPライセンス提供ビジネスを開始 - 4Gamer.net
http://www.4gamer.net/games/049/G004964/20130619001/

【後藤弘茂のWeekly海外ニュース】64-bit ARMコアをGPUに統合するNVIDIAのDenver計画の全貌
http://pc.watch.impress.co.jp/docs/column/kaigai/20130606_602510.html

NVIDIA,自社設計のTegra 4搭載Androidタブレット「Tegra Note」を発表。価格は199ドルで,2~3か月以内にパートナー企業から出荷 - 4Gamer.net
http://www.4gamer.net/games/049/G004964/20130919005/

NVIDIA SHIELD | Ultimate Gaming and Portable Entertainment
http://shield.nvidia.com/

NVIDIAの「SHIELD」分解レポート。299ドルの「ゲーム機型Android端末」にはけっこうコストがかかっていた - 4Gamer.net
http://www.4gamer.net/games/198/G019883/20130824005/

おまけ インテルでインタビューに答えるゲイブ氏:-)
Gabe Newell of Valve on Game Development and Perceptual Computing | Intel® Developer Zone
http://software.intel.com/en-us/blogs/2013/06/17/gabe-newell-of-valve-on-game-development-and-perceptual-computing

ぼくのかんがえたすちーむぼっくす その3

前回はSteamBoxのOSについて妄想しました。まとめると以下のような感じですかね。
OS = Ubuntu 12.04 LTS (Ubuntu Coreバージョン)
UI = Steamクライアント (ビッグピクチャーモード固定?)
まず何故Ubuntu 12.04なのかですが、Linuxディストリビューションの中で最もアクティブなユーザー数が多い事と、12.04は長期サポート (LTS) 版である事が理由だと思います。またUbuntu Coreという組み込み向け(といっても、本来の組み込みというより、Windowsのエンベデッド版に近い感じ)で最小構成で利用可能だからだと思います。

UIは正直まだ判りませんが、Valveの発表を見ると「リビングルーム」を強調しているので、もしかしたら通常のSteamクライアントのUIは封印されてビッグピクチャーモードのみで運用するのかもしれませんね。通常のSteamクライアントが使えるとしても、Ubuntu上でSteamクライアントを立ち上げるような感じではなく、ブートして、そのままSteamクライアントへログインするという感じになるかもしれません。感覚としてはChromeOSに近いかもと思っているのですが、正直全然判りません。

ウィンドウシステムは12.04という事でデフォルトの「X.Org Server」の確率が高いでしょうね。今話題の「Mir」あるいは「Wayland」は、商用のシステムで実戦投入するには時期尚早ですしね。12.04はLTSなので「2017年4月」がサポートの最終期限ですし。恐らく2015年くらいには、MirかWaylandも落ち着いてくるでしょうし(適当ですが)。

ちなみにSteamは、この厄介な次世代ウィンドウシステム戦争をどう考えているのかというと、ValveにいろいろとアドバイスをしているプログラマーのRyan C. Gordon(icculus)氏は以下のようにツイッターでコメントしています。

またicculus氏は、この厄介な問題の解決策として、Valveは「SDL2.0」を積極的に使って対処するだろうともコメントしています。
This isn't strictly true. Most of the current titles are using SDL, which uses GLX behind the scenes. One could swap out the game's included SDL library with a build that targets Wayland or Mir, and the game would run without an X server and not know or care that it's not using X11. This can happen without updating the game binaries directly.

For games that don't ship their own copy of SDL (and thus use the one included in the Valve Runtime by default), you don't even have to touch the game's depot at all. Valve just needs to update their Runtime package and it's good to go.

SDL is smart enough to try to use Wayland or Mir first, and if they aren't available, use X11, so one copy of SDL will work on whatever the current system has.

This is an oversimplication; there are probably games that use SDL but will cheat and try to talk to an X server directly for various reasons--but this is rare--and there's at least one big game on Steam that's talking to GLX directly without using SDL. But by and large, switching the Linux Steam library from X11 to Wayland and/or Mir is not only doable, it's probably relatively easy.

--ryan.
要約すると、WaylandかMirかX.orgかと言った厄介な問題はイチイチ考えず、Valveが配布している「Valve Runtime」に含まれているSDL2.0を開発者が使ってくれれば、後はValve Runtimeが面倒見てくれるよと……。もしかしたら大幅に間違っているかもしれませんが、取り敢えずValve Runtimeを使っておけばOKみたいな感じですかね(適当)。

ちなみにValve Runtimeは今の所、以下のようなパッケージ内容になっているようです。これって、Valveが推奨しているゲーム制作用のライブラリー群って事で良いんですかね? 正直、理解不足なんですけど……。ちなみにValveのGitHubでDL可能みたいです:-)
acl libacl1 libacl1-dev
alsa-lib libasound2 libasound2-dev
alsa-plugins libasound2-plugins
atk1.0 libatk1.0-0 libatk1.0-dev
attr libattr1 libattr1-dev
avahi libavahi-common3 libavahi-common-dev libavahi-client3 libavahi-client-dev
bzip2 libbz2-1.0 libbz2-dev
cairo libcairo2 libcairo2-dev
cups libcups2 libcups2-dev
curl libcurl3 libcurl3-gnutls libcurl4-gnutls-dev
cyrus-sasl2 libsasl2-2 libsasl2-dev
d-conf dconf-gsettings-backend
dbus libdbus-1-3 libdbus-1-dev
dbus-glib libdbus-glib-1-2 libdbus-glib-1-dev
dummygl dummygl-dev
e2fsprogs libcomerr2 comerr-dev
expat libexpat1 libexpat1-dev
flac libflac8 libflac-dev
fltk1.1 libfltk1.1 libfltk1.1-dev
fontconfig libfontconfig1 libfontconfig1-dev
freeglut freeglut3 freeglut3-dev
freetype libfreetype6 libfreetype6-dev
gcc-4.6 libgcc1 libstdc++6 libstdc++6-4.6-dev libstdc++6-4.6-pic libgomp1 gcc-4.6-base
gconf libgconf-2-4 libgconf2-dev
gdk-pixbuf libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-dev
glew libglew1.6 libglew1.6-dev
glib2.0 libglib2.0-0 libglib2.0-dev
gmp libgmp10 libgmp-dev
gnutls26 libgnutls26 libgnutls-dev
gst-plugins-base0.10 libgstreamer-plugins-base0.10-0 libgstreamer-plugins-base0.10-0-dev
gstreamer0.10 libgstreamer0.10-0 libgstreamer0.10-0-dev
gtk+2.0 libgtk2.0-common libgtk2.0-0 libgtk2.0-dev
gtk2-engines gtk2-engines
gtk2-engines-murrine gtk2-engines-murrine
gtk2-engines-pixbuf gtk2-engines-pixbuf
heimdal libasn1-8-heimdal libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libroken18-heimdal libwind0-heimdal
jack-audio-connection-kit libjack0 libjack-dev
jasper libjasper1 libjasper-dev
json-c libjson0 libjson0-dev
keyutils libkeyutils1 libkeyutils-dev
krb5 libkrb5-3 libkrb5-dev libk5crypto3 libkrb5support0 libgssapi-krb5-2 krb5-multidev
lcms2 liblcms2-2 liblcms2-dev
libappindicator libappindicator1 libappindicator-dev
libasyncns libasyncns0 libasyncns-dev
libav libavcodec53 libavcodec-dev libavfilter2 libavfilter-dev libavformat53 libavformat-dev libavutil51 libavutil-dev libswscale2 libswscale-dev
libcanberra libcanberra0 libcanberra-dev libcanberra-gtk0 libcanberra-gtk-dev libcanberra-gtk-module
libcap2 libcap2 libcap-dev
libdbusmenu libdbusmenu-glib4 libdbusmenu-gtk4
libexif libexif12 libexif-dev
libffi libffi6 libffi-dev
libgcrypt11 libgcrypt11 libgcrypt11-dev
libgpg-error libgpg-error0 libgpg-error-dev
libgsm libgsm1 libgsm1-dev
libice libice6 libice-dev
libidn libidn11 libidn11-dev
libindicator libindicator7 libindicator-dev
libjpeg6b libjpeg62 libjpeg62-dev
libjpeg-turbo libjpeg-turbo8
libmad libmad0 libmad0-dev
libmikmod libmikmod2 libmikmod2-dev
libnotify libnotify4 libnotify-dev
libogg libogg0 libogg-dev
#libogre-1.7.4 libogre-1.7.4 libogre-dev
libpng libpng12-0 libpng12-dev
libsamplerate libsamplerate0 libsamplerate0-dev
libsdl1.2 libsdl1.2debian libsdl1.2-dev
libsdl2 libsdl2 libsdl2-dev
libsdl2-image libsdl2-image libsdl2-image-dev
libsdl2-mixer libsdl2-mixer libsdl2-mixer-dev
libsdl2-net libsdl2-net libsdl2-net-dev
libsdl2-ttf libsdl2-ttf libsdl2-ttf-dev
libselinux libselinux1 libselinux1-dev
libsm libsm6 libsm-dev
libsmpeg0 libsmpeg0 libsmpeg-dev
libsndfile libsndfile1 libsndfile1-dev
libtasn1-3 libtasn1-3 libtasn1-3-dev
libtheora libtheora0 libtheora-dev
libtool libltdl7 libltdl-dev
libusb-1.0 libusb-1.0-0 libusb-1.0-0-dev
libva libva1 libva-dev
libvorbis libvorbis0a libvorbisfile3 libvorbisenc2 libvorbis-dev
libvpx libvpx1 libvpx-dev
libx11 libx11-6 libx11-dev libx11-xcb1 libx11-xcb-dev libx11-data
libxau libxau6 libxau-dev
libxaw libxaw7 libxaw7-dev
libxcb libxcb1 libxcb1-dev libxcb-shm0 libxcb-shm0-dev libxcb-render0 libxcb-render0-dev libxcb-glx0 libxcb-glx0-dev
libxcomposite libxcomposite1 libxcomposite-dev
libxcursor libxcursor1 libxcursor-dev
libxdamage libxdamage1 libxdamage-dev
libxdmcp libxdmcp6 libxdmcp-dev
libxext libxext6 libxext-dev
libxfixes libxfixes3 libxfixes-dev
libxi libxi6 libxi-dev
libxinerama libxinerama1 libxinerama-dev
libxml2 libxml2 libxml2-dev
libxmu libxmu6 libxmu-dev
libxpm libxpm4 libxpm-dev
libxrandr libxrandr2 libxrandr-dev
libxrender libxrender1 libxrender-dev
libxss libxss1 libxss-dev
libxt libxt6 libxt-dev
libxtst libxtst6 libxtst-dev
libxxf86vm libxxf86vm1 libxxf86vm-dev
mesa libglu1-mesa libglu1-mesa-dev
ncurses libncursesw5 libncursesw5-dev libtinfo5 libtinfo-dev
network-manager network-manager-dev libnm-util2 libnm-util-dev libnm-glib4 libnm-glib-dev
nspr libnspr4 libnspr4-dev
nss libnss3 libnss3-dev
nvidia-cg-toolkit nvidia-cg-toolkit libcg
openal-soft libopenal1 libopenal-dev
openldap libldap-2.4-2 libldap2-dev
openssl libssl1.0.0 libssl-dev
orc liborc-0.4-0 liborc-0.4-dev
p11-kit libp11-kit0 libp11-kit-dev
pango1.0 libpango1.0-0 libpango1.0-dev
pcre3 libpcre3 libpcrecpp0 libpcre3-dev
pixman libpixman-1-0 libpixman-1-dev
pulseaudio libpulse0 libpulse-dev
rtmpdump librtmp0 librtmp-dev
schroedinger libschroedinger-1.0-0 libschroedinger-dev
sdl-image1.2 libsdl-image1.2 libsdl-image1.2-dev
sdl-mixer1.2 libsdl-mixer1.2 libsdl-mixer1.2-dev
sdl-ttf2.0 libsdl-ttf2.0-0 libsdl-ttf2.0-dev
speex libspeex1 libspeex-dev libspeexdsp1 libspeexdsp-dev
sqlite3 libsqlite3-0 libsqlite3-dev
tbb libtbb2 libtbb-dev
tcp-wrappers libwrap0 libwrap0-dev
tdb libtdb1 libtdb-dev
tiff libtiff4 libtiff4-dev
udev libudev0 libudev-dev libgudev-1.0-0 libgudev-1.0-dev
util-linux libuuid1 uuid-dev
x11proto-composite x11proto-composite-dev
x11proto-core x11proto-core-dev
x11proto-fixes x11proto-fixes-dev
x11proto-input x11proto-input-dev
x11proto-kb x11proto-kb-dev
x11proto-randr x11proto-randr-dev
x11proto-render x11proto-render-dev
x11proto-scrnsaver x11proto-scrnsaver-dev
x11proto-xext x11proto-xext-dev
x11proto-xf86vidmode x11proto-xf86vidmode-dev
xft libxft2 libxft-dev
xtrans xtrans-dev
zenity zenity
zlib zlib1g zlib1g-dev
私の浅い解釈だと、Valveは互換性維持の為にオープンソースなライブラリー、とりわけSDL2.0を強く推奨しているようですね。以前もこのブログで書きましたが、SDLのメイン開発者である「Sam Lantinga(Slouken)」氏がValve入りしていますし。

誤解を恐れずSDLを説明すると、オープンソースかつクロスプラットフォームな「DirectX」って説明が一番近いですかね。Direct3DはOpneGLですが、他の例えばキーボードやコントローラーの出入力や2Dのサウンド、フォントの取り扱いとかですか? プログラマーじゃないんで適当で申し訳ないんですが:-(

実際、SDL2.0になってから、コントローラーの取り扱いはかなり改善されているようです。以前のバージョンだと、コントローラーの扱いがあんまり良くなかったので、例えば有名なエミュレーターである「Mednafen」なんかは、SDLから他のライブラリーに1年前くらいから変更してしまいましたし……。実際に最近になってValveはWindows版の「Team Fortress 2」でのコントローラーの取り扱いをSDL2.0に変更していますし。

この事から考えられる事は、ValveはSteamBoxに置いて、PS4のように独自APIを追加するのではなく、逆にSDLやOpenGL、その他のオープンソースなクロスプラットフォームを多用して、クロスプラットフォームでの互換性を最大限に優先するのではないかと思われます。

この事はオープンソース愛好者からすると、嬉しい事ではあるのですが、SteamBoxがPS4のような次世代機と「ガチ」な性能競争ではかなり不利になる事にもなりかねないので、ゲーム機ファンとしては、少し残念ではありますけどね:-( 互換性と性能の両立というのは、なかなかに難しいものです……。

またまた長くなったので一旦終わります。次はハードウェアについて書きたいのですが、正直2時までに間に合うかわかりません……。

#外部リンク
[Phoronix] Valve's Steam Box Will Most Likely Use An X.Org Server
http://www.phoronix.com/scan.php?page=news_item&px=MTMxODc

steam-runtime/README.md at master · ValveSoftware/steam-runtime · GitHub
https://github.com/ValveSoftware/steam-runtime/blob/master/README.md

Mednafen Forum: Development => Mednafen 0.9.25-WIP
http://forum.fobby.net/index.php?t=msg&goto=2694&

2013/09/23

ぼくのかんがえたすちーむぼっくす その2

続きです。さて昨日はSteam Box構想のきっかけについて妄想しましたが、今日は具体的な内容です。Valveが独自のゲームプラットフォーム、あるいは専用ハードウェアを開発するとしたら、どうなるのか? という所まで書きました。個人的には、Windwosベースの組み込みOS「Windows Embedded」を使用したゲームプラットフォームかLinuxをベースにしたゲームプラットフォームのどちらかになるのかなぁと思っていました。

Windows Embeddedを使う利点は既存Windowsゲームの移植が簡単である事です。最近はMacやLinuxといったOSにも対応しマルチプラットフォーム化したSteamですが、元々Windows環境のユーザーが9割以上、Windows専用ゲームがラインナップがほとんどという事実は覆せません。専用ハードウェアへの移行という意味では前回紹介したセガのWindows Embedded 8ベースの次世代業務用ゲーム基板「Nu」のようなプラットフォームの方が簡単だと思います。

一方、過去の互換性は考えず将来的な自立を考えた場合はWindows以外のOSを使ったゲームプラットフォームを1から構築する方が良いかもしれません。折しもソニーのPS4もPS3との互換性を捨ててまでPCベースのハードウェアとオープンソースな汎用OS「FreeBSD」ベースのゲームプラットフォームへと大きく変化しましたし。

ゲームプラットフォームという訳ではないですがグーグルの「Android」や「ChromeOS」もベースとなる部分はLinuxを活用しています。Androidは大半がカーネル部分のみでユーザーランドは純粋なLinux環境とは言えませんが、ChromeOSの方はかなり素? のLinux環境に近いですし。更に言えばAmazonのモバイルOS「KindleOS」はAndroidをベースしているOSですしね。このようなビッグプレイヤーがLinuxを流用して商用プラットフォームを立ち上げるのも時代の流れなのかもしれません。

そう考えればLinuxOSをベースとしたPCアーキテクチャを使ったゲームプラットフォームというのは荒唐無稽な話ではないと思います。特にある意味競合してくるPS4がFreeBSDベースのPCアーキテクチャというのはかなり大きいと思います。それを言ったら、もう1つのライバルであるマイクロソフトの「Xbox One」もPS4と同じPCアーキテクチャを使用していますけど。こちらWindowsベースのOSという違いはありますが:-)

話が長くなりましたが、Valveのゲーム機が他社と同じPCアーキテクチャ(x86)なのは、ほぼ既定路線だと思います。問題はOSですが、こちらもゲイブ氏がLinuxのイベントに出席し、その場でアナウンスをした時点でLinuxベースなのも、ほぼ確定したと思います。本当にコレは大きなターニングポイントになると思います。

ここからが本題。では肝心のOSは具体的にどうなるのか? という疑問。勿論ベースのOSはLinuxですがLinuxといっても様々です。例えばAndroidもカーネル部分はLinuxですが、ウワモノは既存のディストリビューションと互換性がない全く別のOSと言っても差し支えないと思います。同じくグーグルのChromeOSはAndroidよりも既存のディストリビューションと近いですが、こちらもChromeというウェブブラウザーを大幅に拡張したOSで基本的には他ディストリビューションと互換性はないですし。

PS4もカーネル部分は「FreeBSD」ベースですがGPUドライバーはPS4専用で使用するAPIも専用となりそうです。またUI等もソニー独自のモノを使用しており、残念ながら既存のFreeBSDには還元されるようなシロモノでは無さそうです……。その分、ゲーム機として見れば既存のゲーム機と違和感無く使えそうですけどね。

そう考えるとValveがSteamBox(仮称)でLinuxを使用するとしても、グーグルやソニーのように主にカーネル部分に限定してユーザーランドは専用設計のゲーム機らしいモノに仕上げるか、あるいはユーザーランドも既存のディストリビューションと同様な汎用的OSにして、その上で1アプリケーションとしてSteamを動かすか、ChromeOSのように土台は既存ディストリビューションと同じで、直接Steamアプリのみを使えるようにするといった使い方が考えられると思います。

Valveが「ガチ」でPS4やXboxOneと張り合うような据え置きゲーム機戦争に参加する場合、取る選択肢はPS4のようなLinuxカーネルを使用しユーザーランドは専用設計のゲーム機という事になると思いますが、個人的には現時点では望み薄だと思っています。何故かというと、このやり方は強力なライバルとの直接対決という事になり、Valveの体力で、この2社とガチで戦うのはあまりに危険でしょう。ハードウェアの完成度が高いPS4と比べるとValveが用意出来るSteamBoxのスペックは貧弱なものでしょうし、コストも割高になるのは目に見えていますしね。

そんなPS4ですらプラットフォームの仕切りなおしによる互換性切り捨ての弾不足は不安材料ですし、Windwos用ゲームが大半のSteamの場合、弾不足はPS4以上でしょう。噂されるValve自らの新作「HalfLife3」や「Left4Dead3」などがリリースされたとしても、今すぐにハードウェアを買ってまでやろうというユーザーは少ないでしょうし……。

またPS4は汎用的なOpenGLのようなAPIの代わりに独自設計の「GNM」「GNMX」といったAPIを使うとされています。ライバルより強力なハードウェア(XBONEより50%強力なGPUや8GBのGDDR5メモリ)の上にDirect3DやOpenGLのような汎用的なAPIには無いハードの能力を最大限引き出すように設計された独自APIというのはスペックが固定される据え置き機では、かなり魅力的でしょうし。

勿論、ValveもPS4に倣って強力なハードかつ独自のAPIを用意する事も可能でしょうが、いくらx86アーキテクチャとはいえ、GDDR5を8GBのようなカスタマイズを施せばそれだけ汎用性が薄れてコストが跳ね上がってしまいますし、また独自APIはクロスプラットフォームが売りのSteamには断片化の要因になりかねませんしね……。PS4は一機種限定なのでAPIの断片化は問題にはなりにくいでしょうし。まぁ当分はPS3版も併売するでしょうが……。

という事で、少なくとも今回発表されるSteamBoxはPS4やXBONEに対抗するような強力なゲーム機にはならないのではと考えています。UIは既存のSteamクライアントか、あるいは「ビッグピクチャーモード」のみに限定したモノになるのではないかと……。

そうなるとOSは基本的にLinux版クライアントの対象であるUbuntuをベースにしたものが妥当だと思います。以前、私はUbuntuのLTS、現行だと「Ubuntu 12.04」になると予想しました。それも普通のLTSではなく、Ubuntuの組み込み機器向けとも言える「Ubuntu Core」を使用するのではないかと妄想しました。

自慢話で申し訳ないですが、私が書いた後にPhoronixの記事で(中の人の話では)SteamBoxのOSは「Ubuntu 12.04LTSのUbuntu Core」になるのではないかと書かれておりました。Valveの中の人にUbuntu Coreの話をしたら面白いと食いついてきたそうです:-) その後、実際にどうなったかまでは今現在に至るまでリークされていませんが……。

現行のSteam「クライアント」は、Chromiumブラウザー(ChromeのOSS版)を埋め込んで使えるようにした「Chromium Embedded Framework(CEF)」を使用したモノにIEベースのモノから切り替えられているので、基本的には最小限のUbuntu Coreを使用して、CEFを動かせるライブラリー等を追加すればSteamのクライアント「だけ」は動作させる事が可能です。それだけだと基本的に動くゲームは殆ど無いですが後はゲームに必要なライブラリーをパッケージジングしてあげれば、一応ゲームを動かす事は可能になるでしょう。

長くなったので、一旦終わります。残りはSteamの発表までに間に合うかなぁ……。確か火曜日の午前2時発表だったよなぁ……。

ぼくのかんがえたすちーむぼっくす

Valveが来週に何か発表するらしいというニュースが飛び込んできてから約一週間。来週と言っても「どうせ週末だろ」って思っていたのですが、何と明日(月曜日の深夜)には発表するらしいですね。正確に言うと24日(火曜日)の午前2時らしいです。早すぎる……。長々と書くつもりでいたネタでしたが、もう間に合いそうもないですね……。取り敢えず妄想を書けるだけ書いて、その日を迎えたいと思います……。

えーと、まず何でValveがLinux、ひいてはSteam Boxなる独自プラットフォームを今頃になって始めるのだろうかという根本的なお題から妄想してみたいと思います。例の如く、単なる素人のおっさんが適当に考えたネタなので、あまり本気にしないで下さい。それと何故か物語調です……。

昔々「MS(仮名)」という超巨大企業がありました。そのMS社が経営している「MSデパート」のテナントに「スチーム」という玩具店が出店していました。スチームの経営者は元々MS社の社員でMS創業者とも顔馴染みの古参社員です。MSデパートの軒先を借りたスチームの売上はかなり好調でした。MS社との仲も悪くありません。

数年後、MSは新たにゲーム専門店「XB」社を立ち上げ、老舗ゲーム専門店である「NTD」と「PS」社と激しい戦いを繰り広げ始めました。同じくゲームを取り扱っているスチームですが、若年層のゲームファンが客層のゲーム専門店とデパートに買い物にきたついでにゲームを買いにくる客が主力のスチームとは微妙に客層が違っていたので(実際はコアなゲームファンも含まれますが)、それほど影響はありませんでした。

それから更に数年、MS社のライバルである「A」社が、本業であるデパートとは別にコンビニ「i」を立ち上げ、またたく間にシェアを広げていきました。最初は業種違いと、あまり気に留めていなかったMS社ですが、時代の趨勢は巨大なデパートより身近なコンビニへと移り変わりつつあったのです。

これはマズイかもと思い始めたMS社も以前からあったコンビニ「WM」をテコ入れしますが、どうも上手く行きません。そうこうしている内に、A社のコンビニiはまたたく間にシェアを広げて、いまや本業のデパート「M」よりコンビニ「i」を全面に押し出してMS社を追い立てます。また今までは小売りに参入していなかった巨大広告企業「G」も新たにコンビニ業に進出してきました。

デパートでは圧倒的強さを誇るMSですが、コンビニ経営となるとどうも上手く行きません。偉大な創業者も引退してしまい、このままではマズイと思ったMSは思い切った手段に出ます。イマイチ上手くいかないコンビニを立て直すよりも、圧倒的シェアを誇るデパートを若者向きに改装する方針に変更したのです。

その際、利益を出せそうなテナントを追い出し、代わりにMS自らが直営店を出したほうが美味しいのではないかとMSは考えだしました。そうなると困るのは「スチーム」のような老舗テナントです。今までは大家と店子で上手く競合せずに蜜月関係を続けていられたのに、急に一等地から追い出されてしまっては売上がガタ落ちしてしまいます。

ましてスチームが取り扱っている商品の中身は、ほとんどがMS社製の部品を使っているので、MS本家が本気になってゲームを取り扱うようになっては、単なる代理店に過ぎないスチーム(といっても、いくつか自社製品は出してます)に対抗できる術は殆どありません。「このままではジリ貧……」そう考えたスチームの創業者「ゲイブ」氏は万一の対抗策として、MS社のライバルA社のデパートMにもテナントを出すことにしました。デパートMではMS社の製品を使った玩具は取扱えないので、品ぞろえは貧弱ですが仕方ありません。

一応の対抗策をうったスチームですが、どうもA社はデパート経営に本腰ではなく、今流行りのコンビニ経営に全力を注いているようです。デパートMへの進出を果たしたスチームですが、コンビニiはA社自らが選別した商品しか置けずスチームが出店出来る可能性はかなり低そうです。何と言ってもA社は「垂直統合」で業績を伸ばしてきた企業です。顧客もそんなA社の方針を支持しています。そうなるとスチームの付け入る隙は余りないかもしれません……。

またMSの子会社が運営しているゲーム専門店「XB」の経営も順調でライバルのS社が運営している「PS」ともども次世代店舗では取り扱う商品もインディーズやゲームに限らない商品が増えてきてスチームと被ってくる内容が増えてきそうです。とはいっても、ゲーム専門店もコンビニで売られているお手軽な製品にシェアを奪われてはいるのですが……。

来年にはMSデパートでスチームの売上トップである「XP」支店が老朽化により閉鎖される事が確実視されており、徐々に新型店舗へと移行する流れは止められそうにありません……。今はまだMSの軒先を何とか借りられているが、それも何時まで続くか判りません。体力のある今のうちに新たな手を打たなければスチームの未来は暗いものになるかもしれません。

そこでゲイブ氏は賭けにでます。XP支店が閉鎖される前に新たなデパートへの進出を決めました。ただし新しいデパートは新興住宅地にあり、運営している企業も歴史が浅く知名度も資本力も乏しい「U」社です。またA社と同様、スチームが多く取り扱っているいるMS社の部品は規格が違うので使う事が出来ません。ほぼ1からの立ち上げとなってしまいます。市場シェアで言えばMSが90%以上、Aが8%弱、Uに至っては1%が精々でしょう。これでは苦労して新店舗を立ち上げても厳しい未来しかありません。しかしUは他社と比べ、テナント経営に関してあまり縛りが無いので労力は掛かりますが、一度店舗を作り上げればその後の経営は自由に行えそうです。

これと並行してゲイブ氏はデパートのテナント以外の出店も視野にいれていました。店舗の形態がどのようになるかは未だ判りませんが、おそらく何処かの軒先を借りるのではなく、独立した店舗になるのではないかと思われます。その際に考えられる策は少なくとも2つ。

一つは以前より距離があるとはいえ、スチームが取り扱っている商品と互換性があるMSの土地を借りて、店舗自体は自前で作る策。具体的に言うと「Windows Embedded」のライセンスを購入して、Windows OSベースのゲームプラットフォームを構築する事。最近でもセガがWindows Embedded 8ベースの次世代業務用ゲーム基板「Nu」 を発表しています。まぁアーケード向けと家庭向けという違いはありますが、スチームで取り扱っているゲームの大半がWindows向け、というかDirectXベースであるのを考えれば、そう悪い策でも無いと個人的には思います。デメリットとしては、結局マイクロソフトの呪縛から永遠? に解き放たれる事がない事ですかね。

もう一つの策としてはU社のテナント出店でノウハウを蓄積しつつ、新しい土地を取得して店舗も自前で作ってゲーム専門店? を運営していく策。具体的には、Ubuntuをベースとして、スチーム自らが新しいゲームプラットフォームを運営していくって感じですかね。一見すると荒唐無稽な話ですが、実はそうおかしい話でもないかなと個人的には思っています。長くなったので一旦終わります。

#追記
今調べたら、スチームのサービス開始より初代XBOXの発売の方が早かったですね……。……この物語はフィクションで(ry

#外部リンク
セガ,次世代アーケードゲーム基板「Nu」を発表。採用タイトル第1弾は「初音ミク Project DIVA Arcade Future Tone」に - 4Gamer.net
http://www.4gamer.net/games/999/G999902/20130904019/

2013/09/16

LinuxCon 2013 でゲイブ・ニューウェル氏が基調演説

お久しぶりです。せっかくの3連休だっていうのに台風のせいで全国的の大荒れでしたね。明日から仕事の人は後片付けが大変そうですね……。

さて、寝る前に一言だけ。現在開催中の "LinuxCon 2013" で、Steamで有名なValveの設立者ゲイブ・ニューウェル氏が基調講演を行うそうです。開催は現地時間で "9:25am - 9:45am" らしいので、もう終わっちゃったのかな? まぁ明日の朝迄には何らかの情報が得られるかもしれませんね。そろそろ噂の "Steam Box" について語ってくれないですかねぇ?

#追記
コメント欄で教えてもらった通り、来週に何か発表するらしいですね:-) それまでに自分なりの妄想を書こうかと思っているのですが、久々に書こうと思うと、なかなか上手くまとめられないものですね:-( 週末には何とか駄文を書き終わりたいと思っているのですが……。

#YouTube
Gabe Newell at LinuxCon 2013 9/16/2013 - YouTube
http://youtu.be/Gzn6E2m3otg



取り敢えず、日本語の記事をリンクに追加しときます。

#外部リンク
LinuxCon North America/CloudOpen North America: Keynote: Linux and Gaming - Gabe Newell,...
http://linuxconcloudopenna2013.sched.org/event/f010bb8f23da1c6291fd60584cac0c04#.UjcNAbyOy3R

ゲイブ・ニューウェル - Wikipedia
ゲイブ・ニューウェル - Wikipedia

ValveがLinuxベースのゲーム専用機SteamBoxを発売か?CEO曰く: ゲームの未来はLinuxにあり | TechCrunch Japan
http://jp.techcrunch.com/2013/09/17/20130916valve-ceo-gabe-newell-says-linux-is-the-future-of-gaming-hints-at-steambox-announcement/

2013/07/21

次世代ゲーム機はOS戦争? その2

前回は主にハードウェアとOSについて書いたので今回はグラフィックの妄想話を書きたいと思います。なお今回は未だに詳細が不明な「Steam Box」についても触れたいと思います。あくまで素人の妄想話ではありますが:-( Linux版Steamクライアントの話をした時に、大雑把に現状のゲーム機のグラフィックについて以下のように説明しました。その際、Wiiを省きましたが今回もWii Uは除外します。
PC (Windows) = DirectX(Direct3D)
Xbox360 = DirectX(Direct3D 9+)
PS3 = LibGCM, OpenGL ES(PSGL)
「DirectX(Direct3D)」はWindowsで使われている3DグラフィックAPIですね。まぁDirectXは3Dに限定されている訳ではないですけど。現状のマルチなゲームタイトルの場合、ベースとなるプラットフォームはWindows PCですから、基本的にWindowsと同じ技術を使っているXbox360が移植性という意味では一番有利な訳ですね。

次にPS3ですが、これはGPUを「直接叩く」為の「LibGCM」とオープンなグラフィックAPIである「OpenGL」のサブセット「OpenGL ES」をベースにした独自規格「PSGL」の二本立てだったようです。ただ性能重視の「LibGCM」は万人が使うには難しすぎるし、比較的簡単に使えるはずの「PSGL」も、OpenGL ES 2.0の策定が遅れに遅れてしまった末の独自拡張版の為に、せっかくの汎用性という面ではあまり役に立たない上に性能面でも若干? 不利になってしまうという二重苦に陥ってしまい、ゲーム開発という面でライバルであるXbox 360との差は少なからずあったようです。この反省点を踏まえた上でソニー陣営はPS4のアーキテクチャを熟考してきたみたいですね。で、現状判る範囲で次世代機のグラフィックについて纏めると以下のようになるようです。
PC (Windows 8) = DirectX(Direct3D 11.2)
Xbox One = DirectX(Direct3D 11.2)
PS4 = GNM, GNMX API
Windows8とXbox Oneは最新の「DIrectX 11.2」で統一され、Xbox360と最新のWindows PCでバージョンが別れていた断片化が修正されるようです。流石に360のDirectX 9世代を何時までも引っ張る訳にもいきませんしね。移植性がますます上がりそうです。

一方PS4ですが、新たに「GNM」「GNMX API」という2つのグラフィック技術に切り替わるようです。「GNM」というのが、所謂ハードウェアを「直接叩く」為のモノで、「GNMX API」というのはDirect3DやOpenGLと似た機能を持つソニー独自のグラフィックAPIらしいです。基本的にはPS3の「LibGCM」と「PSGL」の関係に似ているようですが、独自色が強かったPS3の技術と比べるとPS4の技術は「Windows PC」からの移植のし易さを念頭に置いているようですね。

HWを直接叩くGNMが、どの程度の難易度か判りませんが、少なくともGNMX APIはDirect3D 11 APIとの互換性を重視した作りみたいです。ちなみに最新のOpenGL4.x世代も、だいぶDirect3Dを意識した作りになっており「OpenGL4.xはDirectX 11のスーパーセット」と言い切っている関係者もいるらしいです:-P

だったら敢えて独自のAPIを導入しなくても、OpenGL4.xで良いんじゃないかと思うのですが、PS4のような1機種限定のコンソールの場合、機種限定の強みを生かして簡易なAPIでも出来る限りハードウェアの能力を使い切りたいのかもしれませんね。あまりやり過ぎると次世代機の選定で、また振り出しに戻りかねないリスクがある訳ですが……。

それに汎用性重視で他企業の思惑も絡んでくるOpenGL系より、コントロールし易い独自APIの方が何かと便利っていうのもあるのかも。特にスマホのように2,3年でサヨナラみたいな寿命の短い製品と比べると、据え置きゲーム機というのは5年以上の製品寿命を保証しなければなりませんし。GPGPU的な使い方も考えているようですし、その辺り一社で好き勝手出来る環境というのは数年後には大きなメリットになっているかもしれませんしね。逆にデメリットの方が多くなるかもしれませんが……。まぁオープンな規格であるOpenGLからパクる移植するのは、そんなに難しくもないでしょうしね。この辺りUbuntuのMirとWaylandの関係に似ているかもしれません。

ちなみに肝心のWindows PC(Direct3D 11)からの移植性ですが噂に違わず高いそうです。ソニーの用意している開発環境がWindowsからの移植を意識して作られているらしく、インディーズゲームなら数週間で、大作でも数ヶ月で移植できるレベルだそうです。まぁまだ手探りな部分もあるので、移植できてもパフォーマンス的に問題がある場合も多いらしいですが、この辺りは時間が経てば、いずれ解決されてくると思いますしね。長くなったので、一旦終わります。Steam Boxについては次回あたり。お約束ですが、ただの素人のおっさんの妄想話です。くれぐれも鵜呑みにしないようお願い致します:-P

#追記
PS4のGNMですが、以下の説明を読むとハードウェアを「直接叩く」レベル迄は認可していないみたいですね。AMDというかRadeonの一定レベル以上の機種となら最低限の互換性は保たれるレベルみたいですかね。それならば「PS5」あるいは「PS4.x」といった次機種が出ても互換性という点では何とかなりそうですね。
この点については「ドライバソフトウェアが行っているレベルではない」との説明がなされているが,おそらくは「AMD Intermediate Language」(IL)レベルのところまでだと思われる。昔のことを覚えているユーザーのために言い換えると,「Close To Metal」(CTM)レベル。NVIDIAのGPUでいうところの「PTX」レベルまでということだ。

そして,もしそうであるなら,これは将来――“PS5”のような次世代機や,“PS4.1”のような半次世代機――への互換性維持に向けた配慮と,ネイティブ性能感を両立させるための,絶妙な落としどころだといえる。あまりに“ネイティブすぎる”と,将来の製品との互換性が取りにくくなるからだ。

#追記
Xbox Oneについてですが、DirctX11.2でWindows PCからの移植性はかなり高いとは思いますが、実際にはハードウェアのスペックによりベタ移植では快適なスピードでゲームが動作しない可能性もありそうですね。XBONEも特殊なメモリが搭載されているので、それを上手く使いこなせれば、かなりのスピードが出せそうですが、やはりある程度のチューニングが必要になるでしょうし……。

それに以下の説明によると、OS自体がかなり特殊なので、搭載メモリがPS4と同じ8GB(DDR3ですが)だけど、実際に使える容量はもっと制限されてしまいそうですしね……。その分、Windows8ベースのアプリを動かしたりはし易そうですが……。ゲーム用OS(Xbox)というのが、PS4のようにローレベルなアクセスを許可してくれるなら、チューニングが必要になる代わりに速度は稼げそうですけどね。
そして「言っても怒られない内容」としてXbox OneにはXboxとWindows8の2つのOSが共存していて、相互に切り替えながら動作できると紹介。「基本的にはWindows8用のゲームやアプリを作って貰えれば、かなりの互換性を持った状態でXbox OneのWindows8モードで動作できる予定です。実際にSkypeなどのアプリはこの仕組みで動作しています」とのこと。XboxとWindowsの2つのOSはかなり近しい存在となってきましたが、Xbox Oneでは更に踏み込んだ内容になりそうです。

#外部リンク
西川善司の3DゲームファンのためのPS3アーキテクチャ講座
http://game.watch.impress.co.jp/docs/20060329/3dps3.htm

4Gamer.net ― [GDC 2013]PS4セッションレポート(1)ハードウェアのさらなる詳細が判明。「グラフィックスタスクとGPGPUタスクの同時実行」に対応
http://www.4gamer.net/games/990/G999024/20130329015/

Microsoft,「Xbox One」にも使われるDirectX 11.2の情報を公開 - 4Gamer.net
http://www.4gamer.net/games/033/G003329/20130627026/

Microsoftの開発者向けイベント「Build 2013」で見えたWindows 8.1。「DirectX 11.2」とUI面の改良がポイントに - 4Gamer.net
http://www.4gamer.net/games/126/G012689/20130705055/

How The Crew was ported to PlayStation 4 • Articles • Eurogamer.net
http://www.eurogamer.net/articles/digitalfoundry-how-the-crew-was-ported-to-playstation-4

[E3 2013]PS4版「Warframe」はグラフィックス,操作性ともに文句なし。これは有力なローンチタイトルになりそうだ - 4Gamer.net
http://www.4gamer.net/games/172/G017216/20130614107/

4Gamer.net ― [SIGGRAPH]Khronos,OpenGL 4.1を発表。カンファレンスからその詳細を確認する
http://www.4gamer.net/games/107/G010729/20100729091/

4Gamer.net ― OpenGLはDirectX 11を超え,OpenGL ESは据え置き型ゲーム機と同等以上に。Khronosの最新動向レポート
http://www.4gamer.net/games/107/G010729/20121015050/

【GTMF2013】ゲーム開発者がマイクロソフトと付き合うべき7つの理由―Xbox Oneの情報も / GameBusiness.jp
http://www.gamebusiness.jp/article.php?id=8325

#内部リンク
BLOG.MINAWA.NET: Steam & Source on the Linuxの可能性
http://blog.minawa.net/2010/03/steam-source-on-linux.html

次世代ゲーム機はOS戦争?

最近、一ヶ月に一回くらいしか投稿しなくなってますが生存報告代わりに今月も書いておこうかと思います:-P さてタイトルにあるようにソニーとマイクロソフトともに次世代機となる「PS4」と「Xbox One」が正式に発表されましたね。

まずはハードウェアですが、両機ともまさかの「APU」! 以前の噂でPS4は「Orbis」というコードネームと共にAMDのAPUになるかもっていう話が出ていたのですが、まさかMSの次世代機も同じAPUになるとは……。

えぇ私も次世代機はAMDのAPUが主役になるなっていう根拠のない自信はありました。まぁその予想はMSどころかソニーの新型でもなく「Valve」の「Steam Box」だったんですけどね! この辺りの妄想話は以前たっぷりと書いたので興味がある方は暇な時にでもご覧下さい:-P

正直自慢話になりますが、SteamクライアントのLinux対応からLinuxベースの独自OS? 更にオリジナルなハードウェア参入? までのクダリは自分でもかなりイケてる考察(妄想)だったと今でも思いますね。私がSteamのLinux参入の可能性についての駄文を書いたのって2010年の3月ですよ? その時にValveの独自ハードウェアの可能性に触れていますし。

そのハードウェアのアーキテクチャがAMDのAPUになるかもって書いたのが2011年の5月です。事の真相を知っている人以外でここまで書いてた人ってなかなか居ない気がします。ウザくて申し訳ないですが妄想ブログ書きを長年やっても、ここまで予想が的中するってのは本当に稀な事なんです:-P まぁだから何だって話ではありますけどね:-( ちなみにPHS関連の妄想とPandora!のストックOS辺りの妄想も個人的にはかなり満足できる考察でした。

そんな感じでハードウェアについては似通っているって事がわかりましたが、問題はソフトウェア、言い換えれば「OS」ですね。本業がOS屋のMSのゲーム機としては当たり前ながら「Windows」ベースのOSです。といってもXbox Oneは有る意味、家電の領域にも入っているみたいなので厳密に言うと3つのOSが共存しているみたいです。

一方、ソニーのPS4ですが、一部の報道によるとBSD、それも「FreeBSD」ベースのOSが使われているのではないかとの情報が……。いやぁこれも驚いた。PS3もPS Vitaも「BSDベース」ではないかという情報は聞いたことがあったのですが一部に使われているだけで大半はソニーの内製なのではないかという噂でしたし。

PS4は「FreeBSD 9.0」ベースで開発機らしい写真では「GRUB2」からブートしているのも確認されているようです。まさに「PC」って感じですね:-P 真相はまだわかりませんが某フォーラムのコメントを見るとこの写真をリークした人物は以前にもリークをした事があるらしいので信ぴょう性はかなり高いのではないかと思います。PS3と違い、PS4はx86ベースなので基本的には普通のPCと同じですし、x86上ならばFreeBSDはかなり安定したOSですしね。

個人的にはFreeBSDより、Linuxベースのゲーム機を期待していたのですが元々BSDに精通している技術者が多い企業ですしライセンス的にも企業に「優しい」と取れない事もないですからね……。この辺りは個人によって印象は違うでしょうが……。

ここまで来ると是非ともLinuxを使った据え置き型ゲーム機の姿を見てみたいですね。噂によるとグーグル自らがAndroidベースの据え置き?ゲーム機(というかエンタテインメント向け)を開発しているらしいですが、正直この2つの据え置き機と張り合うには(現状の)Androidでは力不足は否めません。まぁグーグルからしたら強力な据え置きゲーム機って考え方自体が時代遅れなのかもしれませんけどね……。となると、やはりValveのSteam Box構想に期待するしかないですかね。残念ながら任天堂のWii Uも、この2つの次世代機と比べるのは厳しいですしね……。長くなりそうなので一旦終わります。

#外部リンク
Playstation 4のOSはFreeBSD 9.0ベース | 開発・SE | マイナビニュース
http://news.mynavi.jp/news/2013/06/25/037/index.html

【後藤弘茂のWeekly海外ニュース】Microsoftが次世代ゲーム機「Xbox One」のベールを剥いだ
http://pc.watch.impress.co.jp/docs/column/kaigai/20130522_600334.html

#内部リンク
BLOG.MINAWA.NET: Steam & Source on the Macについて
http://blog.minawa.net/2010/03/steam-source-on-mac.html

BLOG.MINAWA.NET: Steam & Source on the Linuxの可能性
http://blog.minawa.net/2010/03/steam-source-on-linux.html

BLOG.MINAWA.NET: Steam & Source on the Linuxの可能性 #02
http://blog.minawa.net/2010/03/steam-source-on-linux-02.html

BLOG.MINAWA.NET: Steam & Source on the Linuxの可能性 #03
http://blog.minawa.net/2010/03/steam-source-on-linux-03.html

BLOG.MINAWA.NET: Steam & Source on the Linuxの可能性 #04
http://blog.minawa.net/2010/03/steam-source-on-linux-04.html

BLOG.MINAWA.NET: Steam & Source on the Linuxの可能性 #05
http://blog.minawa.net/2010/03/steam-source-on-linux-05.html

BLOG.MINAWA.NET: SteamがLinuxベースのゲーム機を計画中? しかも……
http://blog.minawa.net/2011/05/steamlinux.html

BLOG.MINAWA.NET: SteamとFusion APUの可能性
http://blog.minawa.net/2011/05/steamfusion-apu.html

BLOG.MINAWA.NET: Steam Box の謎
http://blog.minawa.net/2012/03/steam-box.html

BLOG.MINAWA.NET: Steam Box の謎 その2
http://blog.minawa.net/2012/03/steam-box-2.html

BLOG.MINAWA.NET: Steam Box の謎 その3
http://blog.minawa.net/2012/03/steam-box-3.html

BLOG.MINAWA.NET: 予想的中?
http://blog.minawa.net/2012/03/blog-post_29.html

BLOG.MINAWA.NET: Steam Box の謎 その4
http://blog.minawa.net/2012/03/steam-box-4.html

BLOG.MINAWA.NET: Steam Box の謎 その5
http://blog.minawa.net/2012/04/steam-box-5.html

BLOG.MINAWA.NET: Orbisの謎
http://blog.minawa.net/2012/04/orbis.html

BLOG.MINAWA.NET: Steam Box の謎 その6
http://blog.minawa.net/2012/04/steam-box-6.html

BLOG.MINAWA.NET: ValveがLinux版Steamを正式にアナウンス
http://blog.minawa.net/2012/07/valvelinuxsteam.html

2013/06/18

GOG.com で Torchlight 無料プレゼント実施中!

ご無沙汰です。もうすっかり夏みたいな気温になってしまいましたねぇ。まだ6月中旬だっていうのに……。まぁいいや、タイトル通りですが、現在GOG.comで "Torchlight" が無料で手に入るキャンペーンセールを実施中なようです。しかも、煩わしい "DRM" が一切掛かっていないバージョンです! 私は以前、The Humble Indie BundleでDRM無しバージョンを購入しているのですが、一応貰っておきました:-P

余談ですが、GOG.comも少ないながら、日本語でプレイ出来るゲームを取り扱っているのですね。調べただけでも、11個あるみたいです。"Alan Wake" といった新し目なゲームの他に "Raiden Legacy" なんてレトロなゲームまであるみたいです。まぁ数は少ないですけどね。これから段々と増えてくれると有難いのですが……。

他にも "2013 #NoDRM SUMMER SALE" と銘打たれたDRMフリーなゲームがセール価格で売られているので、気になる方は是非GOG.comをチェックしてみて下さい。ちなみにTorchlightのプレゼントは48時間限定ですので、出来るだけお早めに……。

#外部リンク
GOG.com
http://www.gog.com/

News - #NoDRM Summer: Get Torchlight FREE for 48 hours! - GOG.com
http://www.gog.com/news/nodrm_summer_get_torchlight_free_for_48_hours

Raiden Legacy for download $9.99 - GOG.com
http://www.gog.com/gamecard/raiden_legacy

2013/05/18

CodeWeavers の CrossOver がキャンペーン中

今まで何回か採り上げている Windows API 互換レイヤー "Wine" をベースにした CodeWeavers の "CrossOver" が、キャンペーン期間中みたいです:-P 気になるお値段ですが、1年間のサブスクリプションが付いて "17ドル" らしいです。通常で買うと "59.95ドル" ですから1/3以下のお値段みたいです:-P

CodeWeaversは、年に何回もセールを行なっているので値引き自体は、そう珍しくないですが、ここまで安いのはそう無いと思います。まぁ去年の10月に、同じく1年間のサブスクリプション付きで "無料" っていう破格のキャンペーンを行なってはいるのですが……。あれは4,5年に一度くらいの周期っぽいので、もう暫くは無さそうですしね。勿論、方針が変更されれば早期にもあり得る話ではありますけど……。

最近の円安傾向を鑑みると、この先も当分円高になる感じが無さそうなので、CrossOverに興味がある方が居たら、この機会に入手しておくのも悪くはないと思います。まぁ、ぶっちゃけWineの比較的新しいバージョンの安定版に1年間のサポートを付けたって感じなので、そこまで必要って訳でもないんですけどね:-( とはいえ、CodeWeaversはWineの開発者を多く抱えるオープンソースソフトウェア開発のある意味でお手本と言えるべき企業なので、お布施という意味も込めて支援するっていうのもアリなのではないかと個人的に思っています。

あ、そうだ。 Wineに無い機能として "Bottle" という概念があります。要は各アプリケーション毎に専用のインストール先を用意して、簡単にインストールと削除を行えるようにする機能なのですが、使ってみると、結構便利でWineそのものよりも、メンテナンスが簡単だと思っています:-P

最近のWineは、かなり進化していて、DRM関係以外のトラブルはあんまり無い感じがしてます。まぁ一部のゲームしか試していないので、実際には、どのくらいの確率で動作しているのかは判りませんけど……。ちなみにセール期間は、現地時間で5月20日の朝9時までみたいなんで、欲しい方はお早めに……。

#追記
買い方ですが、購入時にプロモーションコードである "HB17" を適用させれば割引されると思います(多分)。

#外部リンク
Run Windows on Mac and Linux, easily and affordably
http://www.codeweavers.com/

#内部リンク
BLOG.MINAWA.NET: DosBoxとGOG.comのイイ関係
http://blog.minawa.net/2011/12/dosboxgogcom.html

BLOG.MINAWA.NET: CrossOver Mac/Linux が50%オフ
http://blog.minawa.net/2012/03/crossover-maclinux-50.html

BLOG.MINAWA.NET: Wine 1.4 & CrossOver 11 リリース!
http://blog.minawa.net/2012/03/wine-14-crossover-11.html

BLOG.MINAWA.NET: CodeWeavers CrossOver 無料キャンペーン?
http://blog.minawa.net/2012/08/codeweavers-crossover.html

BLOG.MINAWA.NET: CodeWeavers の CrossOver が一日限定で無料配布
http://blog.minawa.net/2012/10/codeweavers-crossover.html

BLOG.MINAWA.NET: 最近のGOG.comがグッド・オールド・ゲームズじゃない件
http://blog.minawa.net/2013/01/gogcom.html